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.
| 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 |
| 12952 |
adomani author:adomani |
test: length statistics |
---
[](https://gitpod.io/from-referrer/)
|
WIP
test-ci
|
124/0 |
.github/workflows/mathlib_stats.yml,.github/workflows/ml_stats_label.yaml,scripts/mathlib_stats.sh |
3 |
9 |
['github-actions'] |
nobody |
501-7976 1 year ago |
529-67056 1 year ago |
0-0 0 seconds |
| 12984 |
adomani author:adomani |
Adomani/periodic reports dev custom action |
---
[](https://gitpod.io/from-referrer/)
|
WIP
test-ci
|
366/0 |
.github/workflows/mathlib_stats.yml,.github/workflows/ml_stats_label.yaml,scripts/count_decls.lean,scripts/mathlib_stats.sh |
4 |
n/a |
['github-actions'] |
nobody |
501-7975 1 year ago |
unknown |
unknown |
| 9469 |
dupuisf author:dupuisf |
feat: maximum modulus principle for functions vanishing at infinity |
This PR adds versions of the maximum modulus principle for functions vanishing at infinity that parallel those we already had for functions over a bounded set. These will have applications in e.g. norm interpolation.
---
[](https://gitpod.io/from-referrer/)
|
awaiting-author
t-analysis
|
71/0 |
Mathlib/Analysis/Complex/AbsMax.lean |
1 |
8 |
['dupuisf', 'j-loreaux'] |
nobody |
501-7972 1 year ago |
695-49218 1 year ago |
12-86009 12 days |
| 9510 |
eric-wieser author:eric-wieser |
feat(Analysis/Calculus/DualNumber): Extending differentiable functions to dual numbers |
This shows that this operation preserves multiplication and composition
---
[](https://gitpod.io/from-referrer/)
|
WIP
awaiting-CI
t-analysis
t-algebra
label:t-algebra$ |
119/0 |
Mathlib/Analysis/Calculus/DualNumber.lean |
1 |
4 |
['github-actions'] |
nobody |
501-7972 1 year ago |
706-82403 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)`
[](https://gitpod.io/from-referrer/)
|
awaiting-author
t-algebra
new-contributor
label:t-algebra$ |
5/0 |
Mathlib/Algebra/Group/Basic.lean |
1 |
3 |
['eric-wieser', 'github-actions', 'kim-em'] |
nobody |
486-363 1 year ago |
486-363 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).
---
[](https://gitpod.io/from-referrer/)
|
WIP
t-meta
RFC
|
24/0 |
Mathlib/Tactic/ComputeDegree.lean |
1 |
0 |
[] |
nobody |
485-83911 1 year ago |
485-83911 1 year ago |
0-0 0 seconds |
| 13163 |
erdOne author:erdOne |
feat(.vscode/module-docstring.code-snippet): Prevent auto-complete from firing on `do` |
---
[](https://gitpod.io/from-referrer/)
|
awaiting-author
t-meta
|
5/0 |
.vscode/module-docstring.code-snippets |
1 |
5 |
['erdOne', 'grunweg', 'robertylewis', 'trivial1711'] |
nobody |
485-82225 1 year ago |
485-82225 1 year ago |
50-50444 50 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.
---
[](https://gitpod.io/from-referrer/)
|
WIP
awaiting-author
|
144/0 |
Mathlib/GameTheory/FairDivision/Discrete/Basic.lean |
1 |
9 |
['Shreyas4991', 'eric-wieser', 'github-actions'] |
nobody |
471-53557 1 year ago |
471-53557 1 year 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`.
---
[](https://gitpod.io/from-referrer/)
|
awaiting-author
new-contributor
t-data
|
90/0 |
Mathlib/Data/Nat/PartENat.lean |
1 |
3 |
['erdOne', 'github-actions', 'urkud'] |
nobody |
468-83562 1 year ago |
468-83562 1 year ago |
0-0 0 seconds |
| 15121 |
Eloitor author:Eloitor |
feat: iff theorems for IsSplitEpi and IsSplitMono in opposite category |
---
[](https://gitpod.io/from-referrer/)
|
awaiting-author
t-category-theory
new-contributor
|
40/0 |
Mathlib/CategoryTheory/EpiMono.lean |
1 |
3 |
['github-actions', 'joelriou', 'mattrobball'] |
nobody |
468-46507 1 year ago |
500-5766 1 year ago |
7-3203 7 days |
| 15895 |
madvorak author:madvorak |
feat(Computability/ContextFreeGrammar): mapping between two types of nonterminal symbols |
---
[](https://gitpod.io/from-referrer/)
|
WIP
t-computability
|
172/0 |
Mathlib/Computability/ContextFreeGrammar.lean |
1 |
43 |
['YaelDillies', 'github-actions', 'madvorak'] |
nobody |
467-63300 1 year ago |
472-10409 1 year ago |
1-43047 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
[](https://gitpod.io/from-referrer/)
|
WIP
t-meta
|
26/15 |
Mathlib/Tactic/CategoryTheory/BicategoryCoherence.lean,Mathlib/Tactic/CategoryTheory/Coherence.lean |
2 |
3 |
['github-actions', 'mathlib4-dependent-issues-bot', 'mergify'] |
nobody |
460-70166 1 year ago |
461-29014 1 year 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.
[](https://gitpod.io/from-referrer/)
|
awaiting-author
t-topology
t-algebra
label:t-algebra$ |
57/0 |
Mathlib/Topology/Algebra/ConstMulAction.lean |
1 |
9 |
['ADedecker', 'adri326', 'j-loreaux', 'jcommelin'] |
ADedecker assignee:ADedecker |
459-62158 1 year ago |
611-74896 1 year ago |
55-82183 55 days |
| 10796 |
mcdoll author:mcdoll |
feat(Tactic/Positivity): non-negativity of functions |
---
This makes the `Finset.sum` and `integral_nonneg` extensions even more useful.
[](https://gitpod.io/from-referrer/)
|
WIP
t-meta
|
27/0 |
Mathlib/Tactic/Positivity/Core.lean |
1 |
1 |
['YaelDillies'] |
nobody |
420-7139 1 year ago |
661-85608 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`?
[](https://gitpod.io/from-referrer/)
|
WIP
t-combinatorics
new-contributor
|
24/0 |
Mathlib/Combinatorics/SimpleGraph/Map/Finite.lean |
1 |
11 |
['awueth', 'github-actions', 'jcommelin', 'kim-em', 'urkud'] |
nobody |
417-65509 1 year ago |
417-65509 1 year ago |
31-44440 31 days |
| 20459 |
Ruben-VandeVelde author:Ruben-VandeVelde |
chore: fix names of roots_C_mul_X_{add,sub}_C_of_IsUnit |
---
[](https://gitpod.io/from-referrer/)
|
awaiting-author
t-algebra
label:t-algebra$ |
11/5 |
Mathlib/Algebra/Polynomial/FieldDivision.lean,Mathlib/Algebra/Polynomial/Roots.lean |
2 |
2 |
['eric-wieser', 'github-actions'] |
nobody |
339-63595 11 months ago |
339-63595 11 months ago |
4-64422 4 days |
| 18461 |
hannahfechtner author:hannahfechtner |
feat: left and right common multiples mixins |
add mixins for left and right common multiples. These carry the data of what factors are used to create the common multiples
---
[](https://gitpod.io/from-referrer/)
|
awaiting-author
t-algebra
new-contributor
label:t-algebra$ |
78/0 |
Mathlib/Algebra/Group/Defs.lean |
1 |
13 |
['github-actions', 'hannahfechtner', 'jcommelin', 'kbuzzard', 'kim-em', 'trivial1711'] |
nobody |
328-3644 10 months ago |
328-3644 10 months ago |
69-35596 69 days |
| 21384 |
alreadydone author:alreadydone |
experiment: make submodule quotient reducibly defeq to additive group quotient |
---
[](https://gitpod.io/from-referrer/)
|
t-algebra label:t-algebra$ |
1/1 |
Mathlib/LinearAlgebra/Quotient/Defs.lean |
1 |
1 |
['github-actions'] |
nobody |
313-61211 10 months ago |
313-61214 10 months ago |
0-0 0 seconds |
| 15355 |
adomani author:adomani |
feat: MiM PR report |
---
[](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 |
311-771 10 months ago |
unknown |
unknown |
| 21495 |
alreadydone author:alreadydone |
experiment: reducible HasQuotient.quotient' |
---
[](https://gitpod.io/from-referrer/)
|
WIP
bench-after-CI
|
2/0 |
Mathlib/Algebra/Quotient.lean |
1 |
1 |
['github-actions'] |
nobody |
310-81261 10 months ago |
310-81261 10 months ago |
0-200 3 minutes |
| 21496 |
alreadydone author:alreadydone |
experiment: make SetLike.coe reducible |
---
[](https://gitpod.io/from-referrer/)
|
t-data
bench-after-CI
|
1/1 |
Mathlib/Data/SetLike/Basic.lean |
1 |
1 |
['github-actions'] |
nobody |
310-81030 10 months ago |
310-81030 10 months ago |
0-0 0 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.
---
[](https://gitpod.io/from-referrer/)
|
awaiting-author
t-algebra
new-contributor
label:t-algebra$ |
43/0 |
Mathlib/Algebra/BigOperators/Group/Finset/Basic.lean |
1 |
1 |
['github-actions', 'j-loreaux'] |
nobody |
297-41651 9 months ago |
297-41651 9 months ago |
13-33168 13 days |
| 20636 |
eric-wieser author:eric-wieser |
feat: multiplication of intervals in rings |
---
[](https://gitpod.io/from-referrer/)
|
awaiting-author
t-algebra
label:t-algebra$ |
36/1 |
Mathlib/Algebra/Order/Interval/Basic.lean |
1 |
16 |
['Timeroot', 'YaelDillies', 'eric-wieser', 'github-actions'] |
nobody |
284-54568 9 months ago |
320-58345 10 months ago |
17-17852 17 days |
| 22648 |
adomani author:adomani |
test: lean implementation decl diff quandle |
---
[](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 |
281-10327 9 months ago |
282-66013 9 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.
[](https://gitpod.io/from-referrer/)
|
WIP
t-differential-geometry
|
50/0 |
Mathlib/Geometry/Manifold/Diffeomorph.lean |
1 |
1 |
['github-actions'] |
nobody |
278-50400 9 months ago |
278-73144 9 months ago |
0-0 0 seconds |
| 23042 |
joneugster author:joneugster |
feat(CategoryTheory/Enriched/Limits): add HasConicalLimitsOfSize.shrink |
---
Note: I've marked this "WIP" because I'm not yet sure when this will be needed and I'd probably put the PR on the queue once I've created some follow-up needing it.
[](https://gitpod.io/from-referrer/)
|
WIP
t-category-theory
infinity-cosmos
|
22/1 |
Mathlib/CategoryTheory/Enriched/Limits/HasConicalLimits.lean |
1 |
1 |
['github-actions'] |
nobody |
271-2106 8 months ago |
271-2261 8 months ago |
0-1 1 second |
| 23142 |
joneugster author:joneugster |
feat(CategoryTheory/Enriched/Limits): add API for HasConicalLimit |
---
[](https://gitpod.io/from-referrer/)
|
awaiting-author
t-category-theory
infinity-cosmos
|
52/9 |
Mathlib/CategoryTheory/Enriched/Limits/HasConicalLimits.lean |
1 |
2 |
['github-actions', 'joelriou'] |
nobody |
268-5252 8 months ago |
268-5252 8 months ago |
0-68906 19 hours |
| 22888 |
plp127 author:plp127 |
perf: replace `Lean.Expr.swapBVars` with a better? implementation |
Replaces `Lean.Expr.swapBVars` with a version that traverses the expression.
---
[](https://gitpod.io/from-referrer/)
|
awaiting-author
t-meta
|
14/12 |
Mathlib/Tactic/FunProp/ToBatteries.lean |
1 |
23 |
['eric-wieser', 'github-actions', 'joneugster', 'leanprover-bot', 'leanprover-community-mathlib4-bot', 'plp127'] |
eric-wieser and joneugster assignee:eric-wieser assignee:joneugster |
251-351 8 months ago |
251-73050 8 months ago |
4-80306 4 days |
| 13038 |
adomani author:adomani |
feat: Mathlib weekly reports |
This PR introduces a weekly cron job that computes a "global" report on the evolution of Mathlib in the previous week.
It consists of
* a CI workflow with a cron job that runs at minight on Sunday (`.github/workflows/mathlib_stats.yaml`);
* a Lean file extracting a categorized list of "all" the declarations in Mathlib (`scripts/count_decls.lean`);
* a bash file computing Git-diff-related information and collating the data from the Lean file (`scripts/mathlib_stats.sh`);
* a convenience CI workflow that is triggered on adding the `test-ci` label and results in posting on the PR and on Zulip the report (`.github/workflows/mathlib_stats_label.yaml`).
The second CI workflow is intended to be removed just before/right after the PR is ready to merge.
[Zulip discussion](https://leanprover.zulipchat.com/#narrow/stream/113488-general)
[Thread for the reports](https://leanprover.zulipchat.com/#narrow/stream/287929-mathlib4/topic/Mathlib.20weekly.20change.20report)
---
[](https://gitpod.io/from-referrer/)
|
awaiting-author
t-meta
CI
|
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 |
242-45923 7 months ago |
516-63803 1 year ago |
57-4216 57 days |
| 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.
---
[](https://gitpod.io/from-referrer/)
|
t-combinatorics |
14/17 |
Mathlib/Combinatorics/Optimization/ValuedCSP.lean |
1 |
1 |
['github-actions'] |
nobody |
240-49367 7 months ago |
369-70940 1 year ago |
379-58565 379 days |
| 24219 |
Paul-Lez author:Paul-Lez |
feat: linear independence of the tensor product of two linearly independent families |
This is still WIP (the proofs are a little too long, and some lemmas need to be moved to other files!)
From Toric
---
[](https://gitpod.io/from-referrer/)
|
WIP
t-algebra
toric
label:t-algebra$ |
193/0 |
Mathlib/LinearAlgebra/LinearIndependent/Tprod.lean |
1 |
1 |
['github-actions'] |
nobody |
235-68200 7 months ago |
235-68200 7 months ago |
0-2221 37 minutes |
| 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
[](https://gitpod.io/from-referrer/)
|
awaiting-author
t-data
|
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 |
225-14546 7 months ago |
265-54255 8 months ago |
2-24624 2 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.
---
[](https://gitpod.io/from-referrer/)
|
WIP
t-category-theory
t-algebra
new-contributor
label:t-algebra$ |
218/0 |
Mathlib/Algebra/Ring/Assoc.lean,Mathlib/CategoryTheory/Linear/CategoryAlgebra.lean,Mathlib/Combinatorics/Quiver/PathAlgebra.lean,Mathlib/Data/DFinsupp/BigOperators.lean |
4 |
2 |
['b-reinke', 'github-actions'] |
nobody |
225-10391 7 months ago |
225-10391 7 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.
---
[](https://gitpod.io/from-referrer/)
|
performance-hack |
1/0 |
lakefile.lean |
1 |
3 |
['eric-wieser', 'github-actions', 'leanprover-bot'] |
nobody |
225-9421 7 months ago |
225-9421 7 months ago |
0-0 0 seconds |
| 22488 |
smmercuri author:smmercuri |
fix: lower priority for `UniformSpace.Completion.instSMul` |
Following the introduction of the `WithVal` type synonym in #22055 the following instance takes a long time to synthesise in FLT, and times out in the default heartbeats
```lean
import Mathlib
namespace IsDedekindDomain.HeightOneSpectrum
variable (A K : Type*) [CommRing A] [Field K] [Algebra A K] [IsFractionRing A K]
[IsDedekindDomain A] (v : HeightOneSpectrum A)
#synth SMul (v.adicCompletionIntegers K) (v.adicCompletion K)
```
The issue is that `UniformSpace.Completion.instSMul (v.adicCompletionIntegers K) (v.adicCompletion K)` now fires during the start of instance search (because we now have `UniformSpace (WithVal (v.valuation K))` whereas previously this would be `UniformSpace K`, which was not automatic), and this takes a long time to fail (leading to ~1400 entries in the trace). The first few lines of the new trace is
```lean
[Meta.synthInstance] [5.512418] ✅️ SMul (↥(adicCompletionIntegers K v)) (adicCompletion K v) ▼
[] [0.000118] new goal SMul (↥(adicCompletionIntegers K v)) (adicCompletion K v) ▶
[] [0.000537] ✅️ apply UniformSpace.Completion.instSMul to SMul (↥(adicCompletionIntegers K v)) (adicCompletion K v) ▶
[] [0.004411] ✅️ apply @WithVal.instSMul to SMul (↥(adicCompletionIntegers K v)) (WithVal (valuation K v)) ▶
[] [0.000765] ❌️ apply @GradedMonoid.GradeZero.smul to SMul (↥(adicCompletionIntegers K v)) K ▶
[] [0.000378] ✅️ apply @Algebra.toSMul to SMul (↥(adicCompletionIntegers K v)) K ▶
...
[] 1339 more entries... ▶
```
Lowering the priority of `UniformSpace.Completion.instSMul` fixes this particular issue, leading to a trace that matches that seen prior to the introduction of `WithVal`:
```lean
[Meta.synthInstance] [0.016405] ✅️ SMul (↥(adicCompletionIntegers K v)) (adicCompletion K v) ▼
[] [0.000119] new goal SMul (↥(adicCompletionIntegers K v)) (adicCompletion K v) ▶
[] [0.000491] ❌️ apply @GradedMonoid.GradeZero.smul to SMul (↥(adicCompletionIntegers K v)) (adicCompletion K v) ▶
[] [0.000403] ✅️ apply @Algebra.toSMul to SMul (↥(adicCompletionIntegers K v)) (adicCompletion K v) ▶
[] [0.000134] ❌️ apply inst✝⁴ to Algebra (↥(adicCompletionIntegers K v)) (adicCompletion K v) ▶
[] [0.000093] ❌️ apply inst✝⁵ to Algebra (↥(adicCompletionIntegers K v)) (adicCompletion K v) ▶
[] [0.000077] ❌️ apply inst✝⁷ to Algebra (↥(adicCompletionIntegers K v)) (adicCompletion K v) ▶
[] [0.000082] ❌️ apply inst✝⁹ to Algebra (↥(adicCompletionIntegers K v)) (adicCompletion K v) ▶
[] [0.000075] ❌️ apply inst✝¹² to Algebra (↥(adicCompletionIntegers K v)) (adicCompletion K v) ▶
[] [0.000220] ❌️ apply Algebra.id to Algebra (↥(adicCompletionIntegers K v)) (adicCompletion K v) ▶
[] [0.001015] ✅️ apply @ValuationSubring.instAlgebraSubtypeMem to Algebra (↥(adicCompletionIntegers K v))
(adicCompletion K v) ▶
[resume] [0.000038] propagating Algebra (↥(adicCompletionIntegers K v))
(adicCompletion K
v) to subgoal Algebra (↥(adicCompletionIntegers K v))
(adicCompletion K v) of SMul (↥(adicCompletionIntegers K v)) (adicCompletion K v) ▶
[check] [0.013358] ✅️ Algebra.toSMul
[] result Algebra.toSMul
```
---
[](https://gitpod.io/from-referrer/)
|
awaiting-author
t-topology
FLT
|
1/1 |
Mathlib/Topology/Algebra/UniformMulAction.lean |
1 |
10 |
['github-actions', 'leanprover-bot', 'smmercuri', 'urkud'] |
nobody |
223-79605 7 months ago |
230-21757 7 months ago |
55-70108 55 days |
| 15161 |
adomani author:adomani |
feat(Linter): flag `intros x y` which can become `intro x y` |
---
[](https://gitpod.io/from-referrer/)
|
WIP
t-linter
|
78/1 |
Mathlib/Tactic/Linter/Lint.lean,test/Lint.lean |
2 |
4 |
['adomani', 'github-actions', 'grunweg'] |
nobody |
223-50680 7 months ago |
223-85287 7 months ago |
0-0 0 seconds |
| 24665 |
Komyyy author:Komyyy |
feat(Mathlib/Topology/Metrizable/Uniformity): every uniform space is generated by a family of pseudometrics |
---
[](https://gitpod.io/from-referrer/)
|
WIP
t-topology
|
54/0 |
Mathlib/Topology/Metrizable/Uniformity.lean |
1 |
1 |
['github-actions'] |
nobody |
220-53330 7 months ago |
220-53330 7 months ago |
0-1 1 second |
| 24155 |
eric-wieser author:eric-wieser |
feat: add a "rw_proc" for fin vectors |
This seems a little nicer than an elaborator, since it means I can use the default elaboration rules to handle my first few variables.
Ideally there would be something like
```lean
rw_procQ {A : Type u} {B : A -> Type v} (a : A) (b : B a) : b = ?rhs => do
/-- Context:
u v : Level
A : Q(Type u)
B : Q($A -> Type v)
a : Q($A)
b : Q($B $a)
rhs : Q($B $a) -- metavariable to assign
|- MetaM Q($b = ?rhs)
-/
```
or
```lean
rw_proc {A : Type u} {B : A -> Type v} (a : A) (b : B a) : b = ?rhs => do
/-- Context:
u v : Level
A B a b : Expr
rhs : MVarId
|- MetaM Expr
-/
```
which would generate the code I wrote here
---
[](https://gitpod.io/from-referrer/)
|
awaiting-author
t-meta
RFC
t-data
|
27/2 |
Mathlib/Data/Fin/Tuple/Reflection.lean |
1 |
2 |
['github-actions', 'urkud'] |
nobody |
219-40911 7 months ago |
219-40911 7 months ago |
20-83091 20 days |
| 21276 |
GabinKolly author:GabinKolly |
feat(ModelTheory/Substructures): define equivalences between equal substructures |
Define first-order equivalences between equal substructures, and prove related properties.
---
This is some preparatory work for #18876
[](https://gitpod.io/from-referrer/)
|
awaiting-author
t-logic
|
62/0 |
Mathlib/ModelTheory/Substructures.lean |
1 |
19 |
['GabinKolly', 'YaelDillies', 'fpvandoorn', 'github-actions', 'grunweg'] |
nobody |
218-63105 7 months ago |
218-63105 7 months ago |
46-55730 46 days |
| 24008 |
meithecatte author:meithecatte |
chore(EpsilonNFA): replace manual lemmas with @[simps] |
---
[](https://gitpod.io/from-referrer/)
|
awaiting-author
new-contributor
t-computability
|
2/24 |
Mathlib/Computability/EpsilonNFA.lean |
1 |
2 |
['YaelDillies', 'github-actions', 'urkud'] |
nobody |
217-2249 7 months ago |
217-2249 7 months ago |
27-52316 27 days |
| 24618 |
b-mehta author:b-mehta |
feat(Analysis): add Schur inequality and variants |
Add Schur inequality and some of its common variants.
TODO:
- [x] add reference to source: https://www.cip.ifi.lmu.de/~grinberg/VornicuS.pdf
- [ ] add other generalisations
- [ ] move some of the lemmas elsewhere
---
[](https://gitpod.io/from-referrer/)
|
WIP
t-analysis
|
145/0 |
Mathlib/Analysis/Convex/Schur.lean |
1 |
16 |
['b-mehta', 'eric-wieser', 'github-actions'] |
nobody |
213-76182 6 months ago |
222-56120 7 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
---
[](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 |
211-75326 6 months ago |
211-76776 6 months ago |
211-76817 211 days |
| 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 |
195-14653 6 months ago |
195-14653 6 months ago |
48-7769 48 days |
| 25473 |
adomani author:adomani |
feat(CI): check that Mathlib files have lean or md extension |
Twice recently there have been files with an "intended" `.lean` extension in `Mathlib/`:
* #24942, ending in `;lean`;
* #25457, ending in `.Lean`.
`mk_all` does not add these files to `Mathlib.lean`, since they do not end in `.lean` and this later causes problems.
This CI step checks that all files in `Mathlib/` end with `.lean` or `.md`.
See #25474 for a test where the new step [correctly fails](https://github.com/leanprover-community/mathlib4/actions/runs/15464097783/job/43532018379?pr=25474).
---
[](https://gitpod.io/from-referrer/)
|
delegated
CI
|
10/0 |
.github/workflows/lint_and_suggest_pr.yml |
1 |
10 |
['adomani', 'bryangingechen', 'github-actions', 'grunweg', 'mathlib-bors'] |
nobody |
191-77557 6 months ago |
191-78447 6 months ago |
0-11212 3 hours |
| 23929 |
meithecatte author:meithecatte |
feat(Computability/NFA): improve bound on pumping lemma |
---
- [x] depends on: #25321
[](https://gitpod.io/from-referrer/)
|
new-contributor
t-computability
awaiting-zulip
|
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 |
189-52672 6 months ago |
189-52673 6 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.
---
[](https://gitpod.io/from-referrer/)
|
t-order |
33/7 |
Mathlib/Order/Notation.lean |
1 |
1 |
['github-actions'] |
nobody |
188-85780 6 months ago |
189-28316 6 months ago |
0-0 0 seconds |
| 21344 |
kbuzzard author:kbuzzard |
chore: attempt to avoid diamond in OreLocalization |
---
[](https://gitpod.io/from-referrer/)
|
please-adopt
t-algebra
label:t-algebra$ |
16/5 |
Mathlib/RingTheory/OreLocalization/Basic.lean |
1 |
6 |
['erdOne', 'github-actions', 'kbuzzard'] |
nobody |
186-34755 6 months ago |
186-36846 6 months ago |
53-20069 53 days |
| 25911 |
BoltonBailey author:BoltonBailey |
make `a / b` simp normal form |
This PR continues the work from #25631.
Original PR: https://github.com/leanprover-community/mathlib4/pull/25631 |
t-algebra label:t-algebra$ |
11/1 |
Mathlib/Algebra/Group/Defs.lean |
1 |
2 |
['BoltonBailey', 'github-actions'] |
nobody |
181-69245 5 months ago |
181-69248 5 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 |
181-67389 5 months ago |
181-67477 5 months ago |
0-0 0 seconds |
| 25921 |
BoltonBailey author:BoltonBailey |
feat: scripts to analyze overlap between namespaces |
This PR continues the work from #11385.
Original PR: https://github.com/leanprover-community/mathlib4/pull/11385 |
WIP
t-meta
migrated-from-branch
|
86/0 |
scripts/RecordNamespaces.lean,scripts/namespace-overlap.py |
2 |
1 |
['github-actions'] |
nobody |
179-55256 5 months ago |
179-55256 5 months ago |
2-11832 2 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.
---
[](https://gitpod.io/from-referrer/)
|
WIP |
18/0 |
git_hooks/pre-commit |
1 |
1 |
['github-actions'] |
nobody |
176-47089 5 months ago |
176-47089 5 months ago |
0-1331 22 minutes |
| 21450 |
eric-wieser author:eric-wieser |
feat: improve trace nodes for `positivity` |
---
[](https://gitpod.io/from-referrer/)
|
t-meta |
25/7 |
Mathlib/Tactic/Positivity/Core.lean |
1 |
1 |
['github-actions'] |
nobody |
174-43868 5 months ago |
312-14182 10 months ago |
0-0 0 seconds |
| 26327 |
eric-wieser author:eric-wieser |
chore: split the tests for positivity |
---
[](https://gitpod.io/from-referrer/)
|
|
528/2 |
MathlibTest/Positivity/basic.lean,MathlibTest/positivity.lean |
2 |
1 |
['github-actions'] |
nobody |
173-41885 5 months ago |
173-41974 5 months ago |
0-0 0 seconds |
| 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 |
awaiting-author
t-algebra
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 |
166-5886 5 months ago |
166-5886 5 months ago |
14-37502 14 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.
---
[](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 |
161-77342 5 months ago |
161-77377 5 months ago |
194-64635 194 days |
| 26878 |
adomani author:adomani |
feat: declaration diff script in Lean |
Although, it is still text-based, the parsing of the output of `git diff` is now done in Lean.
The new script already performed better than the old one in a couple of situations:
* #26877
See [this comment](https://github.com/leanprover-community/mathlib4/pull/26847#issuecomment-3045308885)
* #26849
See [this comment](https://github.com/leanprover-community/mathlib4/pull/26849#issuecomment-3045092965)
---
This is still work in progress: the parsing should be more or less done, but I have not yet hooked this into the action workflow.
[](https://gitpod.io/from-referrer/)
|
|
497/0 |
scripts/DeclarationDiff_text_based.lean |
1 |
4 |
['adomani', 'bryangingechen', 'github-actions'] |
bryangingechen assignee:bryangingechen |
159-5469 5 months ago |
159-55420 5 months ago |
0-0 0 seconds |
| 26994 |
Paul-Lez author:Paul-Lez |
feat(Topology/MetricSpace/Pseudo/Defs): add easy lemma about opens in topological spaces |
Split from #26992
---
[](https://gitpod.io/from-referrer/)
|
awaiting-author
easy
t-topology
|
9/0 |
Mathlib/Topology/MetricSpace/Pseudo/Defs.lean |
1 |
4 |
['Paul-Lez', 'github-actions', 'grunweg'] |
nobody |
155-70526 5 months ago |
155-71948 5 months ago |
0-11233 3 hours |
| 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.
---
[](https://gitpod.io/from-referrer/)
|
awaiting-author
t-topology
new-contributor
|
63/0 |
Mathlib/Topology/MetricSpace/HausdorffDimension.lean |
1 |
10 |
['AntoineChambert-Loir', 'FrankieNC', 'github-actions', 'grunweg'] |
nobody |
153-50959 5 months ago |
153-63443 5 months ago |
0-13398 3 hours |
| 18230 |
digama0 author:digama0 |
feat(Tactic/ScopedNS): extend `scoped[NS]` to more commands |
refactor `ScopedNS` to remove error prone repetitiveness and extend it to other commands such as `syntax`, `macro`, `elab`, etc.
Co-authored-by: Jon Eugster
---
[](https://gitpod.io/from-referrer/)
|
awaiting-author
t-meta
|
201/26 |
Mathlib/Tactic/ScopedNS.lean,MathlibTest/scopedNS.lean |
2 |
7 |
['adomani', 'digama0', 'eric-wieser', 'github-actions', 'joneugster', 'kbuzzard'] |
nobody |
149-85005 4 months ago |
292-84510 9 months ago |
41-32344 41 days |
| 27330 |
BoltonBailey author:BoltonBailey |
feat(Tactic/Linter): add TacticMs for natural subtraction and division |
This is a (pair of) short tactic scripts I wrote for Project Numina while vetting formal formal statements (thanks to [this guide](https://github.com/mirefek/lean-tactic-programming-guide) for the primer). The scripts check for the presence of natural subtraction and natural division, which can often lead to mistakes.
Of course, Mathlib allows natural subtraction freely, so it's not obvious this could be made useful to Mathlib itself. Still, maybe it's of use to some other project, so I'll leave it here.
---
[](https://gitpod.io/from-referrer/)
|
t-linter |
66/0 |
Mathlib/Tactic/Linter/TruncatedNat.lean |
1 |
2 |
['BoltonBailey', 'eric-wieser', 'github-actions'] |
nobody |
145-29130 4 months ago |
145-49455 4 months ago |
0-0 0 seconds |
| 27435 |
callesonne author:callesonne |
feat(Normed/Algebra/Logarithm): add FormalMultilinearSeries of logarithm around `1` |
This PR adds the `FormalMultilinearSeries` corresponding to `log` around `1` (or rather, corresponding to `log(1 + x)`. For now, this PR just adds the definition, and copies over as many (easy) results as possible from the corresponding exponential file.
In a follow up PR, we will add a criterion for when the logarithm converges on the unit disk (based on the growth of the inverse norms of naturals in the given algebra), and show that this holds for any Q_p algebra.
This work has been done as part of the workshop "Formalizing Class Field Theory" in Oxford.
Since much of this is copy-pasting the Exponential file, I have kept Anatole Dedecker and Eric Wieser as coauthors.
---
[](https://gitpod.io/from-referrer/)
|
WIP
t-analysis
|
311/0 |
Mathlib/Analysis/Normed/Algebra/Logarithm.lean |
1 |
1 |
['github-actions'] |
nobody |
142-66238 4 months ago |
142-66576 4 months ago |
0-29 29 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)
[](https://gitpod.io/from-referrer/)
|
WIP
t-linter
|
84/1 |
Mathlib/Tactic/Linter/CommandStart.lean,MathlibTest/CommandStart.lean |
2 |
2 |
['github-actions', 'grunweg'] |
nobody |
140-83471 4 months ago |
140-83542 4 months ago |
0-2 2 seconds |
| 27704 |
vihdzp author:vihdzp |
feat: link `Minimal` and `IsLeast` together |
---
[](https://gitpod.io/from-referrer/)
|
awaiting-author
t-order
|
24/0 |
Mathlib/Order/Bounds/Basic.lean |
1 |
3 |
['b-mehta', 'github-actions'] |
nobody |
135-77884 4 months ago |
135-77884 4 months ago |
0-52136 14 hours |
| 27813 |
javra author:javra |
feat: IMO 2025 Q1 |
---
[](https://gitpod.io/from-referrer/)
|
WIP
IMO
|
882/0 |
Archive/Imo/Imo2025Q1.lean |
1 |
1 |
['github-actions'] |
nobody |
134-81665 4 months ago |
134-82863 4 months ago |
0-14 14 seconds |
| 27826 |
Louddy author:Louddy |
feat(Subsemiring): mk_eq_zero |
Add a `mk_eq_zero` lemma for `Subsemiring`.
---
[](https://gitpod.io/from-referrer/)
|
WIP
t-algebra
label:t-algebra$ |
4/0 |
Mathlib/Algebra/Ring/Subsemiring/Defs.lean |
1 |
3 |
['Louddy', 'eric-wieser', 'github-actions'] |
nobody |
134-63147 4 months ago |
134-66229 4 months ago |
0-8982 2 hours |
| 27050 |
BoltonBailey author:BoltonBailey |
doc(Control/Monad/Cont): add docstrings |
Split of #25917. Adds docstrings to this file. Note: this documentation was written by asking Cursor (Claude 3.5 sonnet) to write the docstrings.
---
[](https://gitpod.io/from-referrer/)
|
awaiting-author
t-data
|
183/0 |
Mathlib/Control/Monad/Cont.lean |
1 |
8 |
['BoltonBailey', 'eric-wieser', 'github-actions'] |
nobody |
134-25675 4 months ago |
153-43358 5 months ago |
0-85623 23 hours |
| 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 |
awaiting-author
t-algebra
label:t-algebra$ |
4/0 |
Mathlib/Algebra/MvPolynomial/Basic.lean |
1 |
2 |
['BoltonBailey', 'github-actions'] |
nobody |
133-66799 4 months ago |
181-67685 5 months ago |
0-8 8 seconds |
| 27225 |
eric-wieser author:eric-wieser |
refactor(Tactic/Lift): deprecate the third with argument |
We already have a number of tactics where the clearing happens all the time, and you have to opt out with `id h`.
This also fixes a bug where `lift z to Nat with n hn this_is_unused` would silently ignore `this_is_unused`.
---
- [ ] depends on: #27223
[](https://gitpod.io/from-referrer/)
|
awaiting-author
t-meta
|
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 |
133-29166 4 months ago |
133-76066 4 months ago |
15-64386 15 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 |
132-823 4 months ago |
132-823 4 months 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 |
WIP
t-algebra
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 |
132-761 4 months ago |
unknown |
unknown |
| 28075 |
tristan-f-r author:tristan-f-r |
chore(Finsupp/Indicator): make non-classical |
This was surprising to see on a data-carrying definition.
---
[](https://gitpod.io/from-referrer/)
|
awaiting-author
easy
t-data
|
11/9 |
Mathlib/Algebra/BigOperators/Finsupp/Basic.lean,Mathlib/Data/Finsupp/Indicator.lean |
2 |
3 |
['github-actions', 'ocfnash', 'tristan-f-r'] |
nobody |
127-47573 4 months ago |
128-4992 4 months ago |
0-85904 23 hours |
| 28168 |
astrainfinita author:astrainfinita |
feat: hensel's lemma for topological rings |
---
[](https://gitpod.io/from-referrer/)
|
WIP
t-topology
t-algebra
t-ring-theory
label:t-algebra$ |
616/0 |
Mathlib/RingTheory/Polynomial/Hensel.lean |
1 |
1 |
['github-actions'] |
nobody |
126-33008 4 months ago |
126-33018 4 months ago |
0-0 0 seconds |
| 27444 |
grunweg author:grunweg |
feat: generalise more lemmas to enorms |
The selection of lemmas may seem eclectic, but follows a clear path: I'm working on generalising the last section of `IntegrableOn.lean` to enorms. (This will be continued in a later PR.)
---
Commits can be reviewed independently.
- [x] depends on: #27419 (first commits)
- [x] depends on: #27456 (last commits)
[](https://gitpod.io/from-referrer/)
|
WIP
carleson
|
10/0 |
Mathlib/MeasureTheory/Function/L1Space/HasFiniteIntegral.lean |
1 |
3 |
['github-actions', 'grunweg', 'mathlib4-dependent-issues-bot'] |
nobody |
124-66069 4 months ago |
124-66105 4 months ago |
0-1886 31 minutes |
| 27226 |
xcloudyunx author:xcloudyunx |
feat(Combinatorics/SimpleGraph): Add Subgraph.inclusion_edge_apply_coe and inclusion_edgeSet_apply_coe |
This PR continues the work from #25248.
Original PR: https://github.com/leanprover-community/mathlib4/pull/25248 |
awaiting-author
t-combinatorics
new-contributor
|
14/0 |
Mathlib/Combinatorics/SimpleGraph/Subgraph.lean |
1 |
3 |
['b-mehta', 'github-actions', 'xcloudyunx'] |
b-mehta assignee:b-mehta |
124-21896 4 months ago |
124-35976 4 months ago |
25-83942 25 days |
| 22925 |
ggranberry author:ggranberry |
feat(Mathlib/PlaceHolder/ToeplitzHausdorff): Toeplitz-Hausdorff |
---
[](https://gitpod.io/from-referrer/)
|
help-wanted
WIP
awaiting-author
t-analysis
new-contributor
will-close-soon
|
411/0 |
Mathlib/PlaceHolder/ToeplitzHausdorff.lean,Mathlib/PlaceHolder/ToeplitzHausdorff_v2.lean |
2 |
11 |
['faenuccio', 'ggranberry', 'github-actions'] |
faenuccio assignee:faenuccio |
122-84420 4 months ago |
122-84623 4 months ago |
4-24257 4 days |
| 26349 |
mans0954 author:mans0954 |
feat(Analysis/SpecialFunctions/Trigonometric/Basic): sin and cos of multiples of π / 3 |
This PR continues the work from #25009.
Original PR: https://github.com/leanprover-community/mathlib4/pull/25009 |
help-wanted
t-analysis
|
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 |
118-50047 3 months ago |
132-932 4 months ago |
5-42837 5 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.
---
[](https://gitpod.io/from-referrer/)
|
awaiting-author
t-meta
|
16/0 |
Mathlib/Control/Monad/Cont.lean |
1 |
25 |
['Vierkantor', 'YaelDillies', 'eric-wieser', 'github-actions', 'kmill'] |
nobody |
117-83048 3 months ago |
514-17362 1 year ago |
339-53816 339 days |
| 28276 |
eric-wieser author:eric-wieser |
refactor: tidy `lift_unique` lemmas |
---
- [ ] depends on: #28275
[](https://gitpod.io/from-referrer/)
|
t-algebra label:t-algebra$ |
37/20 |
Mathlib/Algebra/FreeAlgebra.lean,Mathlib/Algebra/Lie/UniversalEnveloping.lean,Mathlib/LinearAlgebra/DFinsupp.lean,Mathlib/LinearAlgebra/ExteriorAlgebra/Basic.lean |
4 |
3 |
['github-actions', 'mathlib4-dependent-issues-bot', 'mathlib4-merge-conflict-bot'] |
nobody |
117-82319 3 months ago |
117-82338 3 months ago |
0-0 0 seconds |
| 28631 |
faenuccio author:faenuccio |
feat(Data\Nat\ModEq.lean): add grind attribute to ModEq |
---
[](https://gitpod.io/from-referrer/)
|
WIP
t-data
|
7/0 |
Mathlib/Data/Nat/ModEq.lean |
1 |
4 |
['faenuccio', 'github-actions', 'leanprover-bot'] |
nobody |
117-2301 3 months ago |
117-4820 3 months ago |
0-22 22 seconds |
| 27752 |
plp127 author:plp127 |
feat(Order): `NoBotOrder α` implies `NoMinOrder α` under `IsDirected α (· ≥ ·)` |
This PR continues the work from #24266.
Original PR: https://github.com/leanprover-community/mathlib4/pull/24266 |
awaiting-author
t-order
|
14/0 |
Mathlib/Order/Directed.lean |
1 |
4 |
['github-actions', 'j-loreaux', 'plp127'] |
nobody |
116-51560 3 months ago |
116-51560 3 months ago |
19-20394 19 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".
---
[](https://gitpod.io/from-referrer/)
|
awaiting-author
t-ring-theory
|
133/0 |
Mathlib/RingTheory/PowerSeries/Substitution.lean |
1 |
9 |
['chrisflav', 'erdOne', 'github-actions', 'kckennylau'] |
kbuzzard assignee:kbuzzard |
116-7824 3 months ago |
116-7824 3 months ago |
48-29860 48 days |
| 28680 |
vihdzp author:vihdzp |
feat: set has cardinality one iff singleton |
---
[](https://gitpod.io/from-referrer/)
|
awaiting-author
easy
t-set-theory
|
11/1 |
Mathlib/SetTheory/Cardinal/Basic.lean,Mathlib/SetTheory/Cardinal/Defs.lean |
2 |
5 |
['b-mehta', 'github-actions', 'kckennylau'] |
nobody |
115-74585 3 months ago |
115-74585 3 months ago |
0-24645 6 hours |
| 26078 |
kckennylau author:kckennylau |
feat(AlgebraicGeometry): add x, y, px, py for points on elliptic curves |
---
Split from #25218.
[](https://gitpod.io/from-referrer/)
|
awaiting-author
t-algebraic-geometry
|
44/0 |
Mathlib/AlgebraicGeometry/EllipticCurve/Affine/Point.lean |
1 |
12 |
['MichaelStollBayreuth', 'Multramate', 'acmepjz', 'dagurtomas', 'github-actions', 'kckennylau'] |
dagurtomas assignee:dagurtomas |
114-69109 3 months ago |
114-69109 3 months ago |
64-11252 64 days |
| 27479 |
iu-isgood author:iu-isgood |
feat: Abel's Binomial Theorem |
We have formalized Abel's Binomial Theorem as part of an REU project. There are a few remaining sorrys, but we will finish them soon. I will edit this PR message later according to community rules.
---
[](https://gitpod.io/from-referrer/)
|
awaiting-author
new-contributor
t-data
|
326/0 |
Mathlib/Data/Nat/Choose/AbelBinomial.lean |
1 |
28 |
['ElifUskuplu', 'FrankieNC', 'github-actions', 'iu-isgood'] |
nobody |
112-66728 3 months ago |
136-44625 4 months ago |
0-533 8 minutes |
| 25700 |
grunweg author:grunweg |
feat: lint upon uses of the `mono` tactic |
suggesting to use `gcongr` instead.
In general, `mono` is unmaintained, was only partially ported --- and gcongr at this point is more featureful, actively developed and has a nicer user interface. The topic was also discussed [on zulip](https://leanprover.zulipchat.com/#narrow/channel/287929-mathlib4/topic/Porting.20note.3A.20Fixing.20up.20.60mono.60/with/445125798).
---
TODO: update the linter wording, fix its implementation and wait until tests pass
- [ ] depends on: #25698
[](https://gitpod.io/from-referrer/)
|
please-adopt
RFC
t-linter
|
15/0 |
MathlibTest/DeprecatedSyntaxLinter.lean,MathlibTest/Monotonicity.lean |
2 |
3 |
['github-actions', 'grunweg', 'mathlib4-dependent-issues-bot'] |
nobody |
112-66373 3 months ago |
112-66415 3 months ago |
72-55831 72 days |
| 28821 |
yury-harmonic author:yury-harmonic |
feat(SimpleGraph/Finite): add lemmas |
`simpNF` complains because `*Finset` are `abbrev`s.
---
[](https://gitpod.io/from-referrer/)
|
t-combinatorics |
24/1 |
Mathlib/Combinatorics/SimpleGraph/Finite.lean |
1 |
1 |
['github-actions'] |
nobody |
112-49740 3 months ago |
112-49790 3 months ago |
0-0 0 seconds |
| 24719 |
madvorak author:madvorak |
feat(LinearAlgebra/Matrix/NonsingularInverse): inverting `Matrix` inverts its `LinearEquiv` |
---
Discussion:
https://leanprover.zulipchat.com/#narrow/channel/144837-PR-reviews/topic/.2324719.20cannot.20find.20home/with/517142655
|
awaiting-author
t-algebra
label:t-algebra$ |
10/0 |
Mathlib/LinearAlgebra/Matrix/NonsingularInverse.lean |
1 |
16 |
['eric-wieser', 'github-actions', 'madvorak', 'ocfnash'] |
nobody |
110-5265 3 months ago |
131-73642 4 months ago |
86-39206 86 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`.
---
[](https://gitpod.io/from-referrer/)
|
awaiting-CI
t-measure-probability
|
77/45 |
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 |
4 |
['github-actions', 'leanprover-community-bot-assistant', 'mathlib4-merge-conflict-bot'] |
nobody |
108-16497 3 months ago |
108-16523 3 months ago |
0-0 0 seconds |
| 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!
---
[](https://gitpod.io/from-referrer/)
|
awaiting-author
t-linter
|
48/0 |
Mathlib/Tactic/Linter/CommandStart.lean |
1 |
7 |
['adomani', 'github-actions', 'grunweg', 'leanprover-bot'] |
joneugster assignee:joneugster |
107-5185 3 months ago |
107-5307 3 months ago |
66-73556 66 days |
| 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.
[](https://gitpod.io/from-referrer/)
|
new-contributor
t-data
|
16/21 |
Mathlib/Data/PFunctor/Multivariate/W.lean |
1 |
8 |
['Equilibris', 'alexkeizer', 'github-actions'] |
nobody |
104-51937 3 months ago |
124-13203 4 months ago |
0-0 0 seconds |
| 29232 |
vihdzp author:vihdzp |
feat: more theorems on `SuccAddOrder` |
We make use of the (relatively) new `CanonicallyOrderedAdd` typeclass in order to generalize various theorems on `Ordinal` to `SuccAddOrder`. Later on we'll deprecate the `Ordinal` versions in favor of these.
---
[](https://gitpod.io/from-referrer/)
|
t-algebra
t-order
label:t-algebra$ |
54/1 |
Mathlib/Algebra/Order/SuccPred.lean |
1 |
2 |
['github-actions', 'plp127'] |
nobody |
101-66336 3 months ago |
103-23806 3 months ago |
103-23832 103 days |
| 26935 |
Paul-Lez author:Paul-Lez |
feat(Analysis/SpecialFunction/NthRoot): definition and basic API of Real.nthRoot |
This PR continues the work from #25364.
Original PR: https://github.com/leanprover-community/mathlib4/pull/25364
Co-authored-by: Eric Wieser |
t-analysis |
311/0 |
Mathlib/Analysis/SpecialFunctions/NthRoot.lean |
1 |
10 |
['Paul-Lez', 'eric-wieser', 'github-actions', 'mo271', 'smmercuri', 'yury-harmonic'] |
nobody |
101-40012 3 months ago |
157-75086 5 months ago |
157-75125 157 days |
| 27995 |
kckennylau author:kckennylau |
feat(RingTheory/Valuation): alternate constructors for Valuation |
---
[](https://gitpod.io/from-referrer/)
|
awaiting-CI
t-ring-theory
|
82/0 |
Mathlib/Algebra/GroupWithZero/WithZero.lean,Mathlib/FieldTheory/RatFunc/Degree.lean,Mathlib/NumberTheory/Padics/PadicNumbers.lean,Mathlib/RingTheory/Valuation/Basic.lean |
4 |
22 |
['YaelDillies', 'github-actions', 'grunweg', 'kckennylau', 'pechersky'] |
nobody |
100-11887 3 months ago |
100-11887 3 months ago |
18-47707 18 days |
| 26159 |
upobir author:upobir |
feat(Algebra/QuadraticDiscriminant): Adding inequalities on quadratic from inequalities on discriminant |
This PR continues the work from #24517.
Original PR: https://github.com/leanprover-community/mathlib4/pull/24517
---
[](https://gitpod.io/from-referrer/) |
awaiting-author
t-algebra
label:t-algebra$ |
34/0 |
Mathlib/Algebra/QuadraticDiscriminant.lean |
1 |
8 |
['chrisflav', 'github-actions', 'tb65536', 'upobir'] |
chrisflav assignee:chrisflav |
98-71191 3 months ago |
122-62719 4 months ago |
55-10605 55 days |
| 27701 |
vihdzp author:vihdzp |
feat: `a < b + c ↔ a < b ∨ ∃ d < c, a = b + d` |
...and analogous results on `CanonicallyOrderedAdd`.
---
- [x] depends on: #29084
[](https://gitpod.io/from-referrer/)
|
awaiting-author
t-algebra
label:t-algebra$ |
41/0 |
Mathlib/Algebra/Order/Monoid/Canonical/Basic.lean |
1 |
5 |
['YaelDillies', 'github-actions', 'mathlib4-dependent-issues-bot', 'vihdzp'] |
nobody |
96-74078 3 months ago |
96-74118 3 months ago |
0-42619 11 hours |
| 26462 |
PSchwahn author:PSchwahn |
feat(LinearAlgebra/Projection): add results about inverse of `Submodule.prodEquivOfIsCompl` |
Add two theorems `Submodule.prodEquivOfIsCompl_symm_apply` and `Submodule.prodEquivOfIsCompl_symm_add`, which are API for `Submodule.prodEquivOfIsCompl`.
We believe these theorems are useful; for example, we have used their statements in a [classification formalization project](https://github.com/LieLean/LowDimSolvClassification).
Co-authored by:
- [Viviana del Barco](https://github.com/vdelbarc)
- [Gustavo Infanti](https://github.com/GuQOliveira)
- [Exequiel Rivas](https://github.com/erivas)
---
I am not sure whether the `prodEquivOfIsCompl_symm_apply` theorem should be tagged with `@[simp]`; this might lead to confluence issues. Opinions are welcome!
[](https://gitpod.io/from-referrer/)
|
awaiting-author
t-algebra
new-contributor
label:t-algebra$ |
10/0 |
Mathlib/LinearAlgebra/Projection.lean |
1 |
7 |
['PSchwahn', 'github-actions', 'joelriou', 'kckennylau'] |
joelriou assignee:joelriou |
96-38096 3 months ago |
96-69199 3 months ago |
73-43225 73 days |
| 28286 |
bwangpj author:bwangpj |
feat(Geometry/Manifold/ContMDiff): basic lemmas for analytic (`C^ω`) functions |
Add basic lemmas relating `ContMDiff` in the `C^ω` case to being `Analytic` on charts.
This is upstreamed from [https://github.com/girving/ray](https://github.com/girving/ray).
Co-authored-by: Geoffrey Irving
---
[](https://gitpod.io/from-referrer/)
|
awaiting-author
t-differential-geometry
new-contributor
|
36/0 |
Mathlib/Geometry/Manifold/ContMDiff/Defs.lean |
1 |
13 |
['bwangpj', 'girving', 'github-actions', 'grunweg', 'kbuzzard', 'sgouezel'] |
sgouezel assignee:sgouezel |
95-52851 3 months ago |
96-6886 3 months ago |
27-76128 27 days |
| 29527 |
kim-em author:kim-em |
feat: script for checking Github URLs |
This adds scripts/check_github_urls.py, which checks for links for closed github issues/prs, and shows the context at the link.
Of course, many links are to closed pull requests because the discussion there provides useful context. Not sure how to best filter results. |
WIP
CI
|
475/0 |
scripts/README.md,scripts/check_github_urls.py |
2 |
2 |
['github-actions', 'kim-em'] |
nobody |
94-31475 3 months ago |
94-32155 3 months ago |
0-1 1 second |
| 25778 |
thefundamentaltheor3m author:thefundamentaltheor3m |
feat: Monotonicity of `setIntegral` for nonnegative functions |
This PR makes it easier to prove monotonicity of the Bochner integral on sets for nonnegative functions by removing the stronger assumption required by the general monotonicity lemma that both of the functions being compared must be integrable.
---
[](https://gitpod.io/from-referrer/)
|
awaiting-author
t-measure-probability
new-contributor
|
8/0 |
Mathlib/MeasureTheory/Integral/Bochner/Set.lean |
1 |
6 |
['RemyDegenne', 'github-actions', 'sgouezel', 'thefundamentaltheor3m'] |
nobody |
93-68720 3 months ago |
184-76553 6 months ago |
0-11893 3 hours |
| 29615 |
eric-wieser author:eric-wieser |
chore: add a computable shortcut for `AddCommMonoid ℂ` |
---
[](https://gitpod.io/from-referrer/)
|
easy
t-analysis
bench-after-CI
|
9/1 |
Mathlib/Analysis/Complex/Basic.lean |
1 |
1 |
['github-actions'] |
nobody |
92-764 3 months ago |
92-834 3 months ago |
92-816 92 days |
| 29010 |
grunweg author:grunweg |
chore: more tests for field_simp features and edge cases |
---
[](https://gitpod.io/from-referrer/)
|
|
135/0 |
MathlibTest/FieldSimp.lean |
1 |
2 |
['github-actions', 'mathlib4-merge-conflict-bot'] |
nobody |
88-51702 2 months ago |
108-14639 3 months ago |
108-84558 108 days |
| 27937 |
madvorak author:madvorak |
feat(Logic/Basic): `congr_heq₂` |
---
[](https://gitpod.io/from-referrer/)
|
awaiting-author
t-logic
|
6/0 |
Mathlib/Logic/Basic.lean |
1 |
8 |
['YaelDillies', 'fpvandoorn', 'github-actions', 'madvorak', 'vihdzp'] |
fpvandoorn assignee:fpvandoorn |
88-2035 2 months ago |
114-2820 3 months ago |
17-70200 17 days |
| 29870 |
mckoen author:mckoen |
feat(CategoryTheory/Adhesive): subobjects in adhesive categories have binary coproducts |
A formalization of Theorem 5.1 in https://www.ioc.ee/~pawel/papers/adhesivejournal.pdf. Given `A B Z : C` with `C` adhesive, and `a : A ⟶ Z`, ` b : B ⟶ Z` monomorphisms, then `pushout.desc a b pullback.condition` is also a monomorphism. This result will be useful in showing that the pushout-product of monomorphisms is also a monomorphism.
---
[](https://gitpod.io/from-referrer/)
|
WIP
t-category-theory
|
118/0 |
Mathlib/CategoryTheory/Adhesive.lean |
1 |
1 |
['github-actions'] |
nobody |
83-41454 2 months ago |
83-41501 2 months ago |
0-9 9 seconds |
| 29588 |
Periecle author:Periecle |
feat(Analysis/Complex/Residue): Implement residue theory for complex functions at isolated singularities |
# Add basic residue theory for complex functions
This PR introduces the residue theory implementation in mathlib.
## Main additions
- **`HasIsolatedSingularityAt f c`**: Predicate for functions with isolated singularities at point `c`
- **`residue f c hf`**: The residue of `f` at isolated singularity `c`, defined via circle integrals
- **Radius independence**: `residue_eq_two_pi_I_inv_smul_circleIntegral` - residue equals normalized circle integral for any valid radius
- **Holomorphic residues**: `residue_of_holomorphic` - functions holomorphic in a neighborhood have zero residue
- **Simple pole formula**: `residue_simple_pole` - for `f(z) = (z-c)⁻¹ * g(z)`, residue equals `g(c)`
## Implementation notes
- Builds on existing circle integral infrastructure in `CauchyIntegral.lean`
- Uses `Classical.choose` to extract witness radius from isolated singularity condition
- Comprehensive documentation with mathematical context and examples
- Establishes foundation for residue theorem, argument principle, and other applications
## Examples included
- `residue(1/z, 0) = 1` (canonical simple pole)
- Radius independence demonstration
- Zero residues for holomorphic functions
This provides the essential building blocks for complex analysis and first step to formalize residue theory. |
awaiting-author
t-analysis
new-contributor
|
383/0 |
Mathlib/Analysis/Complex/Residue/Basic.lean |
1 |
17 |
['Periecle', 'github-actions', 'hrmacbeth', 'llllvvuu', 'loefflerd'] |
nobody |
80-72198 2 months ago |
91-74301 3 months ago |
1-5255 1 day |
| 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 (α → β) (α →₀ (α → β))`
---
[](https://gitpod.io/from-referrer/)
|
awaiting-author
t-data
|
7/4 |
Mathlib/Data/Finsupp/Pointwise.lean |
1 |
8 |
['Paul-Lez', 'eric-wieser', 'github-actions', 'kckennylau', 'pechersky'] |
pechersky assignee:pechersky |
75-30786 2 months ago |
75-31025 2 months ago |
168-19511 168 days |
| 26330 |
Timeroot author:Timeroot |
feat: "Junk value" test file |
This PR continues the work from #25173.
Original PR: https://github.com/leanprover-community/mathlib4/pull/25173 |
awaiting-author
t-data
|
360/0 |
MathlibTest/Junk.lean |
1 |
17 |
['NotWearingPants', 'Timeroot', 'bryangingechen', 'github-actions', 'leanprover-community-bot-assistant', 'madvorak', 'pechersky', 'vihdzp'] |
pechersky assignee:pechersky |
75-29276 2 months ago |
75-29276 2 months ago |
96-70055 96 days |
| 28452 |
plp127 author:plp127 |
feat: Define `ZMod.fintype` without cases |
Define `ZMod.fintype` without casing on `n` except inside the proof.
---
[](https://gitpod.io/from-referrer/)
|
awaiting-author
t-data
|
2/3 |
Mathlib/Data/ZMod/Defs.lean |
1 |
2 |
['github-actions', 'jcommelin'] |
pechersky assignee:pechersky |
75-28495 2 months ago |
75-28495 2 months ago |
46-561 46 days |
| 30142 |
shalliso author:shalliso |
feat(Topology/Baire): define IsNonMeagre |
non-meagre sets (also known as "of the second category") are worthy of their own definition and API. This was useful to me for formalizing a result of "automatic continuity", that is, a Baire-measurable homomorphism between Polish groups must be continuous. Simply working with the negation of IsMeagre quickly became cumbersome, and non-meagre sets have an important role in the study of Polish (e.g. locally compact) groups.
From https://github.com/shalliso/automatic_continuity
[ ] depends on: #30141
---
[](https://gitpod.io/from-referrer/)
|
t-topology
new-contributor
|
83/1 |
Mathlib/Topology/Baire/NonMeagre.lean,Mathlib/Topology/GDelta/Basic.lean |
2 |
1 |
['github-actions'] |
nobody |
72-44329 2 months ago |
72-44331 2 months ago |
72-44365 72 days |
| 30079 |
dagurtomas author:dagurtomas |
feat(CategoryTheory): IsSheafFor as a multiequalizer condition |
---
[](https://gitpod.io/from-referrer/)
|
WIP
t-category-theory
|
112/0 |
Mathlib/CategoryTheory/Sites/Multifork.lean |
1 |
3 |
['chrisflav', 'github-actions', 'joelriou'] |
nobody |
72-40493 2 months ago |
75-19241 2 months ago |
0-1 1 second |
| 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`.
[](https://gitpod.io/from-referrer/)
|
WIP
t-algebra
label:t-algebra$ |
101/125 |
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 |
11 |
['fpvandoorn', 'github-actions', 'leanprover-community-bot-assistant', 'mathlib4-merge-conflict-bot'] |
nobody |
71-3039 2 months ago |
71-3073 2 months ago |
0-17 17 seconds |
| 28630 |
Antidite author:Antidite |
feat(Archive/Imo): right isosceles configuration in the complex plane |
feat(Archive/Imo): right isosceles configuration in the complex plane
This adds `Archive/Imo/Imo1975Q3.lean`, formalizing a triangle configuration
with points A=0, B=1, C=z and auxiliary points R, P, Q built via complex
rotations and sine-based scale factors.
Main results:
* `angle_and_distance`: ∠QRP = π/2 and dist Q R = dist R P.
* Key identity `QRP_rot90`: (Q z).z − R.z = e^{iπ/2} · ((P z).z − R.z).
Design/Style:
* Minimal imports; module docstring; semantic lemma names; all definitions and
theorems live under the namespace `IMO.TriangleConfig`.
Moves:
- (none)
Deletions:
- (none)
---
[](https://gitpod.io/from-referrer/)
|
awaiting-author
new-contributor
IMO
|
196/0 |
Archive.lean,Archive/Imo/Imo1975Q3.lean |
2 |
36 |
['Antidite', 'LLaurance', 'github-actions', 'jsm28'] |
jsm28 assignee:jsm28 |
70-52988 2 months ago |
70-52988 2 months ago |
46-38383 46 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
---
[](https://gitpod.io/from-referrer/)
|
awaiting-author
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 |
6 |
['faenuccio', 'github-actions', 'mathlib4-merge-conflict-bot', 'riccardobrasca'] |
riccardobrasca assignee:riccardobrasca |
69-39331 2 months ago |
69-39331 2 months ago |
79-37394 79 days |
| 30135 |
erdOne author:erdOne |
feat(RingTheory): `ValuativeRel` on subrings |
---
@pechersky do we want this?
[](https://gitpod.io/from-referrer/)
|
awaiting-author
t-ring-theory
|
19/0 |
Mathlib/RingTheory/Valuation/ValuativeRel/Basic.lean |
1 |
5 |
['erdOne', 'github-actions', 'pechersky'] |
nobody |
68-66669 2 months ago |
69-39361 2 months ago |
3-20137 3 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`.
---
[](https://gitpod.io/from-referrer/)
|
awaiting-author
t-data
|
95/0 |
Mathlib/Data/Nat/Factors.lean |
1 |
11 |
['b-mehta', 'github-actions', 'grunweg', 'plp127'] |
b-mehta assignee:b-mehta |
62-79171 2 months ago |
63-19984 2 months ago |
111-15071 111 days |
| 26561 |
b-mehta author:b-mehta |
feat(LiminfLimsup): liminf of an antitone function is its supremum |
---
[](https://gitpod.io/from-referrer/)
- [x] depends on: #26560 |
help-wanted
t-topology
|
24/0 |
Mathlib/Topology/Order/LiminfLimsup.lean |
1 |
4 |
['b-mehta', 'github-actions', 'leanprover-community-bot-assistant', 'mathlib4-dependent-issues-bot'] |
nobody |
61-21629 2 months ago |
61-21708 2 months ago |
0-6 6 seconds |
| 27302 |
tristan-f-r author:tristan-f-r |
feat(Fintype/Quotient): finLiftOn₂ |
The combination of [`Quotient.finLiftOn`](https://leanprover-community.github.io/mathlib4_docs/Mathlib/Data/Fintype/Quotient.html#Quotient.finLiftOn) and [`liftOn₂`](https://leanprover-community.github.io/mathlib4_docs/Init/Core.html#Quotient.liftOn%E2%82%82).
---
[](https://gitpod.io/from-referrer/)
|
awaiting-author
t-data
|
19/0 |
Mathlib/Data/Fintype/Quotient.lean |
1 |
12 |
['github-actions', 'kckennylau', 'pechersky', 'tristan-f-r', 'vihdzp'] |
pechersky assignee:pechersky |
59-20036 1 month ago |
59-20036 1 month ago |
88-10285 88 days |
| 29432 |
lecopivo author:lecopivo |
feat: `data_synth` tactic to prove `HasFDerivAt 𝕜 f ?f' x` and similar |
New tactic `data_synth` that can prove proposition with holes e.g. figure out what `?f'` is and prove `HasFDerivAt 𝕜 f ?f' x`
---
Tactic `data_synth` is designed to synthesize some data that satisfies some proposition. The canonical example is `HasFDerivAt 𝕜 f ?f' x`, this tactic will figure out `f'` and provide proof of `HasFDerivAt 𝕜 f f' x`.
Another examples: `HasBoundinbBall s ?center ?radius` or `IsPolynomial f ?p`
```
def HasBoundingBall (s : Set α) (center : α) (radius : ℝ) : Prop :=
s ⊆ Metric.closedBall center radius
def IsPolynomial (f : R → R) (p : Polynomial R) :=
f = p.eval
``` |
WIP
t-meta
|
1932/0 |
Mathlib/Tactic/DataSynth.lean,Mathlib/Tactic/DataSynth/Attr.lean,Mathlib/Tactic/DataSynth/Core.lean,Mathlib/Tactic/DataSynth/Decl.lean,Mathlib/Tactic/DataSynth/Elab.lean,Mathlib/Tactic/DataSynth/FDeriv.lean,Mathlib/Tactic/DataSynth/FDeriv/Basic.lean,Mathlib/Tactic/DataSynth/FDeriv/Dispatch.lean,Mathlib/Tactic/DataSynth/FDeriv/Init.lean,Mathlib/Tactic/DataSynth/FDeriv/Simproc.lean,Mathlib/Tactic/DataSynth/Tests/BoundingBall.lean,Mathlib/Tactic/DataSynth/Tests/Compilation.lean,Mathlib/Tactic/DataSynth/Tests/FDeriv.lean,Mathlib/Tactic/DataSynth/Tests/FDerivInit.lean,Mathlib/Tactic/DataSynth/Tests/FwdDeriv.lean,Mathlib/Tactic/DataSynth/Tests/Normalize.lean,Mathlib/Tactic/DataSynth/Tests/Polynomial.lean,Mathlib/Tactic/DataSynth/Theorems.lean,Mathlib/Tactic/DataSynth/ToBatteries.lean,Mathlib/Tactic/DataSynth/Types.lean |
20 |
3 |
['JovanGerb', 'github-actions', 'lecopivo'] |
nobody |
58-66430 1 month ago |
96-80263 3 months ago |
0-11559 3 hours |
| 29855 |
eric-wieser author:eric-wieser |
chore(Data/Finset/Sort): lemmas about `0 : Fin _` and `Fin.last _` |
We already had these for `⟨0, ⋯⟩` and `⟨k - 1, ⋯⟩`.
Moves:
- `Finset.orderEmbOfFin_zero` -> `Finset.orderEmbOfFin_mk_zero`
- `Finset.orderEmbOfFin_last` -> `Finset.orderEmbOfFin_mk_last`
---
[](https://gitpod.io/from-referrer/)
|
delegated
easy
t-order
t-data
|
17/7 |
Mathlib/Combinatorics/Enumerative/Composition.lean,Mathlib/Data/Finset/Sort.lean |
2 |
4 |
['eric-wieser', 'github-actions', 'mathlib-bors', 'ocfnash'] |
nobody |
58-53661 1 month ago |
79-85751 2 months ago |
3-79002 3 days |
| 29634 |
YaelDillies author:YaelDillies |
feat: missing instance `NonUnitalCommSemiring R → NonUnitalNonAssocCommSemiring R` |
For some reason, this causes elaboration issues.
---
[](https://gitpod.io/from-referrer/)
|
help-wanted
awaiting-CI
t-algebra
label:t-algebra$ |
16/7 |
Mathlib/Algebra/Ring/Defs.lean,Mathlib/RingTheory/Coalgebra/Basic.lean,Mathlib/RingTheory/Coalgebra/Hom.lean,Mathlib/Tactic/Ring/Basic.lean |
4 |
7 |
['YaelDillies', 'alreadydone', 'github-actions', 'riccardobrasca'] |
nobody |
57-66726 1 month ago |
91-2543 3 months ago |
0-19 19 seconds |
| 30460 |
janithamalith author:janithamalith |
feat(Nat): add lemma nat_card_orbit_mul_card_stabilizer_eq_card_group |
Added a lemma `nat_card_orbit_mul_card_stabilizer_eq_card_group` which is the Nat.card version of MulAction.card_orbit_mul_card_stabilizer_eq_card_group
---
[](https://gitpod.io/from-referrer/)
|
awaiting-author
new-contributor
t-group-theory
|
6/0 |
Mathlib/GroupTheory/GroupAction/CardCommute.lean |
1 |
17 |
['github-actions', 'kckennylau', 'plp127', 'tb65536'] |
tb65536 assignee:tb65536 |
54-72543 1 month ago |
54-72543 1 month ago |
8-8414 8 days |
| 25737 |
robin-carlier author:robin-carlier |
feat(AlgebraicTopology/SimplexCategory/GeneratorsRelations/NormalForms): Normal forms for `P_δ`s |
We prove that admissible lists indeed provide a normal form for morphisms of satisfying `P_δ`.
To this end, we introduce `standardδ`, a construction that takes a list and turn it into a composition of `δ i`s in `SimplexCategoryGenRel`. We then prove that, thanks to the first simplicial identity, composition on the left corresponds to simplicial insertion in the list. This gives existence of a normal form for every morphism satisfying `P_δ`.
For unicity, we introduce an auxiliary function `simplicialEvalδ : (List ℕ) → ℕ → ℕ` and show that for admissible lists, it lifts to `ℕ` the `orderHom` attached to `toSimplexCategory.map standardδ`, and that we can recover elements of the list only by looking at values of this function.
Part of a series of PR formalising that `SimplexCategoryGenRel` is equivalent to `SimplexCategory`.
---
- [x] depends on: #25736
[](https://gitpod.io/from-referrer/)
---
*This PR continues the work from #21746.*
*Original PR: https://github.com/leanprover-community/mathlib4/pull/21746* |
delegated
t-category-theory
t-algebraic-topology
|
182/2 |
Mathlib/AlgebraicTopology/SimplexCategory/GeneratorsRelations/NormalForms.lean |
1 |
6 |
['github-actions', 'joelriou', 'mathlib-bors', 'mathlib4-dependent-issues-bot', 'mathlib4-merge-conflict-bot'] |
nobody |
53-73331 1 month ago |
54-65047 1 month ago |
0-22513 6 hours |
| 30209 |
Ruben-VandeVelde author:Ruben-VandeVelde |
feat: some TwoSidedIdeal.span lemmas |
---
[](https://gitpod.io/from-referrer/)
|
awaiting-author
FLT
t-ring-theory
|
16/0 |
Mathlib/RingTheory/TwoSidedIdeal/Operations.lean |
1 |
2 |
['erdOne', 'github-actions'] |
erdOne assignee:erdOne |
53-43837 1 month ago |
53-43837 1 month ago |
17-9153 17 days |
| 25225 |
xcloudyunx author:xcloudyunx |
feat(Combinatorics/SimpleGraph): Eulerian walk in connected graph contains all vertices |
---
[](https://gitpod.io/from-referrer/)
|
awaiting-author
t-combinatorics
new-contributor
|
16/0 |
Mathlib/Combinatorics/SimpleGraph/Trails.lean |
1 |
6 |
['IvanRenison', 'github-actions', 'vlad902'] |
kmill assignee:kmill |
53-36075 1 month ago |
53-36075 1 month ago |
148-3717 148 days |
| 27817 |
zhuyizheng author:zhuyizheng |
feat: add IMO2025P1 |
Add a solution to IMO2025P1, the original problem statement from https://github.com/jsm28/IMOLean
---
[](https://gitpod.io/from-referrer/)
|
awaiting-author
new-contributor
IMO
|
1310/0 |
Archive.lean,Archive/Imo/Imo2025Q1.lean |
2 |
8 |
['github-actions', 'kim-em', 'mathlib4-merge-conflict-bot', 'zhuyizheng'] |
dwrensha assignee:dwrensha |
52-71885 1 month ago |
53-36589 1 month ago |
65-5080 65 days |
| 27206 |
grhkm21 author:grhkm21 |
feat(CategoryTheory/Adjunction): partial adjoints are adjoints |
Partial adjunctions `F.partial{Left,Right}Adjunction` are adjunctions when fully
defined i.e. `F.{left,right}AdjointObjIsDefined = ⊤`.
|
awaiting-author
t-category-theory
|
48/2 |
Mathlib/CategoryTheory/Adjunction/PartialAdjoint.lean |
1 |
1 |
['github-actions'] |
nobody |
52-68311 1 month ago |
52-68311 1 month ago |
98-12071 98 days |
| 27196 |
YaelDillies author:YaelDillies |
refactor(Polynomial/Bivariate): swap `X` and `Y` for improved notation |
This way, `X` keeps on being `X`.
From Toric
---
[](https://gitpod.io/from-referrer/)
|
WIP
t-algebra
toric
label:t-algebra$ |
3/3 |
Mathlib/Algebra/Polynomial/Bivariate.lean |
1 |
7 |
['YaelDillies', 'alreadydone', 'github-actions', 'kckennylau'] |
nobody |
52-61864 1 month ago |
135-12575 4 months ago |
15-75841 15 days |
| 26088 |
grunweg author:grunweg |
chore(Linter/DirectoryDependency): move forbidden directories into a JSON file |
This PR continues the work from #25406.
Original PR: https://github.com/leanprover-community/mathlib4/pull/25406 |
please-adopt
t-linter
|
387/19 |
Mathlib/Tactic/Linter/DirectoryDependency.lean,scripts/README.md,scripts/forbiddenDirs.json |
3 |
4 |
['Vierkantor', 'github-actions', 'grunweg', 'mathlib4-merge-conflict-bot'] |
nobody |
51-78275 1 month ago |
51-78308 1 month ago |
126-49390 126 days |
| 30828 |
DeVilhena-Paulo author:DeVilhena-Paulo |
feat: implementation of `Finmap.merge` |
The main contribution of this pull request is the implementation of a `merge` function for finite maps (`Finmap`). The construction relies on the definition of a `merge` function for association lists (`AList`).
There is also a side (unrelated) contribution on `Mathlib/Data/List/Permutation.lean`: the addition of a theorem about the permutation of a list with a head element (that is, a list of the form `a :: l`).
---
[](https://gitpod.io/from-referrer/)
|
new-contributor
t-data
|
449/3 |
Mathlib/Data/Finmap.lean,Mathlib/Data/List/AList.lean,Mathlib/Data/List/Permutation.lean,Mathlib/Data/List/Sigma.lean |
4 |
1 |
['github-actions'] |
nobody |
51-59507 1 month ago |
51-59586 1 month ago |
51-59629 51 days |
| 30902 |
adomani author:adomani |
chore: longLine warnings happen starting at the 101st character |
Right now, the longLine linter warning spans the whole line. This PR changes the behaviour and the warning only covers the characters exceeding the 100 character limit.
Previous discussion:
[#general > error lens in lean4 @ 💬](https://leanprover.zulipchat.com/#narrow/channel/113488-general/topic/error.20lens.20in.20lean4/near/547074537)
Specific thread:
[#mathlib4 > Restrict longLine warning to exceeding characters @ 💬](https://leanprover.zulipchat.com/#narrow/channel/287929-mathlib4/topic/Restrict.20longLine.20warning.20to.20exceeding.20characters/near/547081669)
---
[](https://gitpod.io/from-referrer/)
|
t-linter
awaiting-zulip
|
1/1 |
Mathlib/Tactic/Linter/Style.lean |
1 |
1 |
['github-actions'] |
nobody |
49-49236 1 month ago |
49-49493 1 month ago |
0-132 2 minutes |
| 30378 |
mans0954 author:mans0954 |
refactor(Order/Hom/Lattice): Use default `initialize_simps_projections` configuration for `LatticeHom`. |
Use default `initialize_simps_projections` configuration for `LatticeHom`.
I'm not sure what was originally intended by the TODO, but this appears to work.
---
[](https://gitpod.io/from-referrer/)
|
awaiting-author
t-order
|
4/7 |
Mathlib/Order/Hom/Lattice.lean,Mathlib/Order/Hom/WithTopBot.lean |
2 |
3 |
['bryangingechen', 'fpvandoorn', 'github-actions'] |
bryangingechen assignee:bryangingechen |
46-78933 1 month ago |
47-52797 1 month ago |
18-11603 18 days |
| 30667 |
FrederickPu author:FrederickPu |
Subgroup mul |
Title:
Algebra: pointwise products for subgroups
Description:
showed the point-wise product of disjoint subgroups is equivalent to their Cartesian product
---
[](https://gitpod.io/from-referrer/)
|
awaiting-author
t-algebra
new-contributor
label:t-algebra$ |
47/0 |
Mathlib/Algebra/Group/Subgroup/Pointwise.lean |
1 |
10 |
['FrederickPu', 'eric-wieser', 'github-actions', 'plp127', 'tb65536'] |
nobody |
46-72505 1 month ago |
55-62539 1 month ago |
0-46291 12 hours |
| 30575 |
urkud author:urkud |
feat: lemmas about `_ • _` on Filters |
as well as `Set.Finite.f?derivWithin_eq`.
I wrote these lemmas for #24019, but the final version of that PR doesn't need them. I moved them here so that I don't forget to prepare a non-draft PR with these lemmas.
---
[](https://gitpod.io/from-referrer/)
|
t-topology |
51/0 |
Mathlib/Topology/TODO.lean |
1 |
3 |
['github-actions', 'plp127', 'urkud'] |
nobody |
46-62842 1 month ago |
59-82506 1 month ago |
0-0 0 seconds |
| 30975 |
mariainesdff author:mariainesdff |
feat(Data/Finsupp/Defs): add Finsupp.restrict |
Co-authored by: @AntoineChambert-Loir
---
[](https://gitpod.io/from-referrer/)
|
awaiting-author
t-data
|
49/0 |
Mathlib/Data/Finsupp/Defs.lean |
1 |
n/a |
['ADedecker', 'github-actions'] |
nobody |
45-67642 1 month ago |
unknown |
unknown |
| 30408 |
kckennylau author:kckennylau |
feat(RingTheory): more algebra instances for HomogeneousLocalization and linear constructors |
This PR introduces the instance `Algebra R₀ (HomogeneousLocalization 𝒜 x)` as well as two linear constructors `mkₗ` and `Away.mkₗ` that fix the denominator.
Zulip discussion: [#mathlib4 > Some algebra instance for graded algebra and homog loc](https://leanprover.zulipchat.com/#narrow/channel/287929-mathlib4/topic/Some.20algebra.20instance.20for.20graded.20algebra.20and.20homog.20loc/with/544178649)
---
Split from #26061.
[](https://gitpod.io/from-referrer/)
|
t-ring-theory |
65/20 |
Mathlib/RingTheory/GradedAlgebra/HomogeneousLocalization.lean |
1 |
5 |
['github-actions', 'mariainesdff'] |
mariainesdff assignee:mariainesdff |
43-38656 1 month ago |
43-38713 1 month ago |
61-24696 61 days |
| 30631 |
ADedecker author:ADedecker |
refactor: evaluation of power series in semirings |
---
[](https://gitpod.io/from-referrer/)
|
|
665/71 |
Mathlib/Algebra/Module/Congruence/Defs.lean,Mathlib/RingTheory/MvPowerSeries/EvaluationSemi.lean,Mathlib/Topology/Algebra/LinearTopology.lean,Mathlib/Topology/Algebra/LinearUniformity.lean,Mathlib/Topology/Algebra/TopologicallyNilpotent.lean |
5 |
1 |
['github-actions'] |
nobody |
42-71004 1 month ago |
57-81852 1 month ago |
0-0 0 seconds |
| 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`.
[](https://gitpod.io/from-referrer/)
|
awaiting-author
t-analysis
new-contributor
|
6/0 |
Mathlib/Analysis/InnerProductSpace/PiL2.lean |
1 |
7 |
['Ruben-VandeVelde', 'Sebi-Kumar', 'github-actions', 'kckennylau'] |
urkud assignee:urkud |
41-2003 1 month ago |
41-2003 1 month ago |
82-22614 82 days |
| 29871 |
zach1502 author:zach1502 |
feat(Matrix/Transvection): Gauss pivot determinant identity and pivot preservation |
This PR adds two lemmas formalizing standard Gaussian pivot identities:
* `Matrix.Transvection.listTransvecCol_mul_mul_listTransvecRow_pivot`:
After applying the canonical left/right transvection products that clear the last column and row,
the pivot (bottom-right) entry of a matrix is unchanged.
Marked `@[simp]`.
* `Matrix.Transvection.det_eq_detTopLeft_mul_pivot`:
If the pivot entry is nonzero, then the determinant of the matrix factors as
the determinant of the top-left block times the pivot entry, after performing
the canonical transvections.
This is the usual Gauss–pivot determinant identity.
* Added simple usage tests in `MathlibTest/matrix.lean` to check that the new lemmas
are usable by `simp`/`simpa`.
---
---
[](https://gitpod.io/from-referrer/)
|
awaiting-author
t-algebra
new-contributor
label:t-algebra$ |
94/0 |
Mathlib/LinearAlgebra/Matrix/Transvection.lean,MathlibTest/matrix.lean |
2 |
3 |
['github-actions', 'riccardobrasca', 'zach1502'] |
nobody |
40-83197 1 month ago |
40-83197 1 month ago |
42-32522 42 days |
| 30109 |
scholzhannah author:scholzhannah |
feat: the subcomplexes of a (relative classical) CW complex form a completely distributive lattice |
In this PR we prove that the space of subcomplexes `Subcomplex C` of a (relative classical) CW complex `C` is a `CompletelyDistribLattice`.
---
[](https://gitpod.io/from-referrer/)
|
awaiting-author
t-topology
|
368/1 |
Mathlib/Order/Lattice.lean,Mathlib/Topology/CWComplex/Classical/Subcomplex.lean |
2 |
19 |
['ADedecker', 'github-actions', 'scholzhannah'] |
nobody |
40-72178 1 month ago |
40-72178 1 month ago |
6-69887 6 days |
| 30158 |
nicolaviolette author:nicolaviolette |
feat: combinatorics simplegraph basic |
---
[](https://gitpod.io/from-referrer/)
|
awaiting-author
t-combinatorics
new-contributor
|
9/4 |
Mathlib/Combinatorics/SimpleGraph/Basic.lean |
1 |
3 |
['b-mehta', 'github-actions'] |
b-mehta assignee:b-mehta |
40-16327 1 month ago |
40-16327 1 month ago |
31-69826 31 days |
| 30431 |
kckennylau author:kckennylau |
feat(RingTheory): a homogeneous submodule is the span of its homogeneous elements |
---
[](https://gitpod.io/from-referrer/)
|
t-ring-theory |
22/0 |
Mathlib/RingTheory/GradedAlgebra/Homogeneous/Ideal.lean,Mathlib/RingTheory/GradedAlgebra/Homogeneous/Submodule.lean |
2 |
7 |
['github-actions', 'kckennylau', 'mariainesdff'] |
mariainesdff assignee:mariainesdff |
39-78836 1 month ago |
40-57395 1 month ago |
64-3436 64 days |
| 27229 |
WilliamCoram author:WilliamCoram |
feat(GroupTheory/DoubleCoset): multiple lemmas |
From FLT
---
[](https://gitpod.io/from-referrer/)
|
new-contributor
FLT
t-group-theory
|
88/0 |
Mathlib/GroupTheory/DoubleCoset.lean |
1 |
31 |
['Ruben-VandeVelde', 'WilliamCoram', 'github-actions', 'kim-em', 'mariainesdff', 'mathlib4-merge-conflict-bot'] |
mariainesdff assignee:mariainesdff |
39-71226 1 month ago |
40-62170 1 month ago |
133-14305 133 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}`.
---
[](https://gitpod.io/from-referrer/)
|
awaiting-author
t-topology
|
44/0 |
Mathlib/MeasureTheory/Constructions/UnitInterval.lean,Mathlib/Topology/UnitInterval.lean |
2 |
8 |
['gaetanserre', 'github-actions', 'j-loreaux', 'mathlib4-merge-conflict-bot', 'ocfnash'] |
j-loreaux assignee:j-loreaux |
39-71156 1 month ago |
39-71156 1 month ago |
97-76852 97 days |
| 30608 |
grunweg author:grunweg |
feat: another lemma about derivatives of parametric integrals |
On the path towards proving that integrating smooth functions is smooth.
From the sphere-eversion project; I am just upstreaming this.
---
[](https://gitpod.io/from-referrer/)
|
awaiting-author
t-analysis
|
125/0 |
Mathlib/Analysis/Calculus/ParametricIntegral.lean |
1 |
7 |
['Ruben-VandeVelde', 'github-actions', 'j-loreaux'] |
j-loreaux assignee:j-loreaux |
39-69867 1 month ago |
39-69867 1 month ago |
18-81847 18 days |
| 30612 |
grunweg author:grunweg |
feat: add ContDiff.lipschitzOnWith |
A C¹ function is Lipschitz on each convex compact set. From sphere-eversion.
Re-done version of https://github.com/leanprover-community/mathlib4/pull/12673.
---
Help completing the last sorries is welcome!
[](https://gitpod.io/from-referrer/)
|
awaiting-author
t-analysis
|
82/10 |
Mathlib/Analysis/Calculus/ContDiff/RCLike.lean |
1 |
6 |
['github-actions', 'grunweg', 'ocfnash', 'peabrainiac'] |
ocfnash assignee:ocfnash |
39-63347 1 month ago |
39-63369 1 month ago |
0-1970 32 minutes |
| 30560 |
dwrensha author:dwrensha |
fix(LinearAlgebra/Alternating/Basic): avoid deep recursion in MultilinearMap.alternatization |
Makes `MultilinearMap.alternatization` an `irreducible_def` to avoid errors
about deep recursion.
This is an update of #15045 according to the suggestions in [this zulip thread](https://leanprover.zulipchat.com/#narrow/channel/287929-mathlib4/topic/kernel.20deep.20recursion.20detected/near/454301820).
---
[](https://gitpod.io/from-referrer/)
|
awaiting-author
t-algebra
label:t-algebra$ |
36/9 |
Mathlib/LinearAlgebra/Alternating/Basic.lean,Mathlib/LinearAlgebra/Matrix/SpecialLinearGroup.lean,MathlibTest/DetOne.lean |
3 |
6 |
['dagurtomas', 'dwrensha', 'eric-wieser', 'github-actions'] |
dagurtomas assignee:dagurtomas |
38-62467 1 month ago |
38-62467 1 month ago |
21-72141 21 days |
| 31226 |
erdOne author:erdOne |
chore(RingTheory): add `@[ext]` to `Ideal.Quotient.algHom_ext` |
See [`Ideal.Quotient.ringHom_ext`](https://leanprover-community.github.io/mathlib4_docs/find/?pattern=Ideal.Quotient.ringHom_ext#doc) which also has @[ext 1100].
---
[](https://gitpod.io/from-referrer/)
|
awaiting-author
easy
t-ring-theory
|
3/2 |
Mathlib/RingTheory/Extension/Presentation/Core.lean,Mathlib/RingTheory/Ideal/Quotient/Operations.lean |
2 |
6 |
['erdOne', 'github-actions', 'j-loreaux'] |
nobody |
37-58818 1 month ago |
37-58818 1 month ago |
3-12761 3 days |
| 31340 |
kim-em author:kim-em |
feat: helper script to summarize CI errors |
---
[](https://gitpod.io/from-referrer/)
|
CI |
235/0 |
scripts/README.md,scripts/failing_ci.py |
2 |
1 |
['github-actions'] |
nobody |
37-34677 1 month ago |
37-34679 1 month ago |
0-0 0 seconds |
| 31348 |
PatrickMassot author:PatrickMassot |
chore: fix a docstring typo |
---
[](https://gitpod.io/from-referrer/)
|
documentation
awaiting-author
easy
t-analysis
|
1/1 |
Mathlib/Analysis/Calculus/Darboux.lean |
1 |
3 |
['ADedecker', 'dopamine333', 'github-actions'] |
nobody |
36-74032 1 month ago |
36-74032 1 month ago |
0-21655 6 hours |
| 29145 |
JovanGerb author:JovanGerb |
chore: use `to_additive` in more places |
This PR addresses some comments about `to_additive` not working, by making it work more.
---
[](https://gitpod.io/from-referrer/)
|
t-meta
awaiting-CI
|
61/177 |
Mathlib/Algebra/Group/End.lean,Mathlib/Algebra/Order/BigOperators/Group/LocallyFinite.lean,Mathlib/Combinatorics/Additive/DoublingConst.lean,Mathlib/Data/ZMod/Aut.lean,Mathlib/Topology/Algebra/InfiniteSum/Module.lean |
5 |
3 |
['JovanGerb', 'github-actions'] |
nobody |
32-86309 1 month ago |
32-86310 1 month ago |
72-68717 72 days |
| 29458 |
LiamSchilling author:LiamSchilling |
feat(MvPolynomial/WeightedHomogenous): relate `weightedTotalDegree` to `degrees` and `degreeOf` |
`weightedTotalDegree` is the most general notion of multivariate degree in mathlib. These theorems show that it specializes to `degrees` and `degreeOf` with specialized weights.
---
[](https://gitpod.io/from-referrer/)
|
awaiting-author
new-contributor
t-ring-theory
|
17/0 |
Mathlib/RingTheory/MvPolynomial/Homogeneous.lean |
1 |
6 |
['LiamSchilling', 'chrisflav', 'github-actions'] |
chrisflav assignee:chrisflav |
31-30043 1 month ago |
82-584 2 months ago |
14-19311 14 days |
| 25765 |
JovanGerb author:JovanGerb |
feat(gcongr): lemma for rewriting inside divisibility |
TODO: add test to show that we can rewrite using `a ≡ b [ZMOD n]` inside `n ∣ 2 * a + 1`.
edit: it's not yet entirely clear if this is the right thing to do.
edit: This lemma should be written using iff (or =), so that we can use it specifically when rewriting with a symmetric relation. Supporting equality in `gcongr` is still work in progress.
---
[](https://gitpod.io/from-referrer/)
|
delegated
t-data
|
5/0 |
Mathlib/Data/Int/ModEq.lean |
1 |
3 |
['fpvandoorn', 'github-actions', 'mathlib-bors'] |
nobody |
29-85252 29 days ago |
183-71532 6 months ago |
1-19951 1 day |
| 31582 |
ADedecker author:ADedecker |
chore: more flavours of derivatives within the empty set |
---
[](https://gitpod.io/from-referrer/)
|
awaiting-CI
t-analysis
|
33/11 |
Mathlib/Analysis/Analytic/Basic.lean,Mathlib/Analysis/Analytic/Constructions.lean,Mathlib/Analysis/Analytic/ConvergenceRadius.lean,Mathlib/Analysis/Analytic/Within.lean,Mathlib/Analysis/Calculus/FDeriv/Basic.lean,Mathlib/Analysis/Calculus/FDeriv/Const.lean |
6 |
4 |
['github-actions', 'grunweg'] |
grunweg assignee:grunweg |
29-65655 29 days ago |
29-65655 29 days ago |
0-0 0 seconds |
| 31607 |
grunweg author:grunweg |
chore: rename `continuous{,On,At,Within}_const to `ContinuousFoo.const` |
Needs fixing all remaining deprecation warnings.
Zulip discussion: [#mathlib4 > Naming convention @ 💬](https://leanprover.zulipchat.com/#narrow/channel/287929-mathlib4/topic/Naming.20convention/near/447491526)
---
[](https://gitpod.io/from-referrer/)
|
delegated
awaiting-CI
|
86/82 |
Archive/Hairer.lean,Mathlib/Analysis/BoxIntegral/Box/Basic.lean,Mathlib/Analysis/CStarAlgebra/ContinuousFunctionalCalculus/Unital.lean,Mathlib/Analysis/Calculus/Deriv/MeanValue.lean,Mathlib/Analysis/Calculus/DiffContOnCl.lean,Mathlib/Analysis/Calculus/MeanValue.lean,Mathlib/Analysis/Calculus/Taylor.lean,Mathlib/Analysis/Complex/AbsMax.lean,Mathlib/Analysis/Complex/CauchyIntegral.lean,Mathlib/Analysis/Complex/PhragmenLindelof.lean,Mathlib/Analysis/Complex/RemovableSingularity.lean,Mathlib/Analysis/Convex/Exposed.lean,Mathlib/Analysis/Convex/Gauge.lean,Mathlib/Analysis/Convex/PartitionOfUnity.lean,Mathlib/Analysis/Convolution.lean,Mathlib/Analysis/Normed/Module/Ball/Homeomorph.lean,Mathlib/Analysis/Normed/Operator/BoundedLinearMaps.lean,Mathlib/Analysis/ODE/PicardLindelof.lean,Mathlib/Analysis/SpecialFunctions/Gamma/Basic.lean,Mathlib/Analysis/SpecialFunctions/Integrability/Basic.lean,Mathlib/Analysis/SpecialFunctions/Pow/Continuity.lean,Mathlib/MeasureTheory/Integral/Bochner/Basic.lean,Mathlib/MeasureTheory/Integral/CircleIntegral.lean,Mathlib/MeasureTheory/Integral/CircleTransform.lean,Mathlib/MeasureTheory/Integral/IntervalIntegral/Basic.lean,Mathlib/MeasureTheory/Integral/IntervalIntegral/FundThmCalculus.lean,Mathlib/MeasureTheory/Integral/RieszMarkovKakutani/Real.lean,Mathlib/NumberTheory/LSeries/PrimesInAP.lean,Mathlib/NumberTheory/NumberField/CanonicalEmbedding/NormLeOne.lean,Mathlib/Topology/Algebra/ContinuousMonoidHom.lean,Mathlib/Topology/Algebra/GroupWithZero.lean,Mathlib/Topology/Algebra/Indicator.lean,Mathlib/Topology/Algebra/Order/Floor.lean,Mathlib/Topology/Connected/Basic.lean,Mathlib/Topology/Constructions.lean,Mathlib/Topology/Constructions/SumProd.lean,Mathlib/Topology/Continuous.lean,Mathlib/Topology/ContinuousOn.lean,Mathlib/Topology/FiberBundle/Basic.lean,Mathlib/Topology/Hom/ContinuousEval.lean,Mathlib/Topology/Homeomorph/Defs.lean,Mathlib/Topology/Order.lean,Mathlib/Topology/Order/IntermediateValue.lean,Mathlib/Topology/VectorBundle/Basic.lean |
44 |
3 |
['github-actions', 'j-loreaux', 'mathlib-bors'] |
nobody |
29-9756 29 days ago |
29-20778 29 days ago |
0-1 1 second |
| 31637 |
Whysoserioushah author:Whysoserioushah |
feat(Data/Matrix/Basis): add some lemmas |
Zulip discussion : https://leanprover.zulipchat.com/#narrow/channel/217875-Is-there-code-for-X.3F/topic/Matrix.2Eone_eq_sum_single.3F/with/555689472
---
[](https://gitpod.io/from-referrer/)
|
awaiting-author
t-data
|
14/0 |
Mathlib/Data/Matrix/Basis.lean |
1 |
9 |
['Whysoserioushah', 'eric-wieser', 'github-actions', 'kckennylau'] |
nobody |
26-68318 26 days ago |
26-68318 26 days ago |
2-60442 2 days |
| 30562 |
dwrensha author:dwrensha |
fix(Data/Fintype/Perm): make the main logic of Equiv.instFintype irreducible |
Adds a new `irreducible_def` for the main branch of `Equiv.instFintype` to avoid errors about deep recursion.
This is an update of #15045 and #30560 according to the discussion in those PRs and in [this zulip thread](https://leanprover.zulipchat.com/#narrow/channel/287929-mathlib4/topic/kernel.20deep.20recursion.20detected/near/454301820).
---
[](https://gitpod.io/from-referrer/)
|
awaiting-author
t-data
|
40/8 |
Mathlib/Combinatorics/Derangements/Finite.lean,Mathlib/Data/Fintype/Perm.lean,Mathlib/LinearAlgebra/Matrix/SpecialLinearGroup.lean,MathlibTest/MatrixDetOne.lean |
4 |
16 |
['dwrensha', 'github-actions', 'leanprover-bot', 'plp127', 'robin-carlier'] |
robin-carlier assignee:robin-carlier |
26-64387 26 days ago |
47-72666 1 month ago |
12-56370 12 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
---
[](https://gitpod.io/from-referrer/)
- [x] depends on: #26834
- [ ] depends on : #30135
|
t-number-theory
t-topology
t-algebra
label:t-algebra$ |
66/0 |
Mathlib/Topology/Algebra/Valued/ValuativeRel.lean |
1 |
10 |
['erdOne', 'github-actions', 'mathlib4-dependent-issues-bot', 'mathlib4-merge-conflict-bot', 'pechersky'] |
alreadydone assignee:alreadydone |
26-58247 26 days ago |
26-58270 26 days ago |
158-26293 158 days |
| 31326 |
sgouezel author:sgouezel |
chore: deprecate `smooth` variants of `contMDiff` results |
---
[](https://gitpod.io/from-referrer/)
|
awaiting-author
t-differential-geometry
|
44/52 |
Mathlib/Analysis/Calculus/BumpFunction/FiniteDimension.lean,Mathlib/Geometry/Manifold/PartitionOfUnity.lean |
2 |
6 |
['github-actions', 'grunweg', 'sgouezel'] |
grunweg assignee:grunweg |
26-47754 26 days ago |
26-63673 26 days ago |
8-84793 8 days |
| 12032 |
mcdoll author:mcdoll |
feat: delta distribution as a limit |
---
- [ ] depends on: #11496
[](https://gitpod.io/from-referrer/)
|
WIP
t-analysis
|
58/0 |
Mathlib/Analysis/Distribution/DiracDelta.lean |
1 |
2 |
['github-actions', 'mathlib4-dependent-issues-bot'] |
nobody |
26-26092 26 days ago |
unknown |
unknown |
| 24965 |
erdOne author:erdOne |
refactor: Make `IsLocalHom` take unbundled map |
Under the current definition, `IsLocalHom f` and `IsLocalHom f.toMonoidHom` are not defeq, which causes quite some annoyances. We also have a consensus to not use `*HomClass` in definitions. As a result, we change `IsLocalHom` to take an unbundled function instead of a funlike.
---
[](https://gitpod.io/from-referrer/)
|
delegated
t-algebra
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 |
12 |
['adomani', 'alreadydone', 'erdOne', 'eric-wieser', 'github-actions', 'jcommelin', 'leanprover-community-bot-assistant', 'mathlib-bors'] |
mattrobball assignee:mattrobball |
26-4819 26 days ago |
26-4819 26 days ago |
24-84527 24 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.
---
[](https://gitpod.io/from-referrer/)
|
awaiting-author
CI
|
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'] |
nobody |
25-59932 25 days ago |
138-39112 4 months ago |
146-23504 146 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.
---
[](https://gitpod.io/from-referrer/)
|
WIP
t-data
|
143/118 |
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 |
11 |
['Ruben-VandeVelde', 'YaelDillies', 'github-actions', 'mathlib4-merge-conflict-bot'] |
bryangingechen assignee:bryangingechen |
24-86013 24 days ago |
24-86021 24 days ago |
2-29376 2 days |
| 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
---
[](https://gitpod.io/from-referrer/)
|
WIP
awaiting-CI
t-measure-probability
FLT
file-removed
|
211/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 |
22 |
['YaelDillies', 'github-actions', 'kbuzzard', 'leanprover-community-bot-assistant', 'mathlib4-merge-conflict-bot', 'sgouezel'] |
nobody |
24-84683 24 days ago |
24-84699 24 days ago |
8-77637 8 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
---
[](https://gitpod.io/from-referrer/)
|
awaiting-author
t-measure-probability
|
220/6 |
Mathlib.lean,Mathlib/MeasureTheory/Function/LpSeminorm/Defs.lean,Mathlib/MeasureTheory/Function/LpSeminorm/NNLpNorm.lean,Mathlib/MeasureTheory/Function/LpSeminorm/TriangleInequality.lean |
4 |
21 |
['YaelDillies', 'b-mehta', 'github-actions', 'leanprover-community-bot-assistant', 'mathlib4-merge-conflict-bot', 'sgouezel'] |
nobody |
24-84475 24 days ago |
24-84489 24 days ago |
13-15316 13 days |
| 21915 |
YaelDillies author:YaelDillies |
feat: simproc for `Int.divisorsAntidiag` |
Co-authored-by: Paul Lezeau
---
- [x] depends on: #21912
- [x] depends on: #21991
[](https://gitpod.io/from-referrer/)
|
WIP
t-meta
|
75/0 |
Mathlib.lean,Mathlib/Tactic.lean,Mathlib/Tactic/Simproc/DivisorsAntidiag.lean |
3 |
9 |
['YaelDillies', 'eric-wieser', 'github-actions', 'leanprover-community-bot-assistant', 'mathlib4-dependent-issues-bot', 'mathlib4-merge-conflict-bot'] |
nobody |
24-83344 24 days ago |
24-83360 24 days ago |
0-260 4 minutes |
| 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
[](https://gitpod.io/from-referrer/)
|
WIP
t-analysis
|
21/3 |
Mathlib/Topology/Algebra/ConstMulAction.lean,Mathlib/Topology/Algebra/Group/Quotient.lean |
2 |
5 |
['github-actions', 'leanprover-community-bot-assistant', 'mathlib4-dependent-issues-bot', 'mathlib4-merge-conflict-bot'] |
nobody |
24-83288 24 days ago |
44-54890 1 month ago |
0-352 5 minutes |
| 15443 |
YaelDillies author:YaelDillies |
feat: 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
[](https://gitpod.io/from-referrer/)
|
WIP
t-analysis
|
189/0 |
Mathlib.lean,Mathlib/Probability/MarcinkiewiczZygmund.lean |
2 |
40 |
['Parcly-Taxel', 'YaelDillies', 'b-mehta', 'github-actions', 'hrmacbeth', 'mathlib4-dependent-issues-bot', 'mathlib4-merge-conflict-bot', 'sgouezel'] |
nobody |
24-83000 24 days ago |
24-83017 24 days ago |
89-28229 89 days |
| 31590 |
SuccessMoses author:SuccessMoses |
chore: tag `commutatorElement_def` with `simp` |
---
[](https://gitpod.io/from-referrer/)
|
awaiting-author
t-algebra
new-contributor
label:t-algebra$ |
1/0 |
Mathlib/Algebra/Group/Commutator.lean |
1 |
2 |
['github-actions', 'grunweg'] |
nobody |
24-69286 24 days ago |
24-69286 24 days ago |
6-8213 6 days |
| 25802 |
dagurtomas author:dagurtomas |
feat(AlgebraicTopology): anodyne morphisms of simplicial sets |
---
[](https://gitpod.io/from-referrer/)
---
*This PR continues the work from #20201.*
*Original PR: https://github.com/leanprover-community/mathlib4/pull/20201* |
WIP
t-topology
|
145/0 |
Mathlib/AlgebraicTopology/Anodyne.lean,Mathlib/AlgebraicTopology/KanFibration.lean,Mathlib/CategoryTheory/MorphismProperty/WeakSaturation.lean |
3 |
2 |
['github-actions', 'mathlib4-merge-conflict-bot'] |
nobody |
24-69193 24 days ago |
24-69212 24 days ago |
0-2 2 seconds |
| 6859 |
MohanadAhmed author:MohanadAhmed |
feat: TryLean4Bundle: Windows Bundle Creator |
# `TryLean4Bundle`: Windows Bundle Creator
A Windows batch script and a CI yml file that create an self extracting archive. The user should
1. just download the archive,
2. double click the archive to expand
3. double click the `RunLean.bat` script in the expanded archive.
The script currently downloads 7 dependencies into CI then unpacks them in the appropriate locations and finally packs them back.
To try a bundle created using these scripts but from a different repo see (https://github.com/MohanadAhmed/TryLean4Bundle/releases)
---
[](https://gitpod.io/from-referrer/)
|
help-wanted
WIP
CI
|
114/0 |
.github/workflows/mk_windows_bundle.yml,scripts/windowsBundle.bat |
2 |
0 |
[] |
nobody |
24-68529 24 days ago |
837-37242 2 years 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.
---
[](https://gitpod.io/from-referrer/)
|
awaiting-CI
t-topology
|
75/0 |
Mathlib/Order/Filter/Cocardinal.lean |
1 |
0 |
[] |
nobody |
24-68362 24 days ago |
522-75075 1 year 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
---
[](https://gitpod.io/from-referrer/)
|
awaiting-author
t-algebra
label:t-algebra$ |
38/0 |
Mathlib/GroupTheory/Congruence/Defs.lean |
1 |
8 |
['github-actions', 'hannahfechtner', 'kbuzzard', 'riccardobrasca'] |
nobody |
24-68260 24 days ago |
291-79220 9 months ago |
87-64575 87 days |
| 23772 |
SEU-Prime author:SEU-Prime |
feat: Amice equivalence |
i built amice equiv
[](https://gitpod.io/from-referrer/)
|
WIP
t-number-theory
|
283/0 |
Mathlib/NumberTheory/Padics/Amice.lean |
1 |
2 |
['grunweg'] |
nobody |
24-68153 24 days ago |
250-73199 8 months ago |
0-8688 2 hours |
| 24533 |
robertmaxton42 author:robertmaxton42 |
feat(ULift): conjugation by ULift.up/down, misc cast/heq lemmas |
* Adds the convenience def `ULift.conj x := `down (f (up x))`, and corresponding basic lemmas
* Adds lemmas showing that `ULift.up` and `.down` commute with casts and preserve `HEq`.
---
[](https://gitpod.io/from-referrer/)
|
awaiting-author
t-data
|
31/0 |
Mathlib/Data/ULift.lean |
1 |
23 |
['eric-wieser', 'github-actions', 'grunweg', 'robertmaxton42'] |
nobody |
24-68063 24 days ago |
108-9451 3 months ago |
118-2181 118 days |
| 25034 |
ScottCarnahan author:ScottCarnahan |
feat(Algebra/Module/Equiv/Basic): Restriction of scalars from a semilinear equivalence to a linear equivalence |
If `M` and `M₂` are both `R`-modules and modules for `S` and `S₂`, respectively, then for any ring isomorphism `e` between `S` and `S₂` and any `e`-semilinear equivalence between `M` and `M₂` that respects the `R`-action, we obtain an `R`-linear equivalence between `M` and `M₂`.
---
[](https://gitpod.io/from-referrer/)
|
WIP
t-algebra
label:t-algebra$ |
28/0 |
Mathlib/Algebra/Module/Equiv/Basic.lean |
1 |
1 |
['github-actions'] |
nobody |
24-68040 24 days ago |
188-12064 6 months ago |
20-11468 20 days |
| 25035 |
ScottCarnahan author:ScottCarnahan |
feat(Algebra/Module/Equiv/Defs): linear equivalence between linear hom and semilinear hom |
Given a ring homomorphism `σ₂ : R →+* R₂`, an `R`-module `M`, and a module `M₂` for both `R` and `R₂` satisfying `SMulCommClass R R₂ M₂` and `(σ₂ r) • x = r • x`, we produce an `R₂`-linear equivalence between `M →ₗ[R] M₂` and `M →ₛₗ[σ₂] M₂`.
---
[](https://gitpod.io/from-referrer/)
|
WIP
t-algebra
label:t-algebra$ |
21/0 |
Mathlib/Algebra/Module/Equiv/Defs.lean |
1 |
1 |
['github-actions'] |
nobody |
24-68030 24 days ago |
188-12089 6 months ago |
20-7584 20 days |
| 26013 |
tsuki8 author:tsuki8 |
feat(Data/Finset/Card,Data/Set/Finite/Basic): TODO needs a better title |
add `card_bijOn` and `finset_subset_preimage_of_finite_image`
Add `card_bijOn`: proves that for a bijection between finsets, their cardinalities are equal
Add `finset_subset_preimage_of_finite_image`: constructs a finset subset preserving image cardinality
Co-authored-by: Junyu Guo
---
[](https://gitpod.io/from-referrer/)
|
awaiting-author
new-contributor
t-data
|
15/0 |
Mathlib/Data/Finset/Card.lean,Mathlib/Data/Set/Finite/Basic.lean |
2 |
5 |
['Ruben-VandeVelde', 'github-actions'] |
nobody |
24-67978 24 days ago |
166-4801 5 months ago |
13-85893 13 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.
---
[](https://gitpod.io/from-referrer/)
|
awaiting-author
t-analysis
new-contributor
|
50/2 |
Mathlib/Analysis/Calculus/Deriv/Star.lean |
1 |
15 |
['emo916math', 'github-actions', 'j-loreaux', 'kckennylau'] |
j-loreaux assignee:j-loreaux |
24-67833 24 days ago |
127-67581 4 months ago |
31-70593 31 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.
---
[](https://gitpod.io/from-referrer/)
|
awaiting-author
new-contributor
t-data
|
22/0 |
Mathlib/Data/Rat/Lemmas.lean |
1 |
33 |
['github-actions', 'kim-em', 'mathlib-bors', 'pechersky', 'sinianluoye', 'themathqueen'] |
pechersky assignee:pechersky |
24-67750 24 days ago |
48-26812 1 month ago |
80-3629 80 days |
| 29921 |
mans0954 author:mans0954 |
refactor(RingTheory/Polynomial/SmallDegreeVieta): convert to {p : R[X]} (hp : p.natDegree = 2) |
Convert `RingTheory/Polynomial/SmallDegreeVieta` from `{a b c : R} (C a * X ^ 2 + C b * X + C c)` to `{p : R[X]} (hp : p.natDegree = 2)`
(see [Zulip discussion](https://leanprover.zulipchat.com/#narrow/channel/287929-mathlib4/topic/discriminants.20of.20low.20degree.20polynomials/with/538010519))
---
- [x] depends on: #29981
[](https://gitpod.io/from-referrer/)
|
awaiting-author
t-ring-theory
|
75/60 |
Mathlib/RingTheory/Polynomial/SmallDegreeVieta.lean |
1 |
14 |
['JovanGerb', 'chrisflav', 'github-actions', 'kckennylau', 'mans0954', 'mathlib4-dependent-issues-bot', 'vihdzp'] |
erdOne assignee:erdOne |
24-67576 24 days ago |
49-84809 1 month ago |
17-62236 17 days |
| 25907 |
mans0954 author:mans0954 |
feat: low order roots of unity |
This PR continues the work from #25470.
Original PR: https://github.com/leanprover-community/mathlib4/pull/25470 |
awaiting-author
t-algebra
label:t-algebra$ |
182/0 |
Mathlib/Algebra/CharP/Invertible.lean,Mathlib/RingTheory/RootsOfUnity/Complex.lean |
2 |
3 |
['github-actions', 'mans0954', 'urkud'] |
jcommelin assignee:jcommelin |
24-54419 24 days ago |
24-54419 24 days ago |
157-25048 157 days |
| 26765 |
KiringYJ author:KiringYJ |
feat(MeasureTheory/PiSystem): add π-λ theorem and SetLike instance |
Add two small features to `MeasureTheory/PiSystem`:
1. SetLike instance
`instance : SetLike (DynkinSystem α) (Set α)`
This lets us write `s ⊆ d` and `t ∈ d` for a DynkinSystem `d`, matching usual mathlib style.
2. `DynkinSystem.pi_lambda` lemma
Classical π‑λ theorem: if a π‑system `s` is contained in a Dynkin system `d`, every set measurable for `σ(s)` is also in `d`.
Currently, mathlib exposes this result only indirectly (e.g. via `generateFrom_eq`). Although logically equivalent, it is not obvious at first glance that those lemmas are the π‑λ theorem. The new lemma states the result in its familiar textbook form, so users can recognise and cite it immediately.
Both pieces are under 10 lines, term‑mode only, and do not modify existing APIs.
No breaking changes.
No dependencies.
|
awaiting-author
t-measure-probability
new-contributor
|
13/0 |
Mathlib/MeasureTheory/PiSystem.lean |
1 |
14 |
['EtienneC30', 'KiringYJ', 'dagurtomas', 'github-actions', 'ocfnash'] |
RemyDegenne assignee:RemyDegenne |
24-53926 24 days ago |
24-53926 24 days ago |
138-3922 138 days |
| 31719 |
maksym-radziwill author:maksym-radziwill |
feat: Borel-Caratheodory (2nd revision) |
This proves the Borel-Caratheodory theorem, for the previous iteration see https://github.com/leanprover-community/mathlib4/pull/30424
CC: @grunweg @j-loreaux @Ruben-VandeVelde @wwylele
---
[](https://gitpod.io/from-referrer/)
|
awaiting-author
t-analysis
|
146/0 |
Mathlib.lean,Mathlib/Analysis/Complex/BorelCaratheodory.lean,docs/1000.yaml |
3 |
4 |
['github-actions', 'grunweg', 'maksym-radziwill', 'mathlib4-merge-conflict-bot'] |
nobody |
24-34688 24 days ago |
24-34712 24 days ago |
0-35115 9 hours |
| 30953 |
kim-em author:kim-em |
experiment: add `canonical` to Mathlib |
Depends on (these must be merged first before CI will succeed here)
- [x] #30952
- [x] #30844 |
|
63/3 |
Mathlib/Tactic/Common.lean,Mathlib/Tactic/Linter/DirectoryDependency.lean,MathlibTest/canonical.lean,lake-manifest.json,lakefile.lean |
5 |
2 |
['github-actions', 'mathlib4-merge-conflict-bot'] |
nobody |
24-26476 24 days ago |
24-26490 24 days ago |
0-0 0 seconds |
| 29409 |
Julian author:Julian |
feat(Mathlib/Analysis): deriv_eq_self and deriv_exp_iff |
---
[](https://gitpod.io/from-referrer/)
|
awaiting-author
t-analysis
|
29/0 |
Mathlib/Analysis/SpecialFunctions/ExpDeriv.lean |
1 |
9 |
['Julian', 'Paul-Lez', 'eric-wieser', 'github-actions', 'j-loreaux', 'mathlib4-merge-conflict-bot'] |
j-loreaux assignee:j-loreaux |
23-67891 23 days ago |
23-67907 23 days ago |
15-76317 15 days |
| 22366 |
kim-em author:kim-em |
feat: `check_equalities` tactic for diagnosing defeq problems |
The `check_equalities` tactic,
which checks the typing of equalities in the goal,
reporting discrepancies between the implicit type argument of the equality,
and the inferred types of the left and right hand sides,
at "instances and reducible" transparency.
Reports from this tactic do not necessarily indicate a problem,
although typically `simp` should reduce rather than increase the reported discrepancies.
`check_equalities` may be useful in diagnosing uses of `erw`. |
delegated
t-meta
|
119/4 |
Mathlib.lean,Mathlib/Tactic.lean,Mathlib/Tactic/Basic.lean,Mathlib/Tactic/CategoryTheory/CheckCompositions.lean,Mathlib/Tactic/CheckEqualities.lean,Mathlib/Tactic/Common.lean,MathlibTest/check_equalities.lean |
7 |
18 |
['adomani', 'b-mehta', 'eric-wieser', 'github-actions', 'grunweg', 'kim-em', 'mathlib-bors', 'mathlib4-merge-conflict-bot'] |
nobody |
23-49050 23 days ago |
23-49067 23 days ago |
15-14325 15 days |
| 29953 |
slashbade author:slashbade |
feat: add reap for experiment |
---
[](https://gitpod.io/from-referrer/)
|
new-contributor |
40/3 |
Cache/IO.lean,Mathlib/Tactic/Common.lean,Mathlib/Tactic/Linter/DirectoryDependency.lean,lake-manifest.json,lakefile.lean |
5 |
2 |
['github-actions', 'mathlib4-merge-conflict-bot'] |
nobody |
23-19136 23 days ago |
23-79926 23 days ago |
0-0 0 seconds |
| 31854 |
erdOne author:erdOne |
chore(AlgebraicGeometry): API for `𝒪ₓ`-modules |
---
[](https://gitpod.io/from-referrer/)
|
awaiting-author
t-algebraic-geometry
|
475/15 |
Mathlib/Algebra/Category/ModuleCat/ChangeOfRings.lean,Mathlib/Algebra/Category/ModuleCat/Presheaf/Colimits.lean,Mathlib/Algebra/Category/ModuleCat/Presheaf/Limits.lean,Mathlib/Algebra/Category/ModuleCat/Sheaf/Colimits.lean,Mathlib/Algebra/Category/ModuleCat/Sheaf/PullbackContinuous.lean,Mathlib/Algebra/Category/ModuleCat/Sheaf/PushforwardContinuous.lean,Mathlib/AlgebraicGeometry/Modules/Sheaf.lean,Mathlib/AlgebraicGeometry/OpenImmersion.lean |
8 |
3 |
['erdOne', 'github-actions', 'joelriou'] |
nobody |
23-262 23 days ago |
23-262 23 days ago |
0-69692 19 hours |
| 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 |
789/2 |
Mathlib.lean,Mathlib/Algebra/Lie/Derivation/AdjointAction.lean,Mathlib/Tactic.lean,Mathlib/Tactic/LieAlgebra/Basic.lean,Mathlib/Tactic/LieAlgebra/LieRingNF.lean,Mathlib/Util/AtomM.lean,MathlibTest/lie_ring.lean,scripts/noshake.json |
8 |
33 |
['FLDutchmann', 'JovanGerb', 'github-actions', 'grunweg', 'mathlib4-merge-conflict-bot', 'xyzw12345'] |
JovanGerb assignee:JovanGerb |
22-83603 22 days ago |
22-83621 22 days ago |
141-66108 141 days |
| 29434 |
ntapiam author:ntapiam |
feat(NonAssoc/LieAdmissible): prove every ring/algebra is LieAdmissible |
-awaiting-author |
t-algebra
new-contributor
label:t-algebra$ |
27/6 |
Mathlib/Algebra/NonAssoc/LieAdmissible/Defs.lean |
1 |
2 |
['github-actions', 'mathlib4-merge-conflict-bot'] |
nobody |
22-52236 22 days ago |
22-71609 22 days ago |
94-65106 94 days |
| 29151 |
yuanyi-350 author:yuanyi-350 |
feat: Corollary of Hahn–Banach theorem |
In this PR, I have proved [Rudin, *Functional Analysis* (Theorem 3.7)][rudin1991] which is a step in proving the Closed Range Theorem. Also, I have added tags for the corresponding theorems in Rudin to mathlib.
3.7 Theorem. Suppose B is a convex, balanced, closed set in a locally convex space $X, x_0 \in X$, but $x_0 \notin B$. Then there exists $\Lambda \in X^*$ such that $|\Lambda x| \leq 1$ for all $x \in B$, but $\Lambda x_0>1$
proof. Since $B$ is closed and convex, we can apply (b) of Theorem 3.4, with $A=\{ x_0 \}$ , to obtain $\Lambda_1 \in X^*$ such that $\Lambda_1 x_0=r e^{i \theta}$ lies outside the closure $K$ of $\Lambda_1(B)$. Since $B$ is balanced, so is $K$. Hence there exists $s, 0" --allow-empty -m "add Author Name as coauthor"
When merging, all the commits will be squashed into a single commit listing all co-authors.
If you are moving or deleting declarations, please include these lines at the bottom of the commit message
(that is, before the `---`) using the following format:
Moves:
- Vector.* -> List.Vector.*
- ...
Deletions:
- Nat.bit1_add_bit1
- ...
Any other comments you want to keep out of the PR commit should go
below the `---`, and placed outside this HTML comment, or else they
will be invisible to reviewers.
If this PR depends on other PRs, please list them below this comment,
using the following format:
- [ ] depends on: #xyz [optional extra text]
-->
[](https://gitpod.io/from-referrer/)
|
awaiting-author
new-contributor
|
70/1 |
Mathlib/Analysis/LocallyConvex/Separation.lean,Mathlib/Analysis/RCLike/Lemmas.lean,Mathlib/Topology/Order/OrderClosed.lean |
3 |
16 |
['faenuccio', 'fpvandoorn', 'github-actions', 'mathlib4-dependent-issues-bot', 'mathlib4-merge-conflict-bot', 'mcdoll', 'themathqueen', 'yuanyi-350'] |
faenuccio assignee:faenuccio |
22-24303 22 days ago |
22-31747 22 days ago |
21-29486 21 days |
| 29856 |
mans0954 author:mans0954 |
feat(Analysis/Normed/Ring/Basic): Add NonUnitalNonAssocSeminormedRing and NonUnitalNonAssocNormedRing |
Adds the classes `NonUnitalNonAssocSeminormedRing` and `NonUnitalNonAssocNormedRing` and relaxes the `NonUnitalSeminormedRing` section to `NonUnitalNonAssocSeminormedRing`.
Examples of non-unital non-associative normed rings include non-untial JB-algebras and non-unital JB*-algebras.
---
[](https://gitpod.io/from-referrer/)
|
awaiting-author
t-analysis
|
110/11 |
Mathlib/Analysis/Normed/Ring/Basic.lean,MathlibTest/TCSynth.lean |
2 |
15 |
['github-actions', 'j-loreaux', 'leanprover-bot'] |
ADedecker assignee:ADedecker |
22-24067 22 days ago |
25-44611 25 days ago |
58-29334 58 days |
| 28141 |
YaelDillies author:YaelDillies |
chore: deprecate `BialgHom.coe_toLinearMap` |
`BialgHom.toLinearMap` is a fake projection.
From Toric
---
[](https://gitpod.io/from-referrer/)
|
awaiting-zulip
toric
t-ring-theory
|
5/11 |
Mathlib/RingTheory/Bialgebra/Hom.lean |
1 |
16 |
['YaelDillies', 'erdOne', 'eric-wieser', 'github-actions'] |
alreadydone assignee:alreadydone |
21-78238 21 days ago |
21-78238 21 days ago |
101-9047 101 days |
| 30637 |
strihanje01 author:strihanje01 |
feat(Combinatorics/SetFamily/Lindstrom): Lindstrom's theorem for subfamilies with equal unions |
add Lindstrom's theorem and its strengthening for equal intersections
---
[](https://gitpod.io/from-referrer/)
|
t-combinatorics
new-contributor
|
209/0 |
Mathlib/Combinatorics/SetFamily/Lindstrom.lean |
1 |
2 |
['github-actions', 'mathlib4-merge-conflict-bot'] |
b-mehta assignee:b-mehta |
21-76075 21 days ago |
22-58506 22 days ago |
55-25510 55 days |
| 31259 |
YaelDillies author:YaelDillies |
refactor(Dynamics): use `SetRel` notions of separation and cover |
... instead of the handmade ones.
---
[](https://gitpod.io/from-referrer/)
|
t-dynamics |
173/203 |
Mathlib/Data/Rel/Cover.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/Topology/UniformSpace/Defs.lean |
7 |
7 |
['D-Thomine', 'YaelDillies', 'github-actions', 'mathlib4-merge-conflict-bot'] |
urkud assignee:urkud |
21-68803 21 days ago |
24-80374 24 days ago |
37-82298 37 days |
| 31949 |
ADedecker author:ADedecker |
chore: prefer `Pi.single i 1 j` over `fun j => if i = j then 1 else 0` |
---
[](https://gitpod.io/from-referrer/)
|
awaiting-author
t-algebra
label:t-algebra$ |
23/21 |
Mathlib/Algebra/BigOperators/Pi.lean,Mathlib/Analysis/Convex/StdSimplex.lean,Mathlib/LinearAlgebra/Matrix/Adjugate.lean,Mathlib/LinearAlgebra/Pi.lean,Mathlib/Topology/Algebra/Module/Basic.lean |
5 |
5 |
['eric-wieser', 'github-actions', 'themathqueen'] |
nobody |
21-42424 21 days ago |
21-42424 21 days ago |
0-21800 6 hours |
| 31965 |
bwangpj author:bwangpj |
feat: fiber of RingHom.specComap |
This contribution was created as part of the Heidelberg Lean workshop "Formalising algebraic geometry" in November 2025.
Co-authored-by: Christian Merten @chrisflav
---
[](https://gitpod.io/from-referrer/)
|
awaiting-author
t-ring-theory
|
29/0 |
Mathlib/RingTheory/Spectrum/Prime/RingHom.lean |
1 |
3 |
['bwangpj', 'erdOne', 'github-actions'] |
nobody |
21-40701 21 days ago |
21-43427 21 days ago |
0-5921 1 hour |
| 29030 |
b-mehta author:b-mehta |
feat(Combinatorics): prove the Rado selection lemma |
Prove the Rado selection lemma, a generic result useful to prove a variety of compactness results in combinatorics. This generalises Konig's infinity lemma, and the de Bruijn-Erdos theorem, and allows the former to be conveniently stated in the language of sets rather than categories.
This is a draft PR for now, since de Bruijn-Erdos should move out of this file.
---
[](https://gitpod.io/from-referrer/)
|
t-combinatorics |
131/0 |
Mathlib/Combinatorics/SimpleGraph/DeBruijnErdos.lean |
1 |
1 |
['github-actions'] |
nobody |
20-57702 20 days ago |
108-62711 3 months ago |
0-0 0 seconds |
| 31571 |
erdOne author:erdOne |
feat(RingTheory): existence of local algebra with given residue field |
---
[](https://gitpod.io/from-referrer/)
|
awaiting-author
t-ring-theory
|
225/0 |
Mathlib.lean,Mathlib/RingTheory/LocalRing/SeparableResidueField.lean |
2 |
7 |
['chrisflav', 'github-actions', 'jcommelin', 'mathlib4-merge-conflict-bot'] |
chrisflav assignee:chrisflav |
20-47859 20 days ago |
20-51316 20 days ago |
9-73319 9 days |
| 31176 |
mcdoll author:mcdoll |
feat(Analysis): Taylor's theorem with the integral remainder |
---
[](https://gitpod.io/from-referrer/)
|
awaiting-author
t-analysis
|
169/2 |
Mathlib.lean,Mathlib/Analysis/Calculus/TaylorIntegral.lean,Mathlib/Analysis/Normed/Operator/BoundedLinearMaps.lean,docs/100.yaml,docs/undergrad.yaml |
5 |
5 |
['github-actions', 'mathlib4-merge-conflict-bot', 'sgouezel'] |
sgouezel assignee:sgouezel |
20-5324 20 days ago |
20-5324 20 days ago |
7-32435 7 days |
| 30432 |
kckennylau author:kckennylau |
feat(AlgebraicGeometry): define the non-vanishing locus of a set in Proj |
Given a subset `s : Set A`, the non-vanishing locus of `s` is the set of points whose corresponding prime ideal does not fully contain `s`. In other words, where not all elements of `s` vanish.
I could not find a name for this in the literature.
---
[](https://gitpod.io/from-referrer/)
|
awaiting-author
t-algebraic-geometry
|
66/0 |
Mathlib/AlgebraicGeometry/ProjectiveSpectrum/Basic.lean |
1 |
4 |
['github-actions', 'jcommelin'] |
alexjbest assignee:alexjbest |
19-80840 19 days ago |
19-80840 19 days ago |
44-12068 44 days |
| 31989 |
Thmoas-Guan author:Thmoas-Guan |
feat(RingTheory): add ideal fg of Noetherian lemma |
In this PR, we added lemma `Ideal.FG.of_isNoetherianRing`.
---
[](https://gitpod.io/from-referrer/)
|
awaiting-author
easy
t-ring-theory
|
4/0 |
Mathlib/RingTheory/Noetherian/Defs.lean |
1 |
8 |
['Thmoas-Guan', 'chrisflav', 'erdOne', 'github-actions', 'ocfnash'] |
nobody |
19-58763 19 days ago |
19-67359 19 days ago |
1-26232 1 day |
| 25835 |
erdOne author:erdOne |
WIP: Weierstrass elliptic functions |
---
[](https://gitpod.io/from-referrer/)
---
*This PR continues the work from #21662.*
*Original PR: https://github.com/leanprover-community/mathlib4/pull/21662* |
WIP
t-analysis
|
1461/0 |
Mathlib/Analysis/Elliptic/Basic.lean |
1 |
13 |
['AntoineChambert-Loir', 'erdOne', 'github-actions'] |
nobody |
19-51420 19 days ago |
184-3858 6 months ago |
0-33 33 seconds |
| 26975 |
Whysoserioushah author:Whysoserioushah |
feat: a norm_num extension for complex numbers |
co-authored-by : @thefundamentaltheor3m, @hrmacbeth
---
[](https://gitpod.io/from-referrer/)
|
t-meta |
394/12 |
Mathlib/Analysis/RCLike/Basic.lean,Mathlib/Tactic/NormNum/Eq.lean,Mathlib/Tactic/NormNum/NormNumI.lean,Mathlib/Tactic/NormNum/Result.lean,MathlibTest/norm_numI.lean |
5 |
54 |
['JovanGerb', 'Whysoserioushah', 'dupuisf', 'eric-wieser', 'github-actions', 'hrmacbeth', 'mathlib4-merge-conflict-bot'] |
nobody |
19-45155 19 days ago |
19-45170 19 days ago |
144-11880 144 days |
| 31817 |
kckennylau author:kckennylau |
chore: remove extra monic hypotheses from divByMonic and modByMonic lemmas |
---
[Zulip discussion](https://leanprover.zulipchat.com/#narrow/channel/217875-Is-there-code-for-X.3F/topic/modByMonic_add_div/with/556964888)
[](https://gitpod.io/from-referrer/)
|
awaiting-author
t-algebra
t-ring-theory
label:t-algebra$ |
85/88 |
Mathlib/Algebra/Polynomial/CoeffMem.lean,Mathlib/Algebra/Polynomial/Div.lean,Mathlib/Algebra/Polynomial/FieldDivision.lean,Mathlib/Algebra/Polynomial/PartialFractions.lean,Mathlib/Algebra/Polynomial/RingDivision.lean,Mathlib/FieldTheory/Minpoly/Basic.lean,Mathlib/FieldTheory/Minpoly/Field.lean,Mathlib/FieldTheory/Minpoly/IsIntegrallyClosed.lean,Mathlib/LinearAlgebra/Charpoly/Basic.lean,Mathlib/LinearAlgebra/Matrix/Charpoly/Coeff.lean,Mathlib/RingTheory/Adjoin/PowerBasis.lean,Mathlib/RingTheory/AdjoinRoot.lean,Mathlib/RingTheory/IntegralClosure/IsIntegral/Basic.lean,Mathlib/RingTheory/IntegralDomain.lean,Mathlib/RingTheory/IsAdjoinRoot.lean,Mathlib/RingTheory/Polynomial/Eisenstein/IsIntegral.lean,Mathlib/RingTheory/Polynomial/Nilpotent.lean,Mathlib/RingTheory/PowerBasis.lean,Mathlib/RingTheory/PowerSeries/WeierstrassPreparation.lean,Mathlib/RingTheory/Spectrum/Prime/ChevalleyComplexity.lean |
20 |
19 |
['artie2000', 'bryangingechen', 'github-actions', 'jcommelin', 'kbuzzard', 'kckennylau', 'mathlib-bors'] |
jcommelin assignee:jcommelin |
19-42238 19 days ago |
19-80694 19 days ago |
4-37368 4 days |
| 30995 |
kckennylau author:kckennylau |
feat(RingTheory): replace ofLinearEquiv with limit |
For an `I`-adically complete `M` we define `limit : AdicCompletion I M ≃ₗ[R] M`. This replaces the existing `ofLinearEquiv : M ≃ₗ[R] AdicCompletion I M` which goes in the opposite direction, and should make #30989 and subsequent PR's smoother. It is intended to be used together with [AdicCompletion.mk](https://leanprover-community.github.io/mathlib4_docs/Mathlib/RingTheory/AdicCompletion/Basic.html#AdicCompletion.mk) : `AdicCompletion.AdicCauchySequence I M →ₗ[R] AdicCompletion I M`.
We also introduce `adicExpansion (ϖ : R) (hϖ : ϖ ∈ I) : (ℕ → M) →ₗ[R] AdicCauchySequence I M`, which sends a sequence `a : ℕ → M` to the Cauchy sequence `∑ ϖ ^ i • a i`.
---
[](https://gitpod.io/from-referrer/)
|
awaiting-author
t-ring-theory
|
77/49 |
Mathlib/RingTheory/AdicCompletion/Algebra.lean,Mathlib/RingTheory/AdicCompletion/Basic.lean,Mathlib/RingTheory/AdicCompletion/RingHom.lean |
3 |
8 |
['erdOne', 'github-actions', 'jjdishere', 'kckennylau', 'mathlib4-merge-conflict-bot'] |
erdOne assignee:erdOne |
19-11058 19 days ago |
21-40143 21 days ago |
13-36353 13 days |
| 32094 |
grunweg author:grunweg |
feat(runLinter): allow only running certain linters |
This adds a script `run_linter`, which is a fork of batteries' `runLinter` with extra features:
- rewrite as a CLI app, so --help messages etc. come for free
- add a `--list` option, which prints the list of linters it was about to run, and exists
- add `--select`, `--ignore` and `--only` options which ensure certain linters are always run, never resp. that only a certain list of linters are run. (`add` takes priority over `exclude` or `only`.)
- add an `update_only_remove` flag which only runs linters mentioned in the `nolints` file: this only removes entries (by design), but is often much faster.
- renamed to `run_linter`: actually, per the [zulip discussion](https://leanprover.zulipchat.com/#narrow/stream/287929-mathlib4/topic/Naming.20convention/near/450896930), this should be `run-linter` --- and one could as well use the opportunity to rename this to e.g. `env-linter`. Asked [here](https://leanprover.zulipchat.com/#narrow/stream/270676-lean4/topic/Configuring.2Fmodernizing.20runLinter).
Intended use cases
1. Run `update_only_remove` when updating the nolints file. In fact, it is so fast that it could even run during regular CI, after the normal `lint` step...
2. Run the mathlib linters locally. The simpNF linters are slow enough (for a reason, but still) that doing so is currently annoying. On my notebook, they can easily take half an hour, during which my notebook is otherwise hardly usable.
3. You're developing a new linter and only want to run *that* one (as there was no change about the other ones).
Probably, the nicest result would be this PR landing in batteries (perhaps in pieces) instead of here.
---
I'm not happy about one detail:
- many options take an `Array String`: how can I pass this to the executable? This is not obvious to me...
- TODO: address the comment at https://github.com/leanprover-community/mathlib4/pull/14654#discussion_r1685824917
Continuation of #14654. Proof-of-concept; the real implementation should be in batteries/a separate repository.
---
[](https://gitpod.io/from-referrer/)
|
CI
t-linter
|
154/0 |
lakefile.lean,scripts/run_linter.lean |
2 |
1 |
['github-actions'] |
nobody |
18-81930 18 days ago |
18-81930 18 days ago |
18-81968 18 days |
| 31366 |
FaffyWaffles author:FaffyWaffles |
feat(Analysis/SpecialFunctions/StirlingRobbins): Robbins' sharp stepwise bound for stirlingSeq |
Introduces `Mathlib.Analysis.SpecialFunctions.StirlingRobbins`,
proving Robbins' sharp stepwise bound for the Stirling sequence.
* Main theorem: `log_stirlingSeq_diff_le`
* Improves the existing bound `1/(4k^2)` to the sharp `1/(12k(k+1))`
* Adds helper lemmas on summability and geometric bounds
* Complements `Stirling.lean`
References:
- https://leanprover-community.github.io/mathlib4_docs/Mathlib/Analysis/SpecialFunctions/Stirling.html
- Robbins (1955), *A Remark on Stirling’s Formula*
---
**Note for Transparency:** Assistance provided by AI tools (Claude and Aristotle) for drafting, text, and structure.
[](https://gitpod.io/from-referrer/)
|
awaiting-author
t-analysis
new-contributor
|
64/5 |
Mathlib/Analysis/SpecialFunctions/Stirling.lean |
1 |
15 |
['FaffyWaffles', 'github-actions', 'j-loreaux', 'mathlib4-merge-conflict-bot', 'tb65536'] |
nobody |
18-45411 18 days ago |
18-45411 18 days ago |
4-57241 4 days |
| 31796 |
dobronx1325 author:dobronx1325 |
feat(Data/Real/EReal): add mul_lt_mul_of_pos_left theorem |
This PR adds the theorem `EReal.mul_lt_mul_of_pos_left`, which states that for a positive real number `a` and extended reals `b < c`, left multiplication by `a` preserves the strict order: `(a : EReal) * b < (a : EReal) * c`.
The theorem complements existing order-preserving properties for addition in `EReal` and extends the algebraic structure for multiplication. The proof uses basic properties of extended reals and order relations.
---
[](https://gitpod.io/from-referrer/)
|
new-contributor
t-data
|
23/0 |
Mathlib/Data/EReal/Operations.lean |
1 |
4 |
['JovanGerb', 'LLaurance', 'dobronx1325', 'github-actions'] |
nobody |
18-23717 18 days ago |
25-18440 25 days ago |
25-18475 25 days |
| 27258 |
JovanGerb author:JovanGerb |
feat: Imo2020 q6 |
Original PR: #23431
This PR adds a solution to IMO 2020 Q6. It follows the solution that I found when I was participating in the IMO. I used the statement formalization that was given by @jsm28.
---
- [x] depends on: #27257
[](https://gitpod.io/from-referrer/)
|
awaiting-author
IMO
|
335/0 |
Archive.lean,Archive/Imo/Imo2020Q6.lean |
2 |
14 |
['JovanGerb', 'dwrensha', 'github-actions', 'jsm28', 'mathlib4-dependent-issues-bot'] |
dwrensha assignee:dwrensha |
17-75395 17 days ago |
17-75395 17 days ago |
64-78344 64 days |
| 31755 |
kaantahti author:kaantahti |
feat(Combinatorics): Add Sperner's Lemma formalization |
Complete formalization of Sperner's Lemma with rigorous proofs:
- Main theorems: strong_sperner (odd count) and sperner (existence)
- 13 fully proven auxiliary lemmas
- 8 documented axioms for simplicial complex API
- ~750 lines, zero sorries
- Addresses issue #25231
This formalization proves both the strong version (odd number of panchromatic faces) and the existence version of Sperner's Lemma. The proof uses induction on dimension with a complete parity argument via boundary counting.
The 8 axioms represent standard results from simplicial complex theory that are currently missing from mathlib4's geometric API. Each axiom is documented with mathematical justification and difficulty rating.
Closes #25231
|
WIP
t-combinatorics
new-contributor
|
7725/0 |
Mathlib.lean,Mathlib/Analysis/Convex/SimplicialComplex/Boundary.lean,Mathlib/Combinatorics/Sperner.lean,PR_COMMENT_DRAFT.md |
4 |
4 |
['LLaurance', 'github-actions', 'mathlib4-merge-conflict-bot'] |
nobody |
17-72004 17 days ago |
17-72004 17 days ago |
8-13311 8 days |
| 30030 |
JonBannon author:JonBannon |
feat(MeasureTheory): add `MemLp.Const` class and instances to unify `p = ∞` and `μ.IsFiniteMeasure` cases |
Although it is possible to ensure that, for example, the `One` instances for `p=∞` and `μ.IsFiniteMeasure` are defeq, introducing an `MemLp.Const` typeclass removes the need to unfold extensively to check this definitional equality, improving performance. cf. https://leanprover.zulipchat.com/#narrow/channel/287929-mathlib4/topic/Lp.20constant.20function.20issue/with/537563137
This PR introduces the requisite class and associated instances.
---
[](https://gitpod.io/from-referrer/)
|
awaiting-author
t-measure-probability
|
224/137 |
Mathlib/MeasureTheory/Function/ConditionalExpectation/AEMeasurable.lean,Mathlib/MeasureTheory/Function/ContinuousMapDense.lean,Mathlib/MeasureTheory/Function/L1Space/Integrable.lean,Mathlib/MeasureTheory/Function/LocallyIntegrable.lean,Mathlib/MeasureTheory/Function/LpSeminorm/Basic.lean,Mathlib/MeasureTheory/Function/LpSpace/Basic.lean,Mathlib/MeasureTheory/Function/LpSpace/ContinuousCompMeasurePreserving.lean,Mathlib/MeasureTheory/Function/LpSpace/DomAct/Basic.lean,Mathlib/MeasureTheory/Function/LpSpace/Indicator.lean,Mathlib/MeasureTheory/Function/SimpleFuncDenseLp.lean,Mathlib/MeasureTheory/Integral/IntegrableOn.lean,Mathlib/MeasureTheory/Integral/SetToL1.lean,Mathlib/MeasureTheory/Measure/SeparableMeasure.lean |
13 |
24 |
['JonBannon', 'github-actions', 'j-loreaux', 'mathlib4-merge-conflict-bot'] |
urkud assignee:urkud |
17-71183 17 days ago |
23-72562 23 days ago |
19-64975 19 days |
| 31315 |
Parcly-Taxel author:Parcly-Taxel |
feat: IMO 2010 Q5 |
I use an opaque power function to avoid `(kernel) deep recursion detected`. Cf. [#general > Panic in rw: Nat.pow exponent is too big @ 💬](https://leanprover.zulipchat.com/#narrow/channel/113488-general/topic/Panic.20in.20rw.3A.20Nat.2Epow.20exponent.20is.20too.20big/near/513294906). |
awaiting-author
IMO
|
252/0 |
Archive.lean,Archive/Imo/Imo2010Q5.lean |
2 |
2 |
['github-actions', 'jsm28'] |
dwrensha assignee:dwrensha |
17-71147 17 days ago |
17-71147 17 days ago |
20-37914 20 days |
| 30744 |
grunweg author:grunweg |
feat: more extensions for differential geometry elaborators |
Support inferring a model with corners in all remaining instances in mathlib, except for products and direct sums:
- on Euclidean space, half-space or quadrants.
- for the units in a normed algebra (including GL(V))
- the unit interval
- on the complex unit circle
- on a metric sphere in a real or complex inner product space (WIP)
---
- [x] depends on: #30413
- [x] depends on: #30879
[](https://gitpod.io/from-referrer/)
|
t-meta
t-differential-geometry
|
487/32 |
Mathlib/Geometry/Manifold/Instances/UnitsOfNormedAlgebra.lean,Mathlib/Geometry/Manifold/Notation.lean,MathlibTest/DifferentialGeometry/Notation.lean,MathlibTest/DifferentialGeometry/NotationAdvanced.lean |
4 |
10 |
['github-actions', 'grunweg', 'mathlib4-dependent-issues-bot', 'mathlib4-merge-conflict-bot', 'thorimur'] |
thorimur assignee:thorimur |
17-36357 17 days ago |
17-84937 17 days ago |
18-1111 18 days |
| 30886 |
urkud author:urkud |
feat(DifferentialForm): exterior derivative applied to vector fields |
---
- [ ] depends on: #30331
[](https://gitpod.io/from-referrer/)
|
t-analysis |
217/0 |
Mathlib.lean,Mathlib/Analysis/Calculus/DifferentialForm/VectorField.lean,Mathlib/Analysis/Calculus/FDeriv/ContinuousAlternatingMap.lean,Mathlib/Topology/Algebra/Module/Alternating/Basic.lean |
4 |
4 |
['github-actions', 'mathlib4-dependent-issues-bot', 'mathlib4-merge-conflict-bot'] |
kex-y assignee:kex-y |
17-33929 17 days ago |
18-46896 18 days ago |
27-15356 27 days |
| 30750 |
SnirBroshi author:SnirBroshi |
feat(Data/Quot): `toSet` and `equivClassOf` |
Define `toSet` which gets the set corresponding to an element of a quotient, and `equivClassOf` which gets the equivalence class of an element under a quotient.
---
I found these definitions helpful when working with quotients, specifically `ConnectedComponents` of a `TopologicalSpace`.
Additionally, I need `equivSigmaToSet` (in `Data/Setoid/Basic`) to prove things about `SimpleGraph.ConnectedComponent`.
[](https://gitpod.io/from-referrer/)
|
awaiting-author
awaiting-zulip
t-data
|
179/0 |
Mathlib/Data/Quot.lean,Mathlib/Data/Set/Image.lean,Mathlib/Data/SetLike/Basic.lean,Mathlib/Data/Setoid/Basic.lean |
4 |
3 |
['TwoFX', 'eric-wieser', 'github-actions'] |
TwoFX assignee:TwoFX |
17-8915 17 days ago |
17-8915 17 days ago |
36-69524 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 structure 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
---
- [x] depends on: #29594
- [x] depends on: #29644
[](https://gitpod.io/from-referrer/)
|
t-algebra
t-order
label:t-algebra$ |
113/2 |
Mathlib/Algebra/GroupWithZero/Range.lean,Mathlib/Algebra/Order/GroupWithZero/Range.lean |
2 |
109 |
['YaelDillies', 'eric-wieser', 'faenuccio', 'github-actions', 'leanprover-community-bot-assistant', 'mathlib4-dependent-issues-bot', 'mathlib4-merge-conflict-bot', 'pechersky'] |
YaelDillies assignee:YaelDillies |
17-7910 17 days ago |
17-7934 17 days ago |
73-12845 73 days |
| 32039 |
HugLycan author:HugLycan |
Feat/positivity-zeroness |
---
WIP...
[](https://gitpod.io/from-referrer/)
|
WIP
t-meta
new-contributor
|
528/131 |
Mathlib/Tactic/Positivity/Basic.lean,Mathlib/Tactic/Positivity/Core.lean,Mathlib/Tactic/Positivity/test_Basic.lean |
3 |
2 |
['github-actions'] |
nobody |
16-74849 16 days ago |
16-74882 16 days ago |
0-16 16 seconds |
| 31500 |
zcyemi author:zcyemi |
feat(Analysis/Convex/Between): add lemmas on affine independence under strict betweenness |
---
Add lemmas showing that affine independence is preserved when replacing a vertex
by a point strictly between two others, and related results for triangles.
deps:
- [ ] depends on: #31498
- [ ] depends on: #31499
|
awaiting-author
t-convex-geometry
|
101/0 |
Mathlib/Analysis/Convex/Between.lean,Mathlib/LinearAlgebra/AffineSpace/FiniteDimensional.lean,Mathlib/LinearAlgebra/AffineSpace/Independent.lean |
3 |
5 |
['github-actions', 'mathlib4-dependent-issues-bot', 'ocfnash', 'zcyemi'] |
nobody |
16-59674 16 days ago |
16-59674 16 days ago |
7-39716 7 days |
| 32186 |
urkud author:urkud |
feat(Integral): estimate displacement by the integral of the speed |
This PR adds yet another form of the Mean Value Theorem. I don't know if we can refactor the proofs to reduce code duplication. I'll add more versions before marking the PR as ready for review.
---
[](https://gitpod.io/from-referrer/)
|
t-measure-probability |
81/0 |
Mathlib.lean,Mathlib/MeasureTheory/Integral/IntervalIntegral/DistLEIntegral.lean |
2 |
1 |
['github-actions'] |
nobody |
16-52611 16 days ago |
16-52618 16 days ago |
0-0 0 seconds |
| 32042 |
chrisflav author:chrisflav |
feat(AlgebraicGeometry): quasi compact covers |
This will be used to define the fpqc topology on `Scheme`.
From Proetale.
---
[](https://gitpod.io/from-referrer/)
|
t-algebraic-geometry |
311/1 |
Mathlib.lean,Mathlib/AlgebraicGeometry/Cover/QuasiCompact.lean,Mathlib/AlgebraicGeometry/Morphisms/Affine.lean,Mathlib/AlgebraicGeometry/Morphisms/QuasiCompact.lean,Mathlib/AlgebraicGeometry/Morphisms/UnderlyingMap.lean,Mathlib/AlgebraicGeometry/Sites/MorphismProperty.lean,Mathlib/Topology/Sets/CompactOpenCovered.lean,Mathlib/Topology/Spectral/Prespectral.lean |
8 |
9 |
['chrisflav', 'erdOne', 'github-actions'] |
joneugster assignee:joneugster |
16-33931 16 days ago |
20-1220 20 days ago |
20-1193 20 days |
| 32169 |
saodimao20 author:saodimao20 |
feat: add convolution_comp_add_right |
This PR adds a lemma `convolution_comp_translation_right` showing that convolution commutes with translation on the right operand. Specifically, it proves that for an additive commutative group $G$, the convolution of a function $f$ with a translated function $x \mapsto g(a + x)$ is equal to the convolution of $f$ and $g$ evaluated at $x + a$.
---
[](https://gitpod.io/from-referrer/)
|
awaiting-author
t-analysis
new-contributor
|
14/0 |
Mathlib/Analysis/Convolution.lean |
1 |
3 |
['github-actions', 'urkud'] |
nobody |
16-10097 16 days ago |
16-10097 16 days ago |
0-82278 22 hours |
| 28944 |
linesthatinterlace author:linesthatinterlace |
refactor(Order/Hom/Basic): reorder definitions |
Reorder and disentangle definitions for OrderHom, OrderEmbedding and OrderIso.
---
This is a preamble to making all of these `def` and consistently defined - the aim is to first disentangle the definitions as it will make it more straightforward to perform these later PRs.
[](https://gitpod.io/from-referrer/)
|
t-order |
215/180 |
Mathlib/Order/Hom/Basic.lean |
1 |
17 |
['YaelDillies', 'github-actions', 'linesthatinterlace', 'mathlib4-merge-conflict-bot'] |
b-mehta and linesthatinterlace assignee:b-mehta assignee:linesthatinterlace |
16-5472 16 days ago |
19-63860 19 days ago |
45-69959 45 days |
| 31132 |
kckennylau author:kckennylau |
feat(Algebra): saturation of a submonoid |
This PR defines the saturation of a submonoid and the type of saturated submonoids.
It is used for the context of localisations.
Caveat: there is a similarly named predicate called `AddSubgroup.Saturated`.
Zulip:
* [mathlib4 > saturation of a submonoid](https://leanprover.zulipchat.com/#narrow/channel/287929-mathlib4/topic/saturation.20of.20a.20submonoid/with/548242862)
* [#Is there code for X? > Closure of Submonoid in CommMonoids](https://leanprover.zulipchat.com/#narrow/channel/217875-Is-there-code-for-X.3F/topic/Closure.20of.20Submonoid.20in.20CommMonoids/near/419087778)
---
[](https://gitpod.io/from-referrer/)
|
t-algebra label:t-algebra$ |
278/0 |
Mathlib/Algebra/Group/Submonoid/Saturation.lean |
1 |
12 |
['github-actions', 'kckennylau', 'mathlib4-merge-conflict-bot', 'plp127'] |
kim-em assignee:kim-em |
15-80292 15 days ago |
23-77997 23 days ago |
42-29123 42 days |
| 31662 |
edwin1729 author:edwin1729 |
feat(Topology/Order): topological basis of scott topology on Complete… |
…PartialOrder
---
[Zulip discussion](https://leanprover.zulipchat.com/#narrow/channel/287929-mathlib4/topic/.3E.20Algebraic.20complete.20partial.20order.20and.20domain.20theory/with/536359313) for this PR.
(1/2) PRs in domain theory, proving that scott topologies over Algebraic DCPOs (`CompletePartialOrder`) are sober.
The main reference is [Reneta, Duality in Domain Theory](https://alyata.github.io/documents/duality_domain_theory.pdf). But the statements can also be found in the canonical text [Abramsky and Jung](https://www.cs.ox.ac.uk/people/samson.abramsky/handbook.pdf)
This first PR proves two prerequisites, namely:
- the specialization order induced by the scott topology corresponds to the existing order of the DCPO. Prop 3.1.5 in [Duality in Domain Theory](https://alyata.github.io/documents/duality_domain_theory.pdf) and Prop 2.3.2(1) in [Abramsky and Jung](https://www.cs.ox.ac.uk/people/samson.abramsky/handbook.pdf)
- the upward closures of compact elements of the DCPO form a topological basis for the Scott Topology. Prop 3.5.2 in [Duality in Domain Theory](https://alyata.github.io/documents/duality_domain_theory.pdf) and Prop 2.3.6(2) in [Abramsky and Jung](https://www.cs.ox.ac.uk/people/samson.abramsky/handbook.pdf)
**The next PR is here:** #31670
[](https://gitpod.io/from-referrer/)
|
awaiting-author
t-topology
new-contributor
|
293/1 |
Mathlib.lean,Mathlib/Topology/Order/ScottTopology.lean,Mathlib/Topology/Order/ScottTopologyDCPO.lean,docs/references.bib |
4 |
37 |
['b-mehta', 'edwin1729', 'github-actions', 'mathlib4-merge-conflict-bot', 'plp127'] |
b-mehta assignee:b-mehta |
15-76518 15 days ago |
15-76518 15 days ago |
12-62657 12 days |
| 31836 |
hanwenzhu author:hanwenzhu |
chore(MeasureTheory/IntervalIntegral): generalize fundamental theorem of calculus to `HasDerivWithinAt` instead of `HasDerivAt` |
This PR generalizes `HasDerivAt` to `HasDerivWithinAt`, and `DifferentiableAt` to `DifferentiableOn`, for the fundamental theorem of calculus for interval integrals.
I found this during trying to state a skeleton of a proof of a higher-dimensional Taylor's theorem. There, the correct assumption is something like `ContDiffOn n f [[a, b]]`, rather than `∀ x ∈ [[a, b]], ContDiffAt 𝕜 n f [[a, b]] x`, which traces back to this issue.
---
[](https://gitpod.io/from-referrer/)
|
awaiting-author
t-analysis
t-measure-probability
|
143/51 |
Mathlib/Analysis/SpecialFunctions/Integrals/Basic.lean,Mathlib/Analysis/SpecialFunctions/NonIntegrable.lean,Mathlib/MeasureTheory/Constructions/BorelSpace/Order.lean,Mathlib/MeasureTheory/Integral/IntervalIntegral/FundThmCalculus.lean,Mathlib/MeasureTheory/Integral/IntervalIntegral/IntegrationByParts.lean,Mathlib/NumberTheory/AbelSummation.lean,Mathlib/NumberTheory/LSeries/SumCoeff.lean |
7 |
9 |
['github-actions', 'hanwenzhu', 'sgouezel'] |
sgouezel assignee:sgouezel |
15-56140 15 days ago |
16-80259 16 days ago |
6-17373 6 days |
| 32126 |
nielsvoss author:nielsvoss |
feat(Analysis/Normed/Operator): definition of singular values for linear maps |
This PR defines a generalization of singular values, the approximation numbers, for continuous linear maps between normed vector spaces. It proves basic lemmas about the approximation numbers and shows that for finite-dimensional vector spaces, the approximation numbers coincide with the standard definition of singular values.
See the discussion on Zulip: https://leanprover.zulipchat.com/#narrow/channel/217875-Is-there-code-for-X.3F/topic/Singular.20Value.20Decomposition/with/558914024
Co-authored-by: Arnav Mehta
Co-authored-by: Rawad Kansoh
---
[](https://gitpod.io/from-referrer/)
|
WIP
t-analysis
new-contributor
|
331/0 |
Mathlib/Analysis/Normed/Operator/SingularValues.lean |
1 |
2 |
['github-actions', 'nielsvoss'] |
nobody |
15-47638 15 days ago |
18-12505 18 days ago |
0-0 0 seconds |
| 31987 |
saodimao20 author:saodimao20 |
feat: add monotonicity and relation lemmas for mgf and cgf |
Add two lemmas about moment-generating and cumulant-generating functions:
- `mgf_mono_in_t_of_nonneg`: For nonnegative random variables, the mgf is monotone in the parameter `t`
- `cgf_zero_of_mgf_one`: The cgf equals zero iff the mgf equals one
These lemmas are useful for studying properties of mgf and cgf in probability theory.
Contributed by sequential-intelligence-lab(SIL), University of Virginia
---
[](https://gitpod.io/from-referrer/)
|
t-measure-probability
new-contributor
|
21/0 |
Mathlib/Probability/Moments/Basic.lean |
1 |
5 |
['DavidLedvinka', 'github-actions'] |
RemyDegenne assignee:RemyDegenne |
15-40518 15 days ago |
21-13389 21 days ago |
21-13424 21 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 |
WIP
t-topology
t-analysis
t-algebra
label:t-algebra$ |
150/0 |
Mathlib/RingTheory/Perfectoid.lean |
1 |
2 |
['github-actions', 'jjdishere'] |
nobody |
15-5521 15 days ago |
172-26436 5 months 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 |
WIP
t-number-theory
t-topology
t-algebra
label:t-algebra$ |
439/0 |
Mathlib/Topology/Algebra/Krasner.lean |
1 |
n/a |
['github-actions', 'jjdishere', 'mathlib4-merge-conflict-bot'] |
nobody |
15-5483 15 days ago |
unknown |
unknown |
| 28786 |
mitchell-horner author:mitchell-horner |
feat(Combinatorics/SimpleGraph): restate Turán's theorem in terms of `extremalNumber` |
Restates the existing proof of Turán's theorem in terms of the extremal numbers of `⊤`:
The `turanGraph` is, up to isomorphism, the unique extremal graph forbidding `⊤`.
---
- [x] depends on: #28719
- [x] depends on: #28785
[](https://gitpod.io/from-referrer/)
|
t-combinatorics |
30/0 |
Mathlib/Combinatorics/SimpleGraph/Extremal/Turan.lean |
1 |
7 |
['github-actions', 'mathlib4-dependent-issues-bot', 'mathlib4-merge-conflict-bot'] |
b-mehta assignee:b-mehta |
14-33913 14 days ago |
17-80478 17 days ago |
20-78143 20 days |
| 31180 |
CoolRmal author:CoolRmal |
feat(Analysis): a closed convex set is the intersection of countably many half-spaces in a separable Banach space |
This lemma is needed in the proof of conditional Jensen's inequality: #27953
---
[](https://gitpod.io/from-referrer/)
|
awaiting-author
t-analysis
new-contributor
|
69/12 |
Mathlib/Analysis/LocallyConvex/Separation.lean,Mathlib/Topology/Compactness/Lindelof.lean |
2 |
40 |
['ADedecker', 'CoolRmal', 'EtienneC30', 'github-actions', 'j-loreaux', 'mathlib4-merge-conflict-bot'] |
nobody |
14-27478 14 days ago |
15-76510 15 days ago |
3-22471 3 days |
| 21031 |
YaelDillies author:YaelDillies |
chore: get rid of generic hom coercions |
---
[](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 |
16 |
['Vierkantor', 'YaelDillies', 'github-actions', 'leanprover-community-bot-assistant', 'mathlib4-merge-conflict-bot', 'urkud'] |
Vierkantor assignee:Vierkantor |
13-79413 13 days ago |
24-82984 24 days ago |
0-17 17 seconds |
| 31988 |
winstonyin author:winstonyin |
feat: Uniqueness of implicit function |
As part of the implicit function theorem, the implicit function is locally unique.
I add some lemmas to facilitate the shuffling of factors of Cartesian products in Filter.Eventually statements.
- [ ] depends on: #30595
---
[](https://gitpod.io/from-referrer/)
|
t-analysis |
61/2 |
Mathlib/Analysis/Calculus/Implicit.lean,Mathlib/Analysis/Calculus/ImplicitContDiff.lean,Mathlib/Order/Filter/Prod.lean |
3 |
3 |
['github-actions', 'mathlib4-dependent-issues-bot', 'mathlib4-merge-conflict-bot'] |
ADedecker assignee:ADedecker |
13-33904 13 days ago |
16-55472 16 days ago |
16-55454 16 days |
| 32165 |
yuanyi-350 author:yuanyi-350 |
feat(Real/Trigonometric): Add `sum_cos_arith_progression` and prepare for Dirichlet kernel |
---
[](https://gitpod.io/from-referrer/)
|
awaiting-author
t-analysis
|
68/0 |
Mathlib.lean,Mathlib/Analysis/Fourier/DirichletKernel.lean |
2 |
7 |
['BoltonBailey', 'github-actions', 'urkud', 'yuanyi-350'] |
fpvandoorn assignee:fpvandoorn |
13-27033 13 days ago |
13-27033 13 days ago |
3-82683 3 days |
| 32152 |
Lingyin00 author:Lingyin00 |
feat(GroupTheory/SpecificGroups/Cyclic): generalize the proof of prime_card by not assuming Finite |
previously the proof of prime_card assumes `Finite`, which could derived from the premises of `CommGroup` and `IsSimpleGroup`.
This PR adds a theorem of finiteness of commutative simple group, a theorem of `prime_card` which dosen't assume `Finite`, and a theorem of isomorphism from any commutative simple group to `ZMod p`, where `p` is a prime number.
---
[](https://gitpod.io/from-referrer/)
|
awaiting-author
new-contributor
t-group-theory
|
69/4 |
Mathlib/GroupTheory/SpecificGroups/Cyclic.lean |
1 |
39 |
['Lingyin00', 'github-actions', 'jcommelin', 'plp127', 'tb65536'] |
tb65536 assignee:tb65536 |
13-26744 13 days ago |
13-26744 13 days ago |
3-80717 3 days |
| 31891 |
jsm28 author:jsm28 |
feat(Geometry/Euclidean/Sphere/OrthRadius): lemmas for setting up and using polars |
Add further lemmas about `orthRadius` that are of use in setting up and using poles and polars. In particular,
`ncard_inter_orthRadius_eq_two_of_dist_lt_radius` is the key part of showing that, in two dimensions, there are exactly two tangents to a circle from a point outside that circle (where the points of tangency lie on the polar of the point from which the two tangents are drawn).
---
Feel free to golf the proof of `ncard_inter_orthRadius_eq_two_of_dist_lt_radius`, it could probably be rather shorter.
---
- [ ] depends on: #32296
[](https://gitpod.io/from-referrer/)
|
t-euclidean-geometry |
88/1 |
Mathlib/Geometry/Euclidean/Sphere/OrthRadius.lean |
1 |
2 |
['github-actions', 'mathlib4-dependent-issues-bot'] |
JovanGerb assignee:JovanGerb |
12-78945 12 days ago |
12-80468 12 days ago |
22-38816 22 days |
| 26961 |
mariainesdff author:mariainesdff |
feat(RingTheory/PowerSeries/Substitution): add API |
Co-authored-by: @AntoineChambert-Loir
---
[](https://gitpod.io/from-referrer/)
|
t-ring-theory |
57/5 |
Mathlib/RingTheory/PowerSeries/Basic.lean,Mathlib/RingTheory/PowerSeries/Substitution.lean |
2 |
13 |
['Ruben-VandeVelde', 'github-actions', 'mariainesdff', 'mattrobball'] |
mattrobball assignee:mattrobball |
61-1760 2 months ago |
86-82820 2 months ago |
134-16434 134 days |
| 30505 |
mariainesdff author:mariainesdff |
feat(NumberTheory/RatFunc/Ostrowski): prove Ostrowski's theorem for K(X) |
We prove Ostrowski's theorem for the field of rational functions `K(X)`, where `K` is any field.
Co-authored-by: @xgenereux
---
- [x] depends on: #30404
[](https://gitpod.io/from-referrer/)
|
awaiting-author
t-number-theory
t-algebra
label:t-algebra$ |
331/2 |
Mathlib/FieldTheory/RatFunc/AsPolynomial.lean,Mathlib/FieldTheory/RatFunc/Degree.lean,Mathlib/NumberTheory/RatFunc/Ostrowski.lean |
3 |
31 |
['MichaelStollBayreuth', 'alreadydone', 'github-actions', 'mariainesdff', 'mathlib4-dependent-issues-bot', 'mathlib4-merge-conflict-bot'] |
MichaelStollBayreuth assignee:MichaelStollBayreuth |
12-77730 12 days ago |
16-70475 16 days ago |
2-41405 2 days |
| 32285 |
awainverse author:awainverse |
chore(ModelTheory/Bundled): Replace CategoryTheory.Bundled |
Replaces the use of CategoryTheory.Bundled L.Structure with a bespoke type for bundled L.Structures,
L.StrucType.
---
[](https://gitpod.io/from-referrer/)
|
awaiting-author
t-logic
|
95/55 |
Mathlib/ModelTheory/Bundled.lean,Mathlib/ModelTheory/Equivalence.lean,Mathlib/ModelTheory/Fraisse.lean,Mathlib/ModelTheory/Order.lean,Mathlib/ModelTheory/Satisfiability.lean |
5 |
2 |
['github-actions', 'jcommelin'] |
nobody |
12-75325 12 days ago |
12-75325 12 days ago |
0-66385 18 hours |
| 31663 |
xroblot author:xroblot |
feat(Algebra): more instances about `min`, `max`, `iSup` and `iInf` of sub-algebras |
Let `S₁ S₂ : Subalgebra R C`, we add more `Algebra` instances about their min, max, and for `iSup` and `iInf` and the corresponding `IsScalarTower` instances.
We also add the corresponding instances for `IntermediateField F E`. Note that, in this situation, some `IsScalarTower` instances are not added since they can be deduced automatically.
---
[](https://gitpod.io/from-referrer/)
|
WIP
t-algebra
label:t-algebra$ |
75/9 |
Mathlib/Algebra/Algebra/Subalgebra/Lattice.lean,Mathlib/FieldTheory/IntermediateField/Adjoin/Defs.lean,Mathlib/RingTheory/LocalProperties/IntegrallyClosed.lean |
3 |
11 |
['github-actions', 'jcommelin', 'leanprover-bot', 'leanprover-community-mathlib4-bot', 'leanprover-radar', 'xroblot'] |
mariainesdff assignee:mariainesdff |
12-70565 12 days ago |
12-70565 12 days ago |
15-80365 15 days |
| 30920 |
callesonne author:callesonne |
feat(Category/Grpd): define the bicategory of groupoids |
This is a migration of #25561 to a fork.
---
- [x] depends on: #30132
[](https://gitpod.io/from-referrer/)
|
t-category-theory
large-import
|
133/46 |
Mathlib/CategoryTheory/Bicategory/InducedBicategory.lean,Mathlib/CategoryTheory/Category/Grpd.lean,Mathlib/CategoryTheory/ConcreteCategory/Bundled.lean |
3 |
5 |
['Jlh18', 'github-actions', 'mathlib4-dependent-issues-bot', 'mathlib4-merge-conflict-bot'] |
nobody |
12-48565 12 days ago |
12-58152 12 days ago |
12-58254 12 days |
| 29624 |
mcdoll author:mcdoll |
feat(LinearAlgebra/LinearPMap): add definition of resolvent and first resolvent identity |
---
[](https://gitpod.io/from-referrer/)
|
awaiting-author
t-analysis
t-algebra
label:t-algebra$ |
179/2 |
Mathlib/LinearAlgebra/LinearPMap.lean |
1 |
9 |
['github-actions', 'j-loreaux', 'mathlib4-merge-conflict-bot', 'mcdoll'] |
kim-em assignee:kim-em |
12-41878 12 days ago |
12-41901 12 days ago |
64-60811 64 days |
| 27100 |
staroperator author:staroperator |
feat(ModelTheory): Presburger definability and semilinear sets |
This PR formalizes the classical result that Presburger definable sets are the same as semilinear sets. As an application of this result, we show that the graph of multiplication is not Presburger definable.
---
- [x] depends on: #26896
- [x] depends on: #27081
- [x] depends on: #27087
- [x] depends on: #27414
- [x] depends on: #32123
---
[](https://gitpod.io/from-referrer/)
|
t-logic |
298/0 |
Mathlib.lean,Mathlib/ModelTheory/Arithmetic/Presburger/Definability.lean,Mathlib/ModelTheory/Arithmetic/Presburger/Semilinear/Defs.lean,docs/references.bib |
4 |
6 |
['github-actions', 'leanprover-community-bot-assistant', 'mathlib4-dependent-issues-bot', 'mathlib4-merge-conflict-bot'] |
fpvandoorn assignee:fpvandoorn |
12-33936 12 days ago |
15-69560 15 days ago |
17-69983 17 days |
| 31057 |
jsm28 author:jsm28 |
feat(Geometry/Euclidean/Incenter): `reindex` lemmas |
Add lemmas about all the incenter/excenter-related definitions applied to a reindexed simplex.
---
- [x] depends on: #31054
- [x] depends on: #31055
- [x] depends on: #31056
[](https://gitpod.io/from-referrer/)
|
t-euclidean-geometry |
65/1 |
Mathlib/Geometry/Euclidean/Incenter.lean |
1 |
2 |
['github-actions', 'mathlib4-dependent-issues-bot'] |
JovanGerb assignee:JovanGerb |
12-33932 12 days ago |
16-3773 16 days ago |
16-4361 16 days |
| 32124 |
SnirBroshi author:SnirBroshi |
feat(SimpleGraph/Walks/Operations): expand basic drop/take/reverse API |
---
[](https://gitpod.io/from-referrer/)
|
t-combinatorics |
44/0 |
Mathlib/Combinatorics/SimpleGraph/Walks/Operations.lean |
1 |
1 |
['github-actions'] |
awainverse assignee:awainverse |
12-33926 12 days ago |
18-26236 18 days ago |
18-26276 18 days |
| 32279 |
joelriou author:joelriou |
feat(CategoryTheory): effective epi in the category of functors to types |
In this PR, we show that epimorphisms in `Type` or `C ⥤ Type _` are regular epimorphisms. In particular, they are effective epimorphisms.
(Part of the definitions may be duplicates of the already existing API.)
---
[](https://gitpod.io/from-referrer/)
|
WIP
t-category-theory
|
129/0 |
Mathlib.lean,Mathlib/CategoryTheory/EffectiveEpi/FunctorToTypes.lean,Mathlib/CategoryTheory/Limits/Types/Coequalizers.lean,Mathlib/CategoryTheory/Limits/Types/EffectiveEpi.lean,Mathlib/CategoryTheory/Limits/Types/Pullbacks.lean |
5 |
1 |
['github-actions'] |
nobody |
12-3559 12 days ago |
13-14781 13 days ago |
0-52758 14 hours |
| 29713 |
jessealama author:jessealama |
feat (Algebra/Homology): add Euler–Poincaré formula |
This PR builds on the generalized Euler characteristic framework from #31121 to prove the Euler-Poincaré formula for chain complexes.
PR #31121 defines the Euler characteristic for general homological complexes. This PR specializes those definitions to ℤ-indexed chain complexes and proves the main Euler-Poincaré theorem.
### Main result (in `EulerPoincare.lean`)
* `ChainComplex.eulerChar_eq_homologyEulerChar`: For ℤ-indexed bounded chain complexes of finite-dimensional modules over a division ring, the alternating sum of chain dimensions equals the alternating sum of homology dimensions.
---
Builds on: #31121
Related to: #29639, #29643, #29646 |
awaiting-author
t-algebra
new-contributor
label:t-algebra$ |
515/0 |
Mathlib.lean,Mathlib/Algebra/Homology/EulerCharacteristic.lean,Mathlib/Algebra/Homology/EulerPoincare.lean |
3 |
24 |
['github-actions', 'jessealama', 'joelriou', 'kim-em', 'mathlib4-merge-conflict-bot'] |
dagurtomas assignee:dagurtomas |
11-65487 11 days ago |
23-73742 23 days ago |
37-64248 37 days |
| 28895 |
yury-harmonic author:yury-harmonic |
feat(NumberTheory): prove Zsigmondy's theorem |
---
- [x] depends on: #28879
- [x] depends on: #28825
- [x] depends on: #28833
- [x] depends on: #28888
- [x] depends on: #28830
- [x] depends on: #28765
- [x] depends on: #28886
- [x] depends on: #28934
[](https://gitpod.io/from-referrer/)
|
|
1307/0 |
Mathlib.lean,Mathlib/NumberTheory/Zsigmondy.lean |
2 |
8 |
['dupuisf', 'github-actions', 'mathlib4-dependent-issues-bot', 'mathlib4-merge-conflict-bot', 'yury-harmonic'] |
nobody |
11-63459 11 days ago |
11-63478 11 days ago |
0-0 0 seconds |
| 29942 |
smmercuri author:smmercuri |
feat(InfinitePlace/Completion): embeddings of `w.Completion` factor through embeddings of `v.Completion` when `w` extends `v` |
If `w : v.Extension L` is an extension of `v : InfinitePlace K` to `L`, then `extensionEmbedding w : L →+* ℂ` factors through `extensionEmbedding v : K →+* ℂ`.
---
- [x] depends on: #27978
- [x] depends on: #29969
- [x] depends on: #29944
[](https://gitpod.io/from-referrer/)
|
FLT |
89/14 |
Mathlib/Analysis/Normed/Field/WithAbs.lean,Mathlib/NumberTheory/NumberField/InfinitePlace/Completion.lean,Mathlib/NumberTheory/NumberField/InfinitePlace/Embeddings.lean,Mathlib/NumberTheory/NumberField/InfinitePlace/Ramification.lean,Mathlib/Topology/MetricSpace/Completion.lean |
5 |
5 |
['github-actions', 'mathlib4-dependent-issues-bot', 'mathlib4-merge-conflict-bot'] |
joelriou assignee:joelriou |
11-57719 11 days ago |
15-57689 15 days ago |
15-58781 15 days |
| 31925 |
alreadydone author:alreadydone |
feat(Topology): étalé space associated to a predicate on sections |
---
migrated from #22782
[](https://gitpod.io/from-referrer/)
|
awaiting-author
t-topology
|
899/164 |
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 |
12 |
['adamtopaz', 'alreadydone', 'github-actions'] |
adamtopaz assignee:adamtopaz |
11-49312 11 days ago |
17-42716 17 days ago |
4-81911 4 days |
| 32188 |
euprunin author:euprunin |
feat: add `grind` annotation for `ENNReal.inv_eq_zero` |
---
Note that the lemma being annotated is
1. already actively used with `grind` via explicit `grind [lemma]` invocations in Mathlib, and
2. already tagged with `@[simp]`.
---
[](https://gitpod.io/from-referrer/)
|
t-data |
4/5 |
Mathlib/Data/ENNReal/Inv.lean |
1 |
5 |
['euprunin', 'github-actions', 'leanprover-bot', 'leanprover-radar', 'metakunt'] |
TwoFX assignee:TwoFX |
11-48833 11 days ago |
16-50289 16 days ago |
16-50319 16 days |
| 30391 |
rudynicolop author:rudynicolop |
feat(Data/List): list splitting definitions and lemmas |
This PR continues the work from #24395.
Original PR: https://github.com/leanprover-community/mathlib4/pull/24395 |
new-contributor
t-data
|
108/2 |
Mathlib/Data/List/Perm/Lattice.lean,Mathlib/Data/List/TakeDrop.lean |
2 |
36 |
['BoltonBailey', 'github-actions', 'kckennylau', 'mathlib4-merge-conflict-bot', 'rudynicolop'] |
TwoFX assignee:TwoFX |
11-39407 11 days ago |
12-36572 12 days ago |
60-36653 60 days |
| 26985 |
agjftucker author:agjftucker |
feat(Analysis/Calculus/Implicit): define implicitFunOfProdDomain |
This PR continues the work from #16743.
Original PR: https://github.com/leanprover-community/mathlib4/pull/16743
---
- [x] depends on: #28352
[](https://gitpod.io/from-referrer/) |
t-analysis
new-contributor
|
108/2 |
Mathlib/Analysis/Calculus/Implicit.lean |
1 |
8 |
['github-actions', 'j-loreaux', 'mathlib-bors', 'mathlib4-dependent-issues-bot', 'mathlib4-merge-conflict-bot'] |
hrmacbeth assignee:hrmacbeth |
11-38281 11 days ago |
14-39125 14 days ago |
0-0 0 seconds |
| 29393 |
staroperator author:staroperator |
feat(SetTheory/ZFC): `card (V_ o) = preBeth o` |
---
- [x] depends on: #26544
- [x] depends on: #29351
- [x] depends on: #29365
[](https://gitpod.io/from-referrer/)
|
t-set-theory
large-import
|
37/4 |
Mathlib/SetTheory/ZFC/Ordinal.lean,Mathlib/SetTheory/ZFC/VonNeumann.lean |
2 |
5 |
['github-actions', 'mathlib4-dependent-issues-bot', 'mathlib4-merge-conflict-bot', 'staroperator', 'vihdzp'] |
alreadydone assignee:alreadydone |
11-33922 11 days ago |
15-24001 15 days ago |
15-26622 15 days |
| 31967 |
bwangpj author:bwangpj |
feat: IrreducibleSpace.of_openCover |
Irreducibility can be checked on an open cover with pairwise non-empty intersections.
This contribution was created as part of the Heidelberg Lean workshop "Formalising algebraic geometry" in November 2025.
Co-authored-by: Christian Merten @chrisflav
---
[](https://gitpod.io/from-referrer/)
|
t-topology |
60/0 |
Mathlib/Topology/Irreducible.lean,Mathlib/Topology/Sets/OpenCover.lean,Mathlib/Topology/Sets/Opens.lean |
3 |
12 |
['bwangpj', 'chrisflav', 'erdOne', 'github-actions'] |
alreadydone assignee:alreadydone |
11-33917 11 days ago |
14-67944 14 days ago |
16-70407 16 days |
| 32238 |
YaelDillies author:YaelDillies |
feat(Combinatorics/SimpleGraph): distributivity of box product over sum |
From ProofBench
---
[](https://gitpod.io/from-referrer/)
|
t-combinatorics
large-import
|
21/2 |
Mathlib/Combinatorics/SimpleGraph/Prod.lean |
1 |
1 |
['github-actions'] |
kmill assignee:kmill |
11-33912 11 days ago |
14-71259 14 days ago |
14-71290 14 days |
| 30582 |
RemyDegenne author:RemyDegenne |
feat: extension of a function to the closure of a submodule |
- define the closure of a set in a complete space as an `AbstractCompletion`
- add instances about submodules
- add a coercion from a submodule to its topological closure
- add induction lemmas on topological closures of submodules
- define the extension of a function on a submodule to the closure of a submodule
---
[](https://gitpod.io/from-referrer/)
|
WIP
t-topology
|
138/1 |
Mathlib/Topology/Algebra/Module/Basic.lean,Mathlib/Topology/UniformSpace/AbstractCompletion.lean |
2 |
7 |
['ADedecker', 'RemyDegenne', 'github-actions', 'mathlib4-merge-conflict-bot', 'mcdoll'] |
PatrickMassot and mcdoll assignee:PatrickMassot assignee:mcdoll |
11-3561 11 days ago |
11-3562 11 days ago |
35-55566 35 days |
| 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.
---
- [x] depends on: #31537
[](https://gitpod.io/from-referrer/)
|
awaiting-author
t-topology
brownian
|
212/0 |
Mathlib.lean,Mathlib/Topology/MetricSpace/CoveringNumbers.lean |
2 |
16 |
['ADedecker', 'RemyDegenne', 'YaelDillies', 'github-actions', 'j-loreaux', 'mathlib4-dependent-issues-bot', 'mathlib4-merge-conflict-bot'] |
j-loreaux assignee:j-loreaux |
11-2826 11 days ago |
11-3287 11 days ago |
45-38108 45 days |
| 31551 |
RemyDegenne author:RemyDegenne |
feat: `gaussianReal_const_sub` |
- Add lemmas stating that if `X` is a real Gaussian random variable with mean `μ` and variance `v`, then `-X`, `X - y` and `y - X` are Gaussian with variance `v` and respective means `-μ`, `μ - y` and `y - μ`.
- Generalize this section of the file from `MeasureSpace` to `MeasurableSpace`+`Measure`
---
[](https://gitpod.io/from-referrer/)
|
t-measure-probability |
31/23 |
Mathlib/Probability/Distributions/Gaussian/Real.lean |
1 |
4 |
['EtienneC30', 'github-actions'] |
EtienneC30 assignee:EtienneC30 |
11-2344 11 days ago |
11-2393 11 days ago |
11-30576 11 days |
| 32389 |
LLaurance author:LLaurance |
feat(Analysis): Trigonometric identities |
`sin` and `cos` of real and complex integer multiples of π/12
---
Resolves https://github.com/leanprover-community/mathlib4/pull/28630#discussion_r2307957255
[](https://gitpod.io/from-referrer/)
|
|
174/0 |
Mathlib/Analysis/SpecialFunctions/Trigonometric/Basic.lean |
1 |
1 |
['github-actions'] |
nobody |
10-86029 10 days ago |
10-86029 10 days ago |
11-1261 11 days |
| 27579 |
RemyDegenne author:RemyDegenne |
feat: risk of an estimator, DeGroot statistical information, total variation distance |
This is an overview PR and will be cut into several pieces. It contains definitions and properties of:
- the risk and Bayes risk of an estimator, in general and then specialized to binary hypothesis testing
- the DeGroot statistical information between two measures, as well as a generalization for a kernel on more than two outcomes
- the total variation distance between measures, defined as a special case of the DeGroot statistical information
Co-authored-by: Lorenzo Luccioli @LorenzoLuccioli
From the TestingLowerBounds project
---
- [x] depends on: #27583
- [x] depends on: #27584
- [x] depends on: #27585
- [x] depends on: #27586
- [x] depends on: #27587
- [x] depends on: #27591
- [x] depends on: #28081
- [x] depends on: #28082
- [x] depends on: #28117
- [x] depends on: #28341
- [x] depends on: #29137
- [x] depends on: #29143
[](https://gitpod.io/from-referrer/)
|
WIP
t-measure-probability
large-import
|
1713/1 |
Mathlib.lean,Mathlib/InformationTheory/TotalVariation/Basic.lean,Mathlib/Probability/Decision/AuxLemmas.lean,Mathlib/Probability/Decision/BayesEstimator.lean,Mathlib/Probability/Decision/Binary.lean,Mathlib/Probability/Decision/BoolMeasure.lean,Mathlib/Probability/Decision/DeGrootInfo.lean,Mathlib/Probability/Decision/Risk/Basic.lean,Mathlib/Probability/Decision/Risk/Countable.lean,Mathlib/Probability/Decision/RiskIncrease.lean,Mathlib/Probability/Decision/ZeroOneLoss.lean |
11 |
7 |
['github-actions', 'mathlib4-dependent-issues-bot', 'mathlib4-merge-conflict-bot'] |
nobody |
10-77110 10 days ago |
10-77466 10 days ago |
0-1 1 second |
| 32131 |
Vierkantor author:Vierkantor |
feat(scripts): count the number of tactics without a docstring |
We want to make sure every tactic is well documented. Right now, I count 33 tactics in Mathlib without any docstring at all. Add this number to the weekly technical debt metrics bot so we can track it and fix any regressions.
---
[](https://gitpod.io/from-referrer/)
|
t-meta
CI
large-import
|
68/1 |
Mathlib.lean,Mathlib/Init.lean,Mathlib/Tactic.lean,Mathlib/Tactic/Linter/TacticDocumentation.lean,scripts/nolints.json,scripts/technical-debt-metrics.sh |
6 |
18 |
['Vierkantor', 'adomani', 'bryangingechen', 'github-actions'] |
joneugster assignee:joneugster |
10-62968 10 days ago |
10-63100 10 days ago |
15-80792 15 days |
| 30605 |
joelriou author:joelriou |
feat(CategoryTheory): for any filtered category, there exists a final functor from a directed poset |
In this PR, we formalize the proof by Deligne (SGA 4 I 8.1.6) that for any (small) filtered category `J`, there exists a final functor `F : α ⥤ J` where `α` is a directed partially ordered set (`IsFiltered.exists_directed`). The construction applies more generally to `κ`-filtered categories and `κ`-directed posets (`IsCardinalFiltered.exists_cardinal_directed`).
---
- [x] depends on: #31426
- [x] depends on: #31421
- [x] depends on: #31424
- [x] depends on: #30633
- [x] depends on: #30781
- [x] depends on: #30634
[](https://gitpod.io/from-referrer/)
|
awaiting-author
t-category-theory
|
304/3 |
Mathlib/CategoryTheory/Comma/Arrow.lean,Mathlib/CategoryTheory/Filtered/Basic.lean,Mathlib/CategoryTheory/Limits/Preserves/Filtered.lean,Mathlib/CategoryTheory/Presentable/Directed.lean,docs/references.bib |
5 |
10 |
['alreadydone', 'dagurtomas', 'github-actions', 'joelriou', 'mathlib4-dependent-issues-bot', 'mathlib4-merge-conflict-bot'] |
dagurtomas and robin-carlier assignee:dagurtomas assignee:robin-carlier |
10-59181 10 days ago |
10-59181 10 days ago |
6-23846 6 days |
| 32386 |
riccardobrasca author:riccardobrasca |
feat: add classical version of Hilbert 90 |
We add the classical formulation of Hilbert's theorem 90: let `L/K` be a finite Galois extension of fields such that the Galois group is cyclic generated by `σ`. Let `η` be an element of `L` of norm `1`. Then there exists `ε` such that `η = ε / σ ε`.
We also add an integral version.
Co-authored by: Andrew Yang [the.erd.one@gmail.com](mailto:the.erd.one@gmail.com)
---
[](https://gitpod.io/from-referrer/)
|
WIP
t-number-theory
large-import
|
160/7 |
Mathlib/Algebra/BigOperators/Group/Finset/Basic.lean,Mathlib/RepresentationTheory/Homological/GroupCohomology/Hilbert90.lean |
2 |
10 |
['copilot-pull-request-reviewer', 'erdOne', 'github-actions', 'plp127', 'riccardobrasca'] |
nobody |
10-55267 10 days ago |
10-75259 10 days ago |
0-12668 3 hours |
| 31794 |
thorimur author:thorimur |
feat: `unusedFintypeInType` linter |
Adds an `UnusedInstancesInType` linter which suggests replacing `Fintype` instances with `Finite` or removing them.
This linter is off by default: it is turned on in #31795.
---
- [x] depends on: #31142
[](https://gitpod.io/from-referrer/)
|
|
164/5 |
Mathlib/Tactic/Linter/UnusedInstancesInType.lean,MathlibTest/UnusedInstancesInType.lean |
2 |
4 |
['github-actions', 'mathlib4-dependent-issues-bot', 'mathlib4-merge-conflict-bot'] |
nobody |
10-51366 10 days ago |
10-56586 10 days ago |
0-0 0 seconds |
| 31653 |
ster99 author:ster99 |
feat(MeasureTheory): Foelner filters |
Define a predicate for a filter to be Foelner. Prove that if a measure space with a G-action has a Foelner filter then there is a left-invariant finitely additive probability measure on it (amenability).
Define the maximal Foelner filter and prove that if the maximal Foelner filter is nontrivial, then the amenability condition above holds.
Closes #29213.
---
depends on : #32117.
[](https://gitpod.io/from-referrer/)
|
awaiting-author
new-contributor
|
205/0 |
Mathlib.lean,Mathlib/MeasureTheory/FoelnerFilter.lean |
2 |
39 |
['ADedecker', 'YaelDillies', 'github-actions', 'mathlib4-merge-conflict-bot', 'ster99'] |
nobody |
10-50217 10 days ago |
16-50899 16 days ago |
0-68014 18 hours |
| 32250 |
ADedecker author:ADedecker |
feat: integration against a locally integrable function as a CLM on test functions |
Aka viewing a locally integrable function as a distribution
---
[](https://gitpod.io/from-referrer/)
|
t-analysis
large-import
|
189/0 |
Mathlib/Analysis/Distribution/ContDiffMapSupportedIn.lean,Mathlib/Analysis/Distribution/TestFunction.lean |
2 |
2 |
['github-actions', 'mathlib4-merge-conflict-bot'] |
nobody |
12-83439 12 days ago |
12-83461 12 days ago |
0-0 0 seconds |
| 32370 |
apnelson1 author:apnelson1 |
feat(Combinatorics/Matroid): refactor matroid supportedness tactic |
WIP refactor of the `aesop_mat` tactic that automatically proves something is a subset/member of the ground set to use `grind` rather than `aesop`.
Tactic is renamed `ground`.
---
[](https://gitpod.io/from-referrer/)
|
WIP |
173/186 |
Mathlib/Combinatorics/Matroid/Basic.lean,Mathlib/Combinatorics/Matroid/Circuit.lean,Mathlib/Combinatorics/Matroid/Closure.lean,Mathlib/Combinatorics/Matroid/Dual.lean,Mathlib/Combinatorics/Matroid/IndepAxioms.lean,Mathlib/Combinatorics/Matroid/Init.lean,Mathlib/Combinatorics/Matroid/Loop.lean,Mathlib/Combinatorics/Matroid/Minor/Contract.lean,Mathlib/Combinatorics/Matroid/Minor/Delete.lean,Mathlib/Combinatorics/Matroid/Minor/Order.lean,Mathlib/Combinatorics/Matroid/Minor/Restrict.lean,Mathlib/Combinatorics/Matroid/Rank/Cardinal.lean,Mathlib/Combinatorics/Matroid/Rank/ENat.lean,Mathlib/Combinatorics/Matroid/Rank/Finite.lean,Mathlib/RingTheory/AlgebraicIndependent/TranscendenceBasis.lean,Mathlib/Tactic/Attr/Register.lean |
16 |
7 |
['apnelson1', 'github-actions', 'leanprover-radar'] |
nobody |
10-44891 10 days ago |
11-48605 11 days ago |
0-10 10 seconds |
| 31433 |
sinhp author:sinhp |
feat(CategoryTheory): Computable cartesian monoidal structure on slices induced by chosen pullbacks |
We provide for a category `C` with chosen pullbacks, a cartesian monoidal structure on the slice categories `Over X` for all objects `X : C`.
We also show that the functor `pullback f : Over X ⥤ Over Y` is naturally isomorphic to `toOver (Over.mk f): Over X ⥤ Over (Over.mk f)` post-composed with the iterated slice equivalence `Over (Over.mk f) ⥤ Over Y`.
This latter theorem will be crucial in relating closed objects in the slices to exponentiable morphisms in the base in `LocallyCartesianClosed.Basic.lean`
(Here `toOver` is defined to be the computable analogue of the functor `Over.star`.)
```mermaid
graph TD
A[ChosenPullbackAlong.lean] --> A'[Over.lean]
A' --> B[Sections.lean]
A --> C[ExponentiableMorphism.lean]
B --> D[Basic.lean]
C --> D
D --> E[Types.lean]
E --> F[Presheaves.lean]
D --> G[Beck-Chevalley.lean]
%% Define highlight style
classDef highlight fill:#ffe599,stroke:#d4a017,stroke-width:2px;
%% Apply to one node
class A' highlight;
```
---
- [x] depends on: #31033
[](https://gitpod.io/from-referrer/)
|
awaiting-author
t-category-theory
|
344/3 |
Mathlib.lean,Mathlib/CategoryTheory/Comma/Over/Basic.lean,Mathlib/CategoryTheory/LocallyCartesianClosed/ChosenPullbacksAlong.lean,Mathlib/CategoryTheory/LocallyCartesianClosed/Over.lean |
4 |
37 |
['dagurtomas', 'github-actions', 'joelriou', 'mathlib4-dependent-issues-bot', 'mathlib4-merge-conflict-bot', 'robin-carlier', 'sinhp'] |
robin-carlier assignee:robin-carlier |
10-39530 10 days ago |
10-40743 10 days ago |
10-69481 10 days |
| 31425 |
robertmaxton42 author:robertmaxton42 |
feat(Topology) : implement delaborators for non-standard topology notation |
Add delaborators for unary and binary notation related to non-standard topologies in the TopologicalSpace namespace.
---
[](https://gitpod.io/from-referrer/)
|
t-topology |
104/0 |
Mathlib.lean,Mathlib/Topology/Defs/Basic.lean,Mathlib/Util/DelabNonCanonical.lean,MathlibTest/Delab/TopologicalSpace.lean |
4 |
30 |
['eric-wieser', 'github-actions', 'kckennylau', 'robertmaxton42'] |
PatrickMassot assignee:PatrickMassot |
10-33931 10 days ago |
20-12473 20 days ago |
20-43361 20 days |
| 32163 |
zhuyizheng author:zhuyizheng |
feat(MeasureTheory): interval integral is absolutely continuous |
The interval integral c..x is absolutely continuous wrt x.
Part of originally planned #29508
---
[](https://gitpod.io/from-referrer/)
|
t-measure-probability
new-contributor
|
98/3 |
Mathlib/MeasureTheory/Function/AbsolutelyContinuous.lean,Mathlib/MeasureTheory/Integral/IntervalIntegral/Basic.lean |
2 |
1 |
['github-actions'] |
urkud assignee:urkud |
10-33930 10 days ago |
17-30563 17 days ago |
17-30595 17 days |
| 32218 |
mkaratarakis author:mkaratarakis |
feat: lemmas about the `House` of an algebraic number |
Lemmas missing for the formalisation of the proof of the Gelfond–Schneider theorem
---
[](https://gitpod.io/from-referrer/)
|
awaiting-author
t-number-theory
new-contributor
|
189/38 |
Mathlib/NumberTheory/NumberField/House.lean |
1 |
17 |
['github-actions', 'jcommelin', 'mkaratarakis'] |
jcommelin assignee:jcommelin |
9-86037 9 days ago |
12-2814 12 days ago |
3-60402 3 days |
| 29315 |
kbuzzard author:kbuzzard |
chore: raise priority of `IsTopologicalSemiring.toIsModuleTopology` |
Instances of the form `SMul A B -> SMul (F A) (F B)` can be problematic for several reasons, one of them being that if `A = B` is a ring and if `F A` is also ring then this can cause a diamond with `Algebra.id`. In mathlib we attempt to coerce typeclass inference away from such problems by raising the priority of `Algebra.id` to 1100; this hack (implemented in #13032) seems to work well, indeed it seems sensible to try this instance early because it should be quick to fail and is always the right idea when it doesn't (the change also made mathlib faster and made a proof better). By the same logic it seems safe to raise the priority of `IsTopologicalSemiring.toIsModuleTopology` by the same amount; in FLT there is a mathematically natural but mathlib-problematic instance `Algebra K L -> Algebra (𝔸 K) (𝔸 L)`
and then another instance `Algebra K L -> IsModuleTopology (𝔸 K) (𝔸 L)` where `𝔸 K` is the adele ring of the number field `K`, and the change in this PR solves timeouts when `K = L`.
Zulip: [#mathlib4 > product of modules over product of rings @ 💬](https://leanprover.zulipchat.com/#narrow/channel/287929-mathlib4/topic/product.20of.20modules.20over.20product.20of.20rings/near/532799613)
---
[](https://gitpod.io/from-referrer/)
There are other solutions to this problem -- I am certainly not claiming that the FLT project needs this PR to be merged! We can tinker with priorities locally in FLT for example. However when I noticed that `Algebra.id` had a raised priority in mathlib I realised that mathlib might be amenable to this further ~~hack~~change.
|
awaiting-author
t-topology
|
6/1 |
Mathlib/Topology/Algebra/Module/ModuleTopology.lean |
1 |
9 |
['github-actions', 'j-loreaux', 'kbuzzard', 'leanprover-bot', 'ocfnash'] |
ocfnash assignee:ocfnash |
9-74227 9 days ago |
76-72591 2 months ago |
25-3547 25 days |
| 31862 |
erdOne author:erdOne |
chore: unify `LocalizedModule` and `OreLocalization` |
We redefine `LocalizedModule` to be an abbrev of `OreLocalization S M` so that localization of a ring and localization of a module is now defeq. This is very useful to unify downstream constructions, in particular `ModuleCat.tilde` and `Spec.structureSheaf`.
Some of the declarations are switched to reducible to avoid diamonds.
This causes a significant performance regression, most notabaly in `Mathlib/AlgebraicGeometry/AffineSpace.lean`.
We shall investigate if there are ways to improve performances. For example by introducing
typeclasses to unify the two constructions on this and `LocalizedModule`, or by marking some
downstream constructions (e.g. `Spec.structureSheaf`) as irreducible.
---
[](https://gitpod.io/from-referrer/)
|
t-algebra label:t-algebra$ |
234/210 |
Mathlib/Algebra/Module/LocalizedModule/Basic.lean,Mathlib/AlgebraicGeometry/Modules/Tilde.lean,Mathlib/AlgebraicGeometry/Restrict.lean,Mathlib/GroupTheory/DivisibleHull.lean,Mathlib/GroupTheory/OreLocalization/Basic.lean,Mathlib/GroupTheory/OreLocalization/OreSet.lean,Mathlib/RingTheory/Localization/BaseChange.lean,Mathlib/RingTheory/OreLocalization/Ring.lean,Mathlib/RingTheory/TensorProduct/Nontrivial.lean,MathlibTest/Algebra/Module/LocalizedModule.lean |
10 |
73 |
['alreadydone', 'chrisflav', 'erdOne', 'github-actions', 'jcommelin', 'leanprover-bot', 'leanprover-radar', 'mattrobball', 'riccardobrasca', 'wwylele'] |
mariainesdff assignee:mariainesdff |
9-73232 9 days ago |
9-73232 9 days ago |
23-41324 23 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.
The class `IsRegularLocalRing` is defined as `(maximalIdeal R).spanFinrank = ringKrullDim R`
We also established the lemma `IsRegularLocalRing.iff_finrank_cotangentSpace` proving this definition is equivalent to the cotangent space version.
---
[](https://gitpod.io/from-referrer/)
|
awaiting-author
t-ring-theory
|
122/0 |
Mathlib.lean,Mathlib/RingTheory/RegularLocalRing/Defs.lean |
2 |
37 |
['Thmoas-Guan', 'chrisflav', 'github-actions', 'mathlib4-merge-conflict-bot', 'mbkybky'] |
chrisflav assignee:chrisflav |
9-68010 9 days ago |
24-10124 24 days ago |
1-63449 1 day |
| 30758 |
Timeroot author:Timeroot |
chore: tag abs_inv and abs_div with grind= |
---
[](https://gitpod.io/from-referrer/)
|
t-algebra label:t-algebra$ |
2/1 |
Mathlib/Algebra/Order/Field/Basic.lean |
1 |
n/a |
['github-actions'] |
nobody |
53-50264 1 month ago |
unknown |
unknown |
| 32436 |
thorimur author:thorimur |
feat: `unusedFactInType` linter |
---
[](https://gitpod.io/from-referrer/)
|
t-linter |
55/3 |
Mathlib/Init.lean,Mathlib/Tactic/Linter/UnusedInstancesInType.lean |
2 |
1 |
['github-actions'] |
nobody |
9-52813 9 days ago |
9-56619 9 days ago |
0-0 0 seconds |
| 31886 |
CoolRmal author:CoolRmal |
feat: the family of limits in probability of sequences of uniformly integrable random variables is uniformly integrable |
---
[](https://gitpod.io/from-referrer/)
|
t-measure-probability
brownian
|
73/9 |
Mathlib/MeasureTheory/Function/ConvergenceInMeasure.lean,Mathlib/MeasureTheory/Function/UniformIntegrable.lean |
2 |
2 |
['github-actions', 'mathlib4-merge-conflict-bot'] |
EtienneC30 assignee:EtienneC30 |
9-35343 9 days ago |
9-80449 9 days ago |
9-82042 9 days |
| 31730 |
thorimur author:thorimur |
feat(Meta): declaration manipulation meta API: allow logging on type signature of theorems |
This PR introduces some initial definitions in the space of a declaration manipulation meta API.
In the course of #31142, it became apparent that we could benefit from having tools for handling the syntax and elaboration info of user-written declarations.
This PR makes a small beginning towards that end in the Mathlib.Util.DeclarationManipulation module, and provides API for
- getting the info and syntax ref of a declaration given its `Name`
- getting the ref of a theorem's type signature from within some command source syntax given the declaration's ref given above
- running a monadic action with the ambient ref set to that of the type signature of a theorem, with sensible fallbacks
This is used to improve logging locations for the unused-instances-in-types linters, and may be useful for other linters that want to inpsect a theorem's type at the expression level (instead of the syntax level).
(It also introduces the small helper definitions `Syntax.findSome?` and `Syntax.rangeEq`, which behave as expected.)
For context: in the future, it would be nice to
- provide support for all sorts of declarations, not just theorems--but this requires a lot more syntax matching
- provide "exploded views" of declaration syntax like `mkDefView`, but finer grained, and geared for use during linting rather than elaboration
- make it easy to compose complex suggestions to transform different parts of a declaration at once
---
- [x] depends on: #31725
[](https://gitpod.io/from-referrer/)
|
t-meta |
131/0 |
Mathlib.lean,Mathlib/Lean/Syntax.lean,Mathlib/Util/DeclarationManipulation.lean |
3 |
4 |
['github-actions', 'mathlib4-dependent-issues-bot', 'mathlib4-merge-conflict-bot'] |
nobody |
9-23758 9 days ago |
9-23779 9 days ago |
15-69095 15 days |
| 30622 |
kim-em author:kim-em |
feat: replace some tauto with grind |
This PR replaces an initial segment of `tauto` calls with `grind`. Note that not all `tauto` calls are replaceable, as (amongst other smaller issues) `tauto` is willing to unfold things `grind` won't. |
awaiting-author |
33/33 |
Archive/Examples/Kuratowski.lean,Archive/Imo/Imo2001Q3.lean,Counterexamples/Phillips.lean,Mathlib/Algebra/BigOperators/Intervals.lean,Mathlib/Algebra/CubicDiscriminant.lean,Mathlib/Algebra/Group/Int/Units.lean,Mathlib/Algebra/Group/Subgroup/Basic.lean,Mathlib/Algebra/Group/Subgroup/Lattice.lean,Mathlib/Algebra/GroupWithZero/Indicator.lean,Mathlib/Algebra/Homology/Double.lean,Mathlib/Algebra/Homology/HomotopyCategory/MappingCone.lean,Mathlib/Algebra/Homology/HomotopyCofiber.lean,Mathlib/Algebra/Homology/ShortComplex/Ab.lean,Mathlib/Algebra/Homology/ShortComplex/ModuleCat.lean,Mathlib/Algebra/Lie/Derivation/AdjointAction.lean,Mathlib/Algebra/Lie/Nilpotent.lean,Mathlib/Algebra/Lie/Weights/Killing.lean,Mathlib/Algebra/Module/Torsion/Basic.lean,Mathlib/Algebra/Order/GroupWithZero/Canonical.lean,Mathlib/Algebra/Polynomial/Homogenize.lean,Mathlib/Algebra/Ring/NegOnePow.lean,Mathlib/AlgebraicGeometry/EllipticCurve/IsomOfJ.lean,Mathlib/AlgebraicGeometry/ValuativeCriterion.lean,Mathlib/AlgebraicTopology/DoldKan/NReflectsIso.lean,Mathlib/AlgebraicTopology/SimplicialSet/Simplices.lean,Mathlib/Analysis/Analytic/IsolatedZeros.lean |
26 |
7 |
['github-actions', 'leanprover-bot', 'leanprover-community-mathlib4-bot', 'mathlib4-merge-conflict-bot', 'ocfnash', 'urkud'] |
mattrobball assignee:mattrobball |
9-12670 9 days ago |
9-12670 9 days ago |
11-29633 11 days |
| 29776 |
yuanyi-350 author:yuanyi-350 |
chore: refactor `ContinuousLinearMap.isOpenMap` by separating it into sublemmas |
The open mapping theorem in mathlib proves A ⇒ C by first proving A ⇒ B and then B ⇒ C in one theorem. In my PR, I separated it into two theorems: A ⇒ B and B ⇒ C. And now B ⇒ C is more general, with weaker assumptions than A ⇒ C.
The [open mapping theorem](https://leanprover-community.github.io/mathlib4_docs/Mathlib/Analysis/Normed/Operator/Banach.html#ContinuousLinearMap.isOpenMap) in mathlib need `f` to be surjective.
However, this can be weakened to the condition `h : ∃ (n : ℕ) (x : _), x ∈ interior (closure (f '' ball 0 n))` . I need this stronger formulation to prove the closed range theorem c.f. *Rudin Functional Analysis Thm 4.13*
[zulip](https://leanprover.zulipchat.com/#narrow/channel/287929-mathlib4/topic/refactor.20.60ContinuousLinearMap.2EisOpenMap.60)
---
[](https://gitpod.io/from-referrer/)
|
WIP
t-analysis
|
55/35 |
Mathlib/Analysis/Normed/Operator/Banach.lean |
1 |
15 |
['faenuccio', 'github-actions', 'kckennylau', 'leanprover-bot', 'themathqueen', 'yuanyi-350'] |
faenuccio assignee:faenuccio |
9-12122 9 days ago |
9-31300 9 days ago |
2-46827 2 days |
| 32316 |
Thmoas-Guan author:Thmoas-Guan |
feat(Homology/ModuleCat): Dimension Shifting tools in ModuleCat |
In this PR we present some dimension shifting tools in `ModuleCat`.
---
- [x] depends on: #32312
[](https://gitpod.io/from-referrer/)
|
awaiting-author
t-category-theory
t-algebra
label:t-algebra$ |
121/0 |
Mathlib.lean,Mathlib/Algebra/Category/ModuleCat/Ext/DimensionShifting.lean,Mathlib/Algebra/Homology/DerivedCategory/Ext/EnoughInjectives.lean,Mathlib/Algebra/Homology/DerivedCategory/Ext/EnoughProjectives.lean |
4 |
11 |
['Thmoas-Guan', 'github-actions', 'jcommelin', 'joelriou', 'mathlib4-dependent-issues-bot', 'mathlib4-merge-conflict-bot'] |
joelriou assignee:joelriou |
9-7390 9 days ago |
9-49287 9 days ago |
0-25818 7 hours |
| 32194 |
alreadydone author:alreadydone |
feat(LinearAlgebra): more on StrongRankCondition |
Strong rank condition fails for R iff there is a copy of $R^{(\mathbb{N})}$ in some $R^n$, iff some $R^n$ has infinity rank, iff some $R^{n+1}$ has zero `finrank`. As consequences, if all $R^n$ are Noetherian or Artinian, then $R$ satisfies the strong rank condition.
To prove the first equivalence, I redeveloped a version of the ["tunnels and tailings"](https://github.com/leanprover-community/mathlib3/commit/86766851#diff-7829719aad6a9e3e617da2a7cf29dba4d55516b27e18f240eca352f4983d67b7R472-R491) construction @jcommelin and @kim-em contributed to mathlib ~4 years ago and made it work for Semiring/AddCommMonoid. The original construction was deprecated in [#12076](https://github.com/leanprover-community/mathlib4/commit/5948566497f56e1432c52d65623f1bb3c3937159) by @acmepjz and later removed, though some docstrings still remain, and I think it's now time to remove it.
Also add an instance that finite semirings satisfy the Orzech property (and therefore strong rank condition and invariant basis number).
---
- [x] depends on: #32123
[](https://gitpod.io/from-referrer/)
|
t-algebra label:t-algebra$ |
201/106 |
Mathlib/Data/Finsupp/Basic.lean,Mathlib/Data/Fintype/Card.lean,Mathlib/Data/Fintype/EquivFin.lean,Mathlib/LinearAlgebra/Dimension/StrongRankCondition.lean,Mathlib/LinearAlgebra/Finsupp/Pi.lean,Mathlib/LinearAlgebra/InvariantBasisNumber.lean,Mathlib/LinearAlgebra/LinearIndependent/Lemmas.lean,Mathlib/LinearAlgebra/Prod.lean,Mathlib/RingTheory/Artinian/Instances.lean,Mathlib/RingTheory/Artinian/Module.lean,Mathlib/RingTheory/Noetherian/Basic.lean,Mathlib/RingTheory/OrzechProperty.lean |
12 |
4 |
['alreadydone', 'eric-wieser', 'github-actions', 'mathlib4-dependent-issues-bot'] |
eric-wieser assignee:eric-wieser |
9-3576 9 days ago |
9-3576 9 days ago |
12-61131 12 days |
| 32159 |
zhuyizheng author:zhuyizheng |
feat(Order): gaps of disjoint intervals |
Define gaps of a finite set of pairwise disjoint closed intervals.
Part of originally planned #29508
---
[](https://gitpod.io/from-referrer/)
|
t-order
new-contributor
|
255/0 |
Mathlib.lean,Mathlib/Algebra/BigOperators/Group/Finset/Gaps.lean,Mathlib/Order/Interval/Finset/Gaps.lean |
3 |
2 |
['github-actions'] |
sgouezel assignee:sgouezel |
9-3121 9 days ago |
9-3193 9 days ago |
17-34618 17 days |
| 30333 |
paulorauber author:paulorauber |
feat(Probability): definition of trajMeasure |
A definition of `trajMeasure` and some basic lemmas.
In the context of the Ionescu-Tulcea theorem, `trajMeasure μ₀ κ` corresponds to the distribution of the trajectory obtained by starting with the distribution `μ₀` and then iterating the kernels `κ`.
Lemmas `partialTraj_compProd_kernel_eq_traj_map` and `traj_map_eq_kernel` are attributable to @EtienneC30 and some definitions borrow code from @RemyDegenne , who also improved the code considerably. Please let me know if you would like to be co-authors in this pull request.
From the LeanBandits project.
---
[](https://gitpod.io/from-referrer/)
|
t-measure-probability
new-contributor
maintainer-merge
|
80/2 |
Mathlib/Order/Interval/Finset/Basic.lean,Mathlib/Order/Interval/Finset/Nat.lean,Mathlib/Probability/Kernel/IonescuTulcea/PartialTraj.lean,Mathlib/Probability/Kernel/IonescuTulcea/Traj.lean |
4 |
28 |
['EtienneC30', 'RemyDegenne', 'github-actions', 'mathlib4-merge-conflict-bot', 'paulorauber'] |
EtienneC30 assignee:EtienneC30 |
8-85938 8 days ago |
8-85938 8 days ago |
16-65222 16 days |
| 30293 |
vlad902 author:vlad902 |
feat(SimpleGraph): there exists a maximal path/trail in a graph with finite edges |
Inspired by [this Zulip thread](https://leanprover.zulipchat.com/#narrow/channel/252551-graph-theory/topic/Help.20me.20learn.20good.20style.3A.20IsTree/near/543395218)
---
[](https://gitpod.io/from-referrer/)
|
awaiting-author
t-combinatorics
|
29/0 |
Mathlib/Combinatorics/SimpleGraph/Paths.lean |
1 |
5 |
['SnirBroshi', 'github-actions', 'mathlib4-merge-conflict-bot', 'vlad902'] |
awainverse assignee:awainverse |
8-73508 8 days ago |
8-73508 8 days ago |
54-64214 54 days |
| 32474 |
mattrobball author:mattrobball |
perf(Module.LinearMap.Defs): deprioritize projections to parents for SemilinearMapClass |
Trying to figure out if a given type has a SemilinearMapClass instance when all we want is an AddHomClass or a MulActionSemiHomClass can be quite expensive since there are multiple ways to crawl the algebraic hierarchy to generate LinearMapClass instances. If these fail, then they fail slowly. We deprioritize the projections from SemilinearMapClass to AddHomClass and MulActionSemiHomClass to make this one of the last choices.
---
This PR continues #23214 which was delegated by @j-loreaux but I let it slip.
Will re-bench and see the effect.
[](https://gitpod.io/from-referrer/)
|
t-algebra label:t-algebra$ |
6/0 |
Mathlib/Algebra/Module/LinearMap/Defs.lean |
1 |
1 |
['github-actions'] |
nobody |
8-73207 8 days ago |
8-73548 8 days ago |
8-73579 8 days |
| 31219 |
Thmoas-Guan author:Thmoas-Guan |
feat(Algebra): lemma about `IsBaseChange` under exact sequence |
In this lemma, we proved cokernel preserve `IsBaseChange S` and kernel preserve `IsBaseChange S` when `S` is flat.
Co-authored-by: Wang Jingting
---
[](https://gitpod.io/from-referrer/)
|
awaiting-author
t-ring-theory
|
105/0 |
Mathlib.lean,Mathlib/RingTheory/Flat/IsBaseChange.lean |
2 |
8 |
['Thmoas-Guan', 'erdOne', 'github-actions', 'mathlib4-merge-conflict-bot', 'urkud'] |
nobody |
8-72468 8 days ago |
21-39705 21 days ago |
16-43808 16 days |
| 32470 |
ADedecker author:ADedecker |
feat: the space of test functions is barrelled |
---
[](https://gitpod.io/from-referrer/)
|
t-analysis |
22/0 |
Mathlib/Analysis/Distribution/TestFunction.lean |
1 |
1 |
['github-actions'] |
nobody |
8-70463 8 days ago |
8-77714 8 days ago |
0-0 0 seconds |
| 31898 |
ntapiam author:ntapiam |
feat(LinearAlgebra/TensorAlgebra): implement HopfAlgebra for TensorAlgebra |
implementation of the natural Hopf algebra structure on the TensorAlgebra |
awaiting-author
new-contributor
t-ring-theory
|
253/0 |
Mathlib.lean,Mathlib/Algebra/FreeAlgebra.lean,Mathlib/LinearAlgebra/TensorAlgebra/Basic.lean,Mathlib/RingTheory/Bialgebra/FreeAlgebra.lean,Mathlib/RingTheory/Bialgebra/TensorAlgebra.lean,Mathlib/RingTheory/HopfAlgebra/TensorAlgebra.lean |
6 |
64 |
['YaelDillies', 'github-actions', 'kckennylau', 'ntapiam'] |
nobody |
8-68474 8 days ago |
21-35287 21 days ago |
0-63895 17 hours |
| 30736 |
alreadydone author:alreadydone |
feat(RingTheory): Picard group of a domain is isomorphic to ClassGroup |
---
- [x] depends on: #30657
[](https://gitpod.io/from-referrer/)
|
t-algebra
large-import
label:t-algebra$ |
389/88 |
Mathlib/Algebra/Algebra/Bilinear.lean,Mathlib/Algebra/Algebra/Operations.lean,Mathlib/Data/Set/Semiring.lean,Mathlib/LinearAlgebra/Span/Defs.lean,Mathlib/RingTheory/ClassGroup.lean,Mathlib/RingTheory/FractionalIdeal/Basic.lean,Mathlib/RingTheory/FractionalIdeal/Operations.lean,Mathlib/RingTheory/Localization/Defs.lean,Mathlib/RingTheory/PicardGroup.lean,docs/references.bib |
10 |
17 |
['alreadydone', 'erdOne', 'github-actions', 'jcommelin', 'mathlib4-dependent-issues-bot', 'mathlib4-merge-conflict-bot'] |
mariainesdff assignee:mariainesdff |
8-67861 8 days ago |
8-67895 8 days ago |
23-60497 23 days |
| 31960 |
urkud author:urkud |
feat: a lower bound for the volume of a cone on the unit sphere |
---
- [x] depends on: #31956
- [x] depends on: #31957
[](https://gitpod.io/from-referrer/)
|
t-measure-probability |
95/0 |
Mathlib/MeasureTheory/Constructions/HaarToSphere.lean |
1 |
3 |
['github-actions', 'mathlib4-dependent-issues-bot', 'mathlib4-merge-conflict-bot'] |
hrmacbeth assignee:hrmacbeth |
8-66285 8 days ago |
18-46940 18 days ago |
18-49483 18 days |
| 32438 |
JovanGerb author:JovanGerb |
feat: unfold-boundaries in `to_dual` |
This PR introduces a new feature to `to_dual` that allows us to have definitions whose dual is not definitionally equal to the dual of the value. This is crucial for many definitions that are dual to something morally but not definitionally. For example, `DecidableLE`, `Set.Ioo`, `Set.Ico`, `CovBy` , `Monotone`.
TODO:
- [ ] Better tracing to see what this is doing?
- [ ] Improve the UI of applying the `to_dual_dont_unfold` and `to_dual_cast` attributes.
- [ ] After translating, get rid of all occurrences of `Identification.toFun` and `Identification.invFun`, by unfolding these projections.
- [ ] Add tests
---
[](https://gitpod.io/from-referrer/)
|
large-import |
350/55 |
Mathlib.lean,Mathlib/Order/Basic.lean,Mathlib/Order/Cover.lean,Mathlib/Order/Defs/LinearOrder.lean,Mathlib/Order/Defs/PartialOrder.lean,Mathlib/Order/Interval/Set/Defs.lean,Mathlib/Order/Monotone/Defs.lean,Mathlib/Tactic.lean,Mathlib/Tactic/ToDual.lean,Mathlib/Tactic/Translate/Core.lean,Mathlib/Tactic/Translate/ToDual.lean,Mathlib/Tactic/Translate/UnfoldBoundary.lean |
12 |
2 |
['fpvandoorn', 'github-actions'] |
nobody |
8-64311 8 days ago |
9-54595 9 days ago |
0-0 0 seconds |
| 30484 |
vihdzp author:vihdzp |
refactor: override `≤` and `<` in `Function.Injective.semilatticeSup`, etc. |
These constructors now take `LE` and `LT` instance arguments, and proofs that the "induced" relations are equal. This matches the behavior for all other data fields of the same constructors, which avoids diamonds which could otherwise arise.
To recover the old behavior, you can instantiate `LE` and `LT` instances through `PartialOrder.lift` (if they don't exist already), and set the `le` and `lt` fields to `Iff.rfl`.
---
I seem to have (somehow?) changed a syntactic equality on fractional ideals - given that this golfs various proofs and even removes a porting note, I think this change is desirable.
[](https://gitpod.io/from-referrer/)
|
t-order |
394/378 |
Mathlib/Algebra/Lie/Submodule.lean,Mathlib/Algebra/Module/Injective.lean,Mathlib/Algebra/Order/Group/Ideal.lean,Mathlib/Algebra/Order/Kleene.lean,Mathlib/Analysis/Convex/Cone/Dual.lean,Mathlib/Analysis/Normed/Group/Seminorm.lean,Mathlib/Analysis/Seminorm.lean,Mathlib/CategoryTheory/Sites/Precoverage.lean,Mathlib/Combinatorics/Digraph/Basic.lean,Mathlib/Combinatorics/SimpleGraph/Basic.lean,Mathlib/Combinatorics/SimpleGraph/Finsubgraph.lean,Mathlib/Combinatorics/SimpleGraph/Subgraph.lean,Mathlib/Combinatorics/Young/YoungDiagram.lean,Mathlib/FieldTheory/Galois/GaloisClosure.lean,Mathlib/GroupTheory/GroupAction/SubMulAction.lean,Mathlib/MeasureTheory/MeasurableSpace/MeasurablyGenerated.lean,Mathlib/ModelTheory/Definability.lean,Mathlib/NumberTheory/NumberField/FractionalIdeal.lean,Mathlib/Order/BooleanAlgebra/Basic.lean,Mathlib/Order/BooleanSubalgebra.lean,Mathlib/Order/CompleteBooleanAlgebra.lean,Mathlib/Order/CompleteLattice/Basic.lean,Mathlib/Order/CompleteLattice/Lemmas.lean,Mathlib/Order/CompleteSublattice.lean,Mathlib/Order/Concept.lean,Mathlib/Order/Disjoint.lean,Mathlib/Order/Heyting/Basic.lean,Mathlib/Order/Heyting/Regular.lean,Mathlib/Order/Hom/Bounded.lean,Mathlib/Order/Hom/BoundedLattice.lean,Mathlib/Order/Hom/Lattice.lean,Mathlib/Order/Interval/Basic.lean,Mathlib/Order/Lattice.lean,Mathlib/Order/Nucleus.lean,Mathlib/Order/Sublattice.lean,Mathlib/Order/UpperLower/CompleteLattice.lean,Mathlib/RingTheory/DedekindDomain/Different.lean,Mathlib/RingTheory/DedekindDomain/Factorization.lean,Mathlib/RingTheory/DedekindDomain/Ideal/Basic.lean,Mathlib/RingTheory/DividedPowers/SubDPIdeal.lean,Mathlib/RingTheory/Filtration.lean,Mathlib/RingTheory/FractionalIdeal/Basic.lean,Mathlib/RingTheory/FractionalIdeal/Extended.lean,Mathlib/RingTheory/FractionalIdeal/Inverse.lean,Mathlib/RingTheory/FractionalIdeal/Operations.lean,Mathlib/RingTheory/GradedAlgebra/Homogeneous/Ideal.lean,Mathlib/Topology/Algebra/Group/ClosedSubgroup.lean,Mathlib/Topology/Algebra/Group/GroupTopology.lean,Mathlib/Topology/Algebra/Module/ClosedSubmodule.lean,Mathlib/Topology/Algebra/OpenSubgroup.lean,Mathlib/Topology/ContinuousMap/Bounded/Normed.lean,Mathlib/Topology/ContinuousMap/CompactlySupported.lean,Mathlib/Topology/ContinuousMap/Ordered.lean,Mathlib/Topology/DiscreteQuotient.lean,Mathlib/Topology/Sets/Closeds.lean,Mathlib/Topology/Sets/Compacts.lean,Mathlib/Topology/Sets/Opens.lean,Mathlib/Topology/Sets/Order.lean |
58 |
40 |
['Vierkantor', 'YaelDillies', 'github-actions', 'jcommelin', 'leanprover-bot', 'leanprover-radar', 'mathlib4-merge-conflict-bot', 'plp127', 'vihdzp'] |
bryangingechen assignee:bryangingechen |
8-57491 8 days ago |
17-56343 17 days ago |
23-41023 23 days |
| 31611 |
thorimur author:thorimur |
feat(Meta): `withPlural` wrapper for more readable messages in source |
This small PR introduces a thin wrapper `withPlural` for Lean's textual datatypes so that we can write
```
"foo".withPlural "foos" count
```
instead of
```
if count = 1 then "foo" else "foos"
```
The dot notation here is chosen so that the singular version of the word appears at the start of the syntax, as opposed to buried in an `if/then`. This makes dynamically pluralizing a word in `MessageData` (which is a relatively common occurrence) a bit easier to read in source, especially when multiple pluralizations are needed close to one another.
---
Am I handling the copyright header correctly? My reasoning is that the file was devoid of content, and so this is ultimately a new file. But I'm not sure this is technically what should happen here.
[](https://gitpod.io/from-referrer/)
|
awaiting-author
t-meta
|
63/5 |
Mathlib/Lean/Message.lean |
1 |
20 |
['adomani', 'github-actions', 'grunweg', 'mathlib4-merge-conflict-bot', 'thorimur'] |
alexjbest assignee:alexjbest |
8-57432 8 days ago |
8-57495 8 days ago |
21-2788 21 days |
| 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)
---
[](https://gitpod.io/from-referrer/)
|
t-meta
t-measure-probability
|
67/8 |
Mathlib/MeasureTheory/Integral/Bochner/L1.lean,Mathlib/MeasureTheory/Measure/Decomposition/IntegralRNDeriv.lean,Mathlib/MeasureTheory/Measure/MeasureSpaceDef.lean,Mathlib/MeasureTheory/OuterMeasure/AE.lean,Mathlib/MeasureTheory/OuterMeasure/BorelCantelli.lean,Mathlib/Probability/Notation.lean |
6 |
40 |
['YaelDillies', 'eric-wieser', 'github-actions', 'leanprover-community-bot-assistant', 'thorimur', 'urkud'] |
RemyDegenne and thorimur assignee:RemyDegenne assignee:thorimur |
8-50454 8 days ago |
38-67430 1 month ago |
38-67382 38 days |
| 32127 |
CoolRmal author:CoolRmal |
feat: use IndexedPartition.piecewise to create simple/measurable/strongly measurable functions |
The lemmas proved in this PR are needed in https://github.com/RemyDegenne/brownian-motion/pull/304.
---
[](https://gitpod.io/from-referrer/)
|
t-measure-probability
large-import
brownian
|
122/4 |
Mathlib/Data/Setoid/Partition.lean,Mathlib/MeasureTheory/Function/SimpleFunc.lean,Mathlib/MeasureTheory/Function/StronglyMeasurable/Basic.lean,Mathlib/MeasureTheory/MeasurableSpace/Basic.lean |
4 |
17 |
['CoolRmal', 'EtienneC30', 'github-actions', 'hanwenzhu', 'mathlib4-merge-conflict-bot'] |
EtienneC30 assignee:EtienneC30 |
8-49614 8 days ago |
8-54225 8 days ago |
16-63580 16 days |
| 32267 |
vlad902 author:vlad902 |
feat(SimpleGraph): add `SimpleGraph.HomClass` |
Inspired by [this PR review feedback.](https://github.com/leanprover-community/mathlib4/pull/30129#discussion_r2530032044)
---
[](https://gitpod.io/from-referrer/)
|
t-combinatorics |
4/0 |
Mathlib/Combinatorics/SimpleGraph/Maps.lean |
1 |
1 |
['YaelDillies', 'github-actions'] |
b-mehta assignee:b-mehta |
8-33934 8 days ago |
13-85380 13 days ago |
13-85411 13 days |
| 32323 |
LLaurance author:LLaurance |
feat(Combinatorics/SimpleGraph/Connectivity): exists vertex adjacent to any vertex of a nontrivial connected graph |
---
[](https://gitpod.io/from-referrer/)
|
t-combinatorics |
15/0 |
Mathlib/Combinatorics/SimpleGraph/Connectivity/Connected.lean,Mathlib/Combinatorics/SimpleGraph/Connectivity/Subgraph.lean |
2 |
1 |
['github-actions'] |
kmill assignee:kmill |
8-33933 8 days ago |
12-58294 12 days ago |
12-61018 12 days |
| 28468 |
alreadydone author:alreadydone |
feat(Algebra): ring API for `AddLocalization` |
Extract `Submonoid.IsLocalizationMap` from `LocalizationMap` and use it in `IsLocalization`.
Develop basic API for AddLocalization at a two-sided ideal; in the case of the top AddSubmonoid, show the localization has a Ring structure (Grothendieck ring).
Show that a commuative semiring with cancellative addition satisfies the strong rank condition.
---
- [x] depends on: #27842
- [x] depends on: #27862
- [x] depends on: #29596
- [x] depends on: #29597
[](https://gitpod.io/from-referrer/)
|
awaiting-author
t-algebra
large-import
label:t-algebra$ |
676/6 |
Mathlib.lean,Mathlib/GroupTheory/MonoidLocalization/Archimedean.lean,Mathlib/GroupTheory/MonoidLocalization/Basic.lean,Mathlib/GroupTheory/MonoidLocalization/Lemmas.lean,Mathlib/RingTheory/IsTensorProduct.lean,Mathlib/RingTheory/Localization/Additive.lean,Mathlib/RingTheory/Localization/Defs.lean,Mathlib/RingTheory/Localization/StrongRankCondition.lean |
8 |
6 |
['alreadydone', 'chrisflav', 'github-actions', 'mathlib4-dependent-issues-bot', 'mathlib4-merge-conflict-bot'] |
chrisflav assignee:chrisflav |
8-32834 8 days ago |
8-44516 8 days ago |
17-3113 17 days |
| 32497 |
themathqueen author:themathqueen |
chore: make `FiniteDimensional.complete 𝕜` an instance when `𝕜` is `RCLike` |
---
[](https://gitpod.io/from-referrer/)
|
t-analysis
awaiting-bench
|
3/26 |
Mathlib/Analysis/InnerProductSpace/Adjoint.lean,Mathlib/Analysis/InnerProductSpace/Positive.lean |
2 |
3 |
['github-actions', 'leanprover-radar', 'themathqueen'] |
nobody |
8-30406 8 days ago |
8-32386 8 days ago |
0-0 0 seconds |
| 31601 |
BoltonBailey author:BoltonBailey |
feat(Data/Nat/Choose): A new strictly positive binomial coefficient |
This is an experimental PR relating to replacing `Nat.choose` with a strictly positive function equivalently to `Nat.choose a (a + b)`.
Currently this introduces a new function `Nat.binom`, but we could also modify `Nat.multinomial`.
---
[](https://gitpod.io/from-referrer/)
|
t-data |
226/1 |
Mathlib/Data/Nat/Choose/Binomial.lean,Mathlib/Data/Nat/Choose/Multinomial.lean |
2 |
1 |
['github-actions'] |
nobody |
8-8602 8 days ago |
30-52921 1 month ago |
0-0 0 seconds |
| 31998 |
Thmoas-Guan author:Thmoas-Guan |
feat(Algebra): localized module in `ModuleCat` |
For a ring `R` satisfying `[Small.{v} R]` and a submonoid `S` of `R`, this PR defines an exact functor `ModuleCat.{v} R ⥤ ModuleCat.{v} (Localization S)`.
---
[](https://gitpod.io/from-referrer/)
|
awaiting-author
t-algebra
label:t-algebra$ |
104/0 |
Mathlib.lean,Mathlib/Algebra/Category/ModuleCat/Localization.lean |
2 |
26 |
['Thmoas-Guan', 'dagurtomas', 'github-actions'] |
dagurtomas and kim-em assignee:kim-em assignee:dagurtomas |
8-5881 8 days ago |
10-55822 10 days ago |
9-49169 9 days |
| 31995 |
Thmoas-Guan author:Thmoas-Guan |
feat(RingTheory) : Module being injective is local property |
In this PR, we proved that for module over Noetherian ring, being injective is local property.
---
[](https://gitpod.io/from-referrer/)
|
awaiting-author
t-ring-theory
|
231/0 |
Mathlib.lean,Mathlib/RingTheory/LocalProperties/Injective.lean |
2 |
4 |
['Thmoas-Guan', 'dagurtomas', 'github-actions'] |
nobody |
8-3830 8 days ago |
17-47819 17 days ago |
3-30007 3 days |
| 32134 |
mitchell-horner author:mitchell-horner |
feat(Topology/Real): theorems linking `IsGLB` with `BddBelow`, `Antitone`, `Tendsto _ atTop` |
Implement theorems linking `IsGLB` (`IsLUB`) with `BddBelow` (`BddAbove`), `Antitone` (`Monotone`), `Tendsto _ atTop`
---
[](https://gitpod.io/from-referrer/)
|
t-topology
large-import
|
117/63 |
Mathlib/Algebra/Order/Monoid/Canonical/Basic.lean,Mathlib/Analysis/Normed/Unbundled/SeminormFromConst.lean,Mathlib/Analysis/Normed/Unbundled/SpectralNorm.lean,Mathlib/Topology/Instances/NNReal/Lemmas.lean |
4 |
18 |
['YaelDillies', 'github-actions', 'mitchell-horner'] |
YaelDillies assignee:YaelDillies |
7-83377 7 days ago |
7-86395 7 days ago |
8-41379 8 days |
| 31901 |
callesonne author:callesonne |
feat(Bicategory/Subbicategory): add full subbicategories using `ObjectProperty` |
Analogously to the 1-categorical setting we construct a full subbicategory from an object property.
One could also construct locally full subbicategories using a pair of an object property and a morphism property. However then there is no way to obtain the bicategory structure by specializing from the `InducedBicategory` case. It is not clear to me if we want a full subbicategory to be specialized from this other construction, or from `InducedBicategory`.
---
- [x] depends on: #30925
[](https://gitpod.io/from-referrer/)
|
awaiting-author
t-category-theory
|
135/2 |
Mathlib.lean,Mathlib/CategoryTheory/Bicategory/Basic.lean,Mathlib/CategoryTheory/Bicategory/InducedBicategory.lean,Mathlib/CategoryTheory/Bicategory/Subbicategory.lean |
4 |
n/a |
['callesonne', 'github-actions', 'leanprover-radar', 'mathlib4-dependent-issues-bot', 'mathlib4-merge-conflict-bot', 'robin-carlier'] |
nobody |
7-82730 7 days ago |
unknown |
unknown |
| 31879 |
Thmoas-Guan author:Thmoas-Guan |
feat(Algebra/Homology): Projective dimension in linear equiv |
In this PR, we proved that projective dimension is stable under (semi-) linear equiv of general universe.
---
[](https://gitpod.io/from-referrer/)
|
awaiting-author
t-algebra
label:t-algebra$ |
268/0 |
Mathlib.lean,Mathlib/Algebra/Category/ModuleCat/ProjectiveDimension.lean |
2 |
4 |
['Thmoas-Guan', 'dagurtomas', 'github-actions'] |
dagurtomas assignee:dagurtomas |
7-79829 7 days ago |
17-50974 17 days ago |
5-41763 5 days |
| 32326 |
chrisflav author:chrisflav |
feat(Algebra/ModuleCat): extension of scalars is comonadic for a faithfully flat algebra |
This is also known as faithfully flat descent, but the proof that these statements indeed imply each other is much longer than this PR (see #24434).
Co-authored-by: Dagur Asgeirsson
Co-authored-by: Jack McKoen
Co-authored-by: Joël Riou
Co-authored-by: Adam Topaz
This contribution was created as part of the AIM workshop
"Formalizing algebraic geometry" in June 2024.
---
This PR continues the work from #14203.
[](https://gitpod.io/from-referrer/)
|
awaiting-author
t-ring-theory
|
98/0 |
Mathlib.lean,Mathlib/Algebra/Category/ModuleCat/ChangeOfRings.lean,Mathlib/Algebra/Category/ModuleCat/Descent.lean,Mathlib/Algebra/Homology/ShortComplex/ExactFunctor.lean,Mathlib/RingTheory/Flat/FaithfullyFlat/Basic.lean |
5 |
4 |
['erdOne', 'github-actions'] |
erdOne assignee:erdOne |
7-79112 7 days ago |
7-79112 7 days ago |
4-62591 4 days |
| 29960 |
yonggyuchoimath author:yonggyuchoimath |
feat(Algebra/Category/Ring): equalizers of pushout maps of tensor product inclusions |
This PR defines a ring map `S →ₗ[R] S ⊗[R] S : s ↦ (s ⊗ₜ[R] 1) - (1 ⊗ₜ[R] s)` for an `R`-algebra `S`, and show that its kernel is exactly (the image of) `R` if `S` is faithfully flat over `R`.
Changes:
* `TensorProduct.AlgebraTensorModule.distribBaseChange`: Origianlly takes `M` and `N`, where `M` is an `R`-module with an additional instance `IsScalarTower R A M`. This is unnecessary, so I changed the `M` and `N` into `N` and `Q`, now both of which are merely modules over `R`.
Main results :
* Add compatibility of `Algebra.TensorProduct.includeLeft` (or `Algebra.TensorProduct.includeRight`) with `TensorProduct.AlgebraTensorModule.distribBaseChange` and `LinearMap.lTensor`
* Define `Algebra.TensorProduct.includeLeftSubRight`, which is the `R`-linear map `S →ₗ[R] S ⊗[R] S` sending `s : S` to `(s ⊗ₜ[R] 1) - (1 ⊗ₜ[R] s)`.
* `Algebra.TensorProduct.exactIncludeLeftSubRight_of_faithfullyFlat`: the pair `algebraMap : R → S` and `includeLeftSubRight R S : S → S ⊗[R] S` is exact if `S` is a faithfully flat `R`-algebra.
---
- [x] depends on: #30806 |
awaiting-author
new-contributor
t-ring-theory
|
227/1 |
Mathlib.lean,Mathlib/LinearAlgebra/TensorProduct/Tower.lean,Mathlib/RingTheory/TensorProduct/IncludeLeftSubRight.lean,Mathlib/RingTheory/TensorProduct/Maps.lean |
4 |
17 |
['erdOne', 'github-actions', 'mathlib4-dependent-issues-bot', 'mathlib4-merge-conflict-bot', 'yonggyuchoimath'] |
PatrickMassot and erdOne assignee:PatrickMassot assignee:erdOne |
7-75799 7 days ago |
7-75799 7 days ago |
54-32574 54 days |
| 32473 |
mattrobball author:mattrobball |
chore(Kaehler.JacobiZariski): remove egregious local instance hack |
This code looks terrible and is no longer strictly necessary. Local timings give
`lake build Mathlib/RingTheory/Kaehler/JacobiZariski.lean 39.77s user 1.07s
system 263% cpu 15.482 total` after removal and `lake build
Mathlib/RingTheory/Kaehler/JacobiZariski.lean 36.93s user 1.01s system 251% cpu
15.113 total` before the removal. So the preformance impact of removal is small.
One could argue that keeping is a remainder that everything here needs to be
seriously changed but the miminmal performance difference suggests that these
local instances would be a red herring in that regard.
---
[](https://gitpod.io/from-referrer/)
|
awaiting-author
t-ring-theory
|
0/4 |
Mathlib/RingTheory/Kaehler/JacobiZariski.lean |
1 |
13 |
['chrisflav', 'erdOne', 'github-actions', 'leanprover-radar', 'mattrobball'] |
nobody |
7-74337 7 days ago |
7-74337 7 days ago |
1-301 1 day |
| 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`.
---
- [x] depends on: #27597
- [x] depends on: #30287
[](https://gitpod.io/from-referrer/)
|
t-combinatorics |
117/7 |
Mathlib/Combinatorics/SimpleGraph/CompleteMultipartite.lean |
1 |
27 |
['YaelDillies', 'b-mehta', 'github-actions', 'mathlib4-dependent-issues-bot', 'mathlib4-merge-conflict-bot', 'mitchell-horner'] |
YaelDillies assignee:YaelDillies |
6-71896 6 days ago |
8-36012 8 days ago |
65-21041 65 days |
| 30436 |
wwylele author:wwylele |
feat(Topology/InfiniteSum): tprod_one_{add/sub}_ordered |
This extends the existing `Finset.prod_one_sub_ordered` to infinite sum/product, and also adds the more natural `add` version.
Together with some previous PRs about infinite sum/prod and powerseries, this is part of my effort of upstreaming useful stuff from https://github.com/wwylele/PentagonalNumberTheorem. It starts getting into niche lemma, so suggestions such that not wanting this in mathlib, or it should be stated in a different form, are all welcomed.
---
[](https://gitpod.io/from-referrer/)
|
t-topology |
42/0 |
Mathlib/Algebra/BigOperators/Ring/Finset.lean,Mathlib/Topology/Algebra/InfiniteSum/Ring.lean |
2 |
6 |
['github-actions', 'kckennylau', 'wwylele'] |
grunweg assignee:grunweg |
6-63973 6 days ago |
6-63973 6 days ago |
48-8588 48 days |
| 32245 |
erdOne author:erdOne |
feat(RingTheory): the `coassoc_simps` simp set |
From Toric
Co-authored-by: Yaël Dillies
---
[](https://gitpod.io/from-referrer/)
|
toric
t-ring-theory
|
836/0 |
Mathlib.lean,Mathlib/RingTheory/Coalgebra/CoassocSimps.lean,Mathlib/RingTheory/Coalgebra/SimpAttr.lean,MathlibTest/RingTheory/CoassocSimps.lean |
4 |
1 |
['github-actions'] |
nobody |
6-63277 6 days ago |
14-62450 14 days ago |
0-0 0 seconds |
| 32367 |
BoltonBailey author:BoltonBailey |
feat(Computability): add finEncodings for List Bool and pairs of types |
This PR contains `finEncoding`s relevant to developing complexity theory in downstream libraries. It is adapted from [this](https://leanprover.zulipchat.com/#narrow/channel/116395-maths/topic/Formalise.20the.20proposition.20P.20.E2.89.A0NP/near/451765788)[#maths > Formalise the proposition P ≠NP @ 💬](https://leanprover.zulipchat.com/#narrow/channel/116395-maths/topic/Formalise.20the.20proposition.20P.20.E2.89.A0NP/near/451765788) comment.
Co-authored-by: Daniel Weber
---
[](https://gitpod.io/from-referrer/)
|
t-computability |
58/3 |
Mathlib/Computability/Encoding.lean,Mathlib/Data/List/Basic.lean,Mathlib/Data/Sum/Basic.lean |
3 |
2 |
['MichaelStollBayreuth', 'github-actions'] |
nobody |
6-58087 6 days ago |
6-58206 6 days ago |
11-52635 11 days |
| 31610 |
rudynicolop author:rudynicolop |
feat(Computability/NFA): Kleene star closure for Regular Languages via NFA |
This PR constructs a Kleene star closure for non-epsilon NFAs, and proves that regular languages are closed under Kleene star. The NFA construction is `NFA.kstar`. The main theorems are:
- `NFA.accepts_kstar`: demonstrates that `M.kstar` accepts the Kleene star closure of the language of `M`.
- `IsRegular.kstar`: demonstrates that regular languages are closed under Kleene star.
There is an onging zulip discussion about regular languages in Mathlib: https://leanprover.zulipchat.com/#narrow/channel/287929-mathlib4/topic/Regular.20languages.3A.20the.20review.20queue/with/553759136
This discussion is also tracked at #24205.
Furthermore, the construction and proofs in this PR are heavily inspired by @TpmKranz from his #15651. #15651 supersedes this PR, so if it is accepted then this PR is not needed.
---
- [x] depends on: #31038
[](https://gitpod.io/from-referrer/)
|
new-contributor
t-computability
|
405/7 |
Mathlib/Computability/NFA.lean |
1 |
5 |
['ctchou', 'github-actions', 'mathlib4-dependent-issues-bot', 'mathlib4-merge-conflict-bot'] |
nobody |
6-42145 6 days ago |
12-45347 12 days ago |
12-48297 12 days |
| 32374 |
adamtopaz author:adamtopaz |
feat(Tactic/WildcardUniverse): Foo.{*, _, v*, max u v} |
This PR creates an elaborator for syntax of the form `Foo.{*, _, v*, max u v}`. A `*` indicates that a new universe parameter should be created, `_` and `max u v` elaborate using the existing level elaboration (so `_` elaborates to a level mvar). The syntax `v*` creates a level parameter of the form `v_n` for some value of `n`.
The newly created level parameters are ordered in a particular way to match the order in which they appear in the syntax. For example, in `Foo.{*, _, v*, max u v}`, the level parameter associated with `*` will come before the other universes, including the parameter created by `v*`, and the parameters `u` and `v`. Similarly the parameter associated with `v*` will come *after* the one for `*`, and before both `u` and `v`.
Note: Unlike `Category* C`, where we understand exactly how the universes involved in `C` (both in the term and its type) relate to the level parameter of the morphisms, we can't expect such precise control in general. For example, when `C.{u} : Type 0`, `Category* C` places the morphism level `v_1` before `u`, but `Category.{*} C` places it after `u`. In other words, `Foo.{...}` only reorders the level parameters based on the parameters that appear in the (elaborated) `...`, without any regard to the universes that appear in the *arguments* to `Foo.{...}`.
Co-authored-by: Claude
---
[](https://gitpod.io/from-referrer/)
|
t-meta |
703/0 |
Mathlib.lean,Mathlib/Tactic.lean,Mathlib/Tactic/WildcardLevel.lean,MathlibTest/WildcardLevel.lean |
4 |
25 |
['JovanGerb', 'adamtopaz', 'github-actions'] |
dwrensha assignee:dwrensha |
6-33928 6 days ago |
9-40259 9 days ago |
10-44856 10 days |
| 32427 |
YaelDillies author:YaelDillies |
refactor(Algebra/Algebra): genericise algebra instances for subsemirings |
From ClassFieldTheory
---
[](https://gitpod.io/from-referrer/)
|
t-algebra
CFT
label:t-algebra$ |
51/67 |
Mathlib/Algebra/Algebra/Basic.lean,Mathlib/Algebra/Algebra/Subalgebra/Basic.lean,Mathlib/Algebra/Algebra/Subalgebra/Tower.lean,Mathlib/Algebra/DirectSum/Internal.lean,Mathlib/Analysis/Normed/Unbundled/SpectralNorm.lean,Mathlib/NumberTheory/Cyclotomic/Basic.lean,Mathlib/NumberTheory/NumberField/CMField.lean,Mathlib/NumberTheory/Padics/PadicIntegers.lean,Mathlib/RingTheory/Algebraic/Integral.lean,Mathlib/RingTheory/Algebraic/MvPolynomial.lean,Mathlib/RingTheory/Extension/Presentation/Core.lean,Mathlib/RingTheory/IntegralClosure/IntegralRestrict.lean,Mathlib/RingTheory/LocalRing/LocalSubring.lean,Mathlib/RingTheory/Polynomial/Basic.lean,Mathlib/RingTheory/Valuation/AlgebraInstances.lean,Mathlib/RingTheory/Valuation/Integers.lean |
16 |
1 |
['github-actions'] |
joelriou assignee:joelriou |
6-33924 6 days ago |
9-79827 9 days ago |
9-79801 9 days |
| 32433 |
YaelDillies author:YaelDillies |
feat: an irreducible element of a submonoid isn't zero |
From ClassFieldTheory
---
[](https://gitpod.io/from-referrer/)
|
t-algebra
CFT
label:t-algebra$ |
4/0 |
Mathlib/Algebra/GroupWithZero/NonZeroDivisors.lean |
1 |
1 |
['github-actions'] |
mattrobball assignee:mattrobball |
6-33922 6 days ago |
9-61856 9 days ago |
9-61830 9 days |
| 32128 |
grunweg author:grunweg |
dev: investigate the private module linter not firing |
Only for debugging.
(1) wait for CI to rebuild everything until separablyGenerated
(2) make any modifications to the linter to dump debugging state
(3) try to find the bug with it
---
[](https://gitpod.io/from-referrer/)
|
|
10/6 |
Mathlib/Analysis/Normed/Lp/SmoothApprox.lean,Mathlib/Init.lean,Mathlib/Tactic/Linter.lean,Mathlib/Tactic/Linter/PrivateModule.lean,Mathlib/Tactic/ToAdditive.lean,Mathlib/Util/MemoFix.lean |
6 |
4 |
['github-actions', 'grunweg', 'mathlib4-merge-conflict-bot'] |
nobody |
6-1815 6 days ago |
6-3617 6 days ago |
7-70775 7 days |
| 31706 |
Thmoas-Guan author:Thmoas-Guan |
feat(Algebra/ModuleCat): `ModuleCat.uliftFunctor` |
Add `ModuleCat.uliftFunctor`
---
[](https://gitpod.io/from-referrer/)
|
awaiting-author
t-algebra
label:t-algebra$ |
97/0 |
Mathlib.lean,Mathlib/Algebra/Category/ModuleCat/Ulift.lean |
2 |
11 |
['Thmoas-Guan', 'dagurtomas', 'erdOne', 'github-actions', 'mathlib4-merge-conflict-bot'] |
mattrobball assignee:mattrobball |
6-1797 6 days ago |
14-59930 14 days ago |
10-49026 10 days |
| 32273 |
jsm28 author:jsm28 |
feat(Analysis/Convex/Side): affine combinations on same / opposite side of face of a simplex as a vertex |
Build on #31205 by providing lemmas about when an affine combination of the vertices of a simplex is on the same / opposite side of a face (opposite a vertex) of the simplex as that vertex (a specific case of the lemmas from #31205 which involve two arbitrary affine combinations).
---
- [ ] depends on: #31205
[](https://gitpod.io/from-referrer/)
|
t-analysis
t-convex-geometry
|
62/0 |
Mathlib/Analysis/Convex/Side.lean |
1 |
3 |
['github-actions', 'mathlib4-dependent-issues-bot', 'mathlib4-merge-conflict-bot'] |
nobody |
5-82475 5 days ago |
5-82504 5 days ago |
6-3680 6 days |
| 29744 |
espottesmith author:espottesmith |
feat(Combinatorics): define directed hypergraphs |
This PR defines directed hypergraphs:
```
@[ext]
structure DiHypergraph (α : Type*) where
/-- The vertex set -/
vertexSet : Set α
/-- The edge set -/
edgeSet : Set ((Set α) × (Set α))
/-- Each edge is a pair (s, d), where s ⊆ vertexSet and d ⊆ vertexSet -/
edge_src_dst_isSubset_vertexSet' : ∀ ⦃e⦄, e ∈ edgeSet → e.1 ⊆ vertexSet ∧ e.2 ⊆ vertexSet
```
Additional definitions:
- tail/head stars and negative/positive stars
- some special cases (B-Graph, F-Graph, BF-Graph, and what I'm calling a "non-endless" dihypergraph, where neither the source/tail nor the destination/head are empty)
- Vertex and (hyper)edge adjacency
- isolated vertices
- empty and nonempty dihypergraphs
The design employed here is based off of #28613, but this PR does not depend on that one.
---
[](https://gitpod.io/from-referrer/)
|
t-combinatorics
new-contributor
|
391/0 |
Mathlib.lean,Mathlib/Combinatorics/DiHypergraph/Basic.lean |
2 |
2 |
['github-actions', 'mathlib4-merge-conflict-bot'] |
b-mehta assignee:b-mehta |
5-78151 5 days ago |
24-69178 24 days ago |
87-57570 87 days |
| 31147 |
daefigueroa author:daefigueroa |
feat(Dynamics): point transitive monoid actions and transitive points |
We define point transitivity for a monoid action on a topological space and define the set of transitive points. We add some basic lemmas and implications between topological transitivity and point transitivity.
---
- [x] depends on: #28001
[](https://gitpod.io/from-referrer/) |
awaiting-author
t-dynamics
new-contributor
|
114/6 |
Mathlib/Dynamics/Transitive.lean |
1 |
6 |
['github-actions', 'mathlib4-dependent-issues-bot', 'mathlib4-merge-conflict-bot', 'sgouezel'] |
sgouezel assignee:sgouezel |
5-75947 5 days ago |
5-75947 5 days ago |
18-38983 18 days |
| 30089 |
loefflerd author:loefflerd |
feat(NumberTheory/ModularForms): Bounds on modular forms and q-expansion coeffs |
Show that the q-expansion coefficients of a weight k modular form grow like `n ^ k`, and like `n ^ (k / 2)` for cusp forms.
---
This is a "blockbuster" PR from which many smaller chunks will be carved off for review and submission. The first in the series are the following:
- [x] depends on: #29743
- [x] depends on: #30475
- [x] depends on: #30461
- [ ] depends on: #30471
- [ ] depends on: #30512
- [ ] depends on: #30648
[](https://gitpod.io/from-referrer/)
|
WIP
blocked-by-other-PR
t-number-theory
large-import
|
943/94 |
Mathlib.lean,Mathlib/Analysis/Complex/CauchyIntegral.lean,Mathlib/NumberTheory/ModularForms/Basic.lean,Mathlib/NumberTheory/ModularForms/Bounds.lean,Mathlib/NumberTheory/ModularForms/Cusps.lean,Mathlib/NumberTheory/ModularForms/Identities.lean,Mathlib/NumberTheory/ModularForms/LevelOne.lean,Mathlib/NumberTheory/ModularForms/Petersson.lean,Mathlib/NumberTheory/ModularForms/QExpansion.lean,Mathlib/Topology/Algebra/Order/ArchimedeanDiscrete.lean |
10 |
n/a |
['github-actions', 'mathlib4-dependent-issues-bot', 'mathlib4-merge-conflict-bot'] |
nobody |
53-64358 1 month ago |
unknown |
unknown |
| 31121 |
jessealama author:jessealama |
feat: add ComplexShape.EulerCharSigns for generalized Euler characteristic |
Add `ComplexShape.EulerCharSigns` typeclass providing the alternating signs `χ : ι → ℤˣ` for Euler characteristic computations. Instances are provided for `up ℕ`, `down ℕ`, `up ℤ`, and `down ℤ`.
The Euler characteristic definitions (`eulerChar` and `eulerCharTsum`) are defined on `GradedObject` with `ComplexShape` as an explicit parameter. The `HomologicalComplex` versions are abbreviations that apply these to `C.X` and `C.homology`. Both finite and infinite sum versions are provided.
Split from #29713 as suggested by @joelriou. |
awaiting-author
t-category-theory
t-algebra
label:t-algebra$ |
188/0 |
Mathlib.lean,Mathlib/Algebra/Homology/EulerCharacteristic.lean |
2 |
6 |
['github-actions', 'jessealama', 'joelriou', 'mathlib4-merge-conflict-bot'] |
nobody |
5-73820 5 days ago |
23-73458 23 days ago |
12-18361 12 days |
| 30711 |
kim-em author:kim-em |
experiment: which `omega` can not be replaced with `grind`? |
|
|
1/0 |
lakefile.lean |
1 |
2 |
['github-actions', 'mathlib4-merge-conflict-bot'] |
nobody |
5-69020 5 days ago |
5-69020 5 days ago |
0-0 0 seconds |
| 30718 |
kim-em author:kim-em |
experiment: merge rewrites |
|
t-meta |
1/0 |
lakefile.lean |
1 |
3 |
['github-actions', 'mathlib4-merge-conflict-bot'] |
nobody |
5-69018 5 days ago |
5-69018 5 days ago |
0-0 0 seconds |
| 30720 |
kim-em author:kim-em |
experiment: merge with subsequent grind |
|
|
1/0 |
lakefile.lean |
1 |
2 |
['github-actions', 'mathlib4-merge-conflict-bot'] |
nobody |
5-69018 5 days ago |
5-69018 5 days ago |
0-0 0 seconds |
| 31579 |
xroblot author:xroblot |
feat(Data/Nat/Digits): prove the bijection induced by `Nat.ofDigits` and use it to compute the sum of the sum of digits |
We prove that `Nat.ofDigits` induces a bijection between the set of list of natural integers of length `l`
with coefficients `< b` and the set of natural integers `< b ^ l` and develop some API.
As a application, we prove that
```lean
theorem Nat.sum_digits_sum_eq {b : ℕ} (hb : 1 < b) (l : ℕ) :
∑ x ∈ Finset.range (b ^ l), (b.digits x).sum = l * b ^ (l - 1) * b.choose 2
```
---
|
t-data |
212/0 |
Mathlib/Data/Nat/Digits/Lemmas.lean |
1 |
12 |
['TwoFX', 'eric-wieser', 'github-actions', 'mathlib4-merge-conflict-bot', 'xroblot'] |
TwoFX assignee:TwoFX |
5-68500 5 days ago |
16-78779 16 days ago |
30-75273 30 days |
| 32602 |
adamtopaz author:adamtopaz |
feat: Refactor graph |
Work in progress
---
[](https://gitpod.io/from-referrer/)
|
WIP |
1323/0 |
RefactorGraph/DAG.lean,RefactorGraph/Main.lean,RefactorGraph/Test.lean,lakefile.lean |
4 |
1 |
['github-actions'] |
nobody |
5-53181 5 days ago |
5-53294 5 days ago |
0-1 1 second |
| 32160 |
SnirBroshi author:SnirBroshi |
feat(Combinatorics/SimpleGraph/Walks): helper theorems about `darts` and `support` |
---
[](https://gitpod.io/from-referrer/)
|
t-combinatorics |
39/1 |
Mathlib/Combinatorics/SimpleGraph/Walks/Basic.lean,Mathlib/Combinatorics/SimpleGraph/Walks/Traversal.lean |
2 |
1 |
['github-actions'] |
kmill assignee:kmill |
5-39522 5 days ago |
17-31549 17 days ago |
17-31579 17 days |
| 31984 |
kim-em author:kim-em |
feat: definition of `ConvexSpace` |
Trying to get the ball rolling the notion of a space with convex combinations, I suggest:
```
class ConvexSpace (R : Type u) (M : Type v)
[PartialOrder R] [Semiring R] [IsStrictOrderedRing R] where
/-- Take a convex combination of a family of points with the given probability distribution. -/
convexCombination {ι : Type v} (f : FiniteProbability R ι) (xs : ι → M) : M
/-- Associativity of convex combination. -/
assoc
{κ : Type v} (f₀ : FiniteProbability R κ)
{ι : κ → Type v} (f₁ : (k : κ) → FiniteProbability R (ι k))
(xs : (k : κ) → (ι k) → M) :
convexCombination f₀ (fun m => convexCombination (f₁ m) (xs m)) =
convexCombination (f₀.comp f₁) (fun ⟨k, i⟩ => xs k i)
/-- A convex combination of a single point is that point. -/
single {ι : Type v} (i : ι) (x : M) : convexCombination (.single i) (fun _ => x) = x
/-- Convex combinations are determined by the points with non-zero weights. -/
-- Perhaps this follows from `assoc`, but I don't see how.
ext {ι : Type v} (f : FiniteProbability R ι) (xs xs' : ι → M)
(h : ∀ i, i ∈ f.support → xs i = xs' i) : convexCombination f xs = convexCombination f xs'
```
where
```
structure FiniteProbability (R : Type u) [LE R] [AddCommMonoid R] [One R] (ι : Type v)
extends weights : ι →₀ R where
/-- All weights are non-negative. -/
nonneg : ∀ m, 0 ≤ weights m
/-- The weights sum to 1. -/
total : weights.sum (fun _ r => r) = 1
```
The file also contains some TODOs for next steps. |
t-algebra label:t-algebra$ |
142/0 |
Mathlib.lean,Mathlib/LinearAlgebra/ConvexSpace.lean |
2 |
22 |
['ADedecker', 'github-actions', 'kim-em', 'plp127'] |
pechersky assignee:pechersky |
5-33931 5 days ago |
21-24859 21 days ago |
21-24894 21 days |
| 32455 |
vihdzp author:vihdzp |
feat: order topologies of successor orders |
---
Co-authored by @j-loreaux
[](https://gitpod.io/from-referrer/)
|
t-topology
t-order
|
124/43 |
Mathlib.lean,Mathlib/Order/Cover.lean,Mathlib/SetTheory/Ordinal/Topology.lean,Mathlib/Topology/Order/SuccPred.lean |
4 |
1 |
['github-actions'] |
pechersky assignee:pechersky |
5-33927 5 days ago |
9-21242 9 days ago |
9-21229 9 days |
| 31449 |
kim-em author:kim-em |
feat(SemilocallySimplyConnected): definition and alternative formulation |
Note: Proofs in this PR were developed with assistance from Claude. |
|
114/0 |
Mathlib.lean,Mathlib/AlgebraicTopology/FundamentalGroupoid/SemilocallySimplyConnected.lean,Mathlib/Topology/Path.lean |
3 |
4 |
['ADedecker', 'github-actions', 'kim-em', 'mathlib4-merge-conflict-bot'] |
ADedecker assignee:ADedecker |
5-31716 5 days ago |
5-31716 5 days ago |
26-27781 26 days |
| 32614 |
vihdzp author:vihdzp |
refactor: Typeclass for antitone inverses/negation |
There are a couple of types with antitone inverses or negation that don't otherwise adhere to the group axioms. Examples include `SignType` and `EReal` for negation, and `ENNReal` for inverses. The CGT repository also adds the type of games and the type of surreal cuts to the list for negation.
To standardize the various corollaries of this condition, we introduce mix-ins `NegAntiClass` and `InvAntiClass`. Lemmas which formerly required `Group` are now proven under weaker assumptions like `DivisionMonoid` or even `InvolutiveInv`.
---
[](https://gitpod.io/from-referrer/)
|
t-algebra label:t-algebra$ |
161/82 |
Mathlib/Algebra/Order/Group/Defs.lean,Mathlib/Algebra/Order/Group/OrderIso.lean,Mathlib/Algebra/Order/Group/Unbundled/Basic.lean |
3 |
2 |
['github-actions', 'jsm28'] |
nobody |
5-26989 5 days ago |
5-34011 5 days ago |
0-0 0 seconds |
| 28599 |
Thmoas-Guan author:Thmoas-Guan |
feat(RingTheory): polynomial over CM ring is CM |
polynomial over Cohen Macaulay ring is Cohen Macaulay
---
[](https://gitpod.io/from-referrer/)
|
WIP
large-import
t-ring-theory
|
2193/15 |
Mathlib.lean,Mathlib/Algebra/Category/ModuleCat/Ext/DimensionShifting.lean,Mathlib/Algebra/Category/ModuleCat/Ext/Finite.lean,Mathlib/Algebra/Homology/DerivedCategory/Ext/EnoughInjectives.lean,Mathlib/Algebra/Homology/DerivedCategory/Ext/EnoughProjectives.lean,Mathlib/Data/ENat/Basic.lean,Mathlib/RingTheory/CohenMacaulay/Basic.lean,Mathlib/RingTheory/CohenMacaulay/Polynomial.lean,Mathlib/RingTheory/Regular/Category.lean,Mathlib/RingTheory/Regular/Depth.lean,Mathlib/RingTheory/Regular/Ischebeck.lean |
11 |
n/a |
['github-actions', 'mathlib4-merge-conflict-bot'] |
nobody |
5-24157 5 days ago |
unknown |
unknown |
| 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`.
---
[](https://gitpod.io/from-referrer/)
|
t-algebra label:t-algebra$ |
57/17 |
Mathlib/Algebra/Colimit/DirectLimit.lean,Mathlib/Algebra/Ring/Defs.lean |
2 |
30 |
['alreadydone', 'github-actions', 'j-loreaux', 'kckennylau', 'leanprover-bot', 'leanprover-community-mathlib4-bot', 'leanprover-radar', 'riccardobrasca'] |
riccardobrasca assignee:riccardobrasca |
5-20964 5 days ago |
5-20964 5 days ago |
66-14150 66 days |
| 30116 |
FormulaRabbit81 author:FormulaRabbit81 |
feat(MeasureTheory): a relatively compact set of measures is tight |
---
[](https://gitpod.io/from-referrer/)
|
t-measure-probability
large-import
|
181/6 |
Mathlib/MeasureTheory/Measure/Tight.lean |
1 |
20 |
['EtienneC30', 'FormulaRabbit81', 'github-actions', 'mathlib4-merge-conflict-bot'] |
RemyDegenne assignee:RemyDegenne |
5-20924 5 days ago |
5-41804 5 days ago |
65-20531 65 days |
| 32499 |
vihdzp author:vihdzp |
chore(Order/WithBot): add `to_dual` attributes (part 3) |
split this up, update desc.
---
- [x] depends on: #32498
[](https://gitpod.io/from-referrer/)
|
t-order |
301/220 |
Mathlib/Order/BoundedOrder/Basic.lean,Mathlib/Order/WithBot.lean |
2 |
2 |
['github-actions', 'mathlib4-dependent-issues-bot'] |
nobody |
5-15701 5 days ago |
5-15960 5 days ago |
0-0 0 seconds |
| 32425 |
kim-em author:kim-em |
feat(Linter/FlexibleLinter): generate Try this: simp only suggestions |
When the flexible linter detects a `simp` or `simp_all` (without `only`) followed by a rigid tactic, it now:
- re-runs simp in the original context to capture the used theorems
- generates an actionable "Try this: simp only [...]" suggestion that users can click to apply
This is a follow-up to #32421, which added the actionable warning message. This PR directly provides a fix.
Example output:
```
warning: 'simp' is a flexible tactic modifying '⊢'. Try 'simp?' and use the suggested 'simp only [...]'.
Note: This linter can be disabled with `set_option linter.flexible false`
---
info: Try this:
[apply] simp only [Nat.add_zero]
---
info: … and 'exact h.symm' uses '⊢'!
```
🤖 Prepared with Claude Code
-------------
- [x] depends on: #32421
## Implementation
- Added imports for `Lean.Server.InfoUtils`, `Lean.Elab.Tactic.Simp`, and `Lean.Meta.Tactic.TryThis`
- Refactored to use `InfoTree.foldInfo` to capture `ContextInfo` needed to run MetaM code
- Uses `simpGoal` to re-run simp and get `usedTheorems`
- Uses `mkSimpOnly` to generate the suggestion syntax
- Falls back gracefully if simp re-run fails
|
delegated
t-linter
|
141/37 |
Mathlib/Tactic/Linter/FlexibleLinter.lean,MathlibTest/FlexibleLinter.lean,MathlibTest/ImportHeavyFlexibleLinter.lean |
3 |
6 |
['Vierkantor', 'github-actions', 'grunweg', 'kim-em', 'mathlib-bors', 'mathlib4-dependent-issues-bot'] |
Vierkantor assignee:Vierkantor |
4-83983 4 days ago |
4-83983 4 days ago |
1-13822 1 day |
| 32583 |
MJ141592 author:MJ141592 |
refactor(SimpleGraph): change bridges not to require the edge to be present |
Remove the requirement for edges to exist in definition of isBridge, and then change the related lemmas to adjust for this, by renaming, fixing the statements and fixing the proofs, including in Acyclic.
Closes #31690. |
awaiting-author
t-combinatorics
new-contributor
|
40/49 |
Mathlib/Combinatorics/SimpleGraph/Acyclic.lean,Mathlib/Combinatorics/SimpleGraph/Connectivity/Connected.lean |
2 |
5 |
['SnirBroshi', 'YaelDillies', 'github-actions'] |
nobody |
4-82736 4 days ago |
5-54408 5 days ago |
0-28172 7 hours |
| 31595 |
astrainfinita author:astrainfinita |
chore: redefine `Ideal.IsPrime` |
Redefine `Ideal.IsPrime` to make it correct for non-commutative cases
---
[](https://gitpod.io/from-referrer/)
|
t-algebra label:t-algebra$ |
225/91 |
Mathlib/Algebra/Order/Ring/Ordering/Defs.lean,Mathlib/AlgebraicGeometry/StructureSheaf.lean,Mathlib/RingTheory/DedekindDomain/Ideal/Lemmas.lean,Mathlib/RingTheory/GradedAlgebra/Radical.lean,Mathlib/RingTheory/Ideal/AssociatedPrime/Basic.lean,Mathlib/RingTheory/Ideal/IsPrimary.lean,Mathlib/RingTheory/Ideal/Maps.lean,Mathlib/RingTheory/Ideal/Maximal.lean,Mathlib/RingTheory/Ideal/Oka.lean,Mathlib/RingTheory/Ideal/Operations.lean,Mathlib/RingTheory/Ideal/Over.lean,Mathlib/RingTheory/Ideal/Pointwise.lean,Mathlib/RingTheory/Ideal/Prime.lean,Mathlib/RingTheory/Ideal/Prod.lean,Mathlib/RingTheory/Ideal/Quotient/Basic.lean,Mathlib/RingTheory/Ideal/Quotient/Operations.lean,Mathlib/RingTheory/Localization/AtPrime/Basic.lean,Mathlib/RingTheory/Localization/Ideal.lean,Mathlib/RingTheory/Polynomial/Basic.lean,Mathlib/RingTheory/PrincipalIdealDomain.lean,Mathlib/RingTheory/Spectrum/Prime/Topology.lean,Mathlib/RingTheory/Valuation/Basic.lean |
22 |
18 |
['alreadydone', 'astrainfinita', 'github-actions', 'leanprover-bot', 'leanprover-community-mathlib4-bot', 'mathlib4-merge-conflict-bot'] |
alreadydone assignee:alreadydone |
4-78246 4 days ago |
5-1893 5 days ago |
12-1352 12 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`
---
[](https://gitpod.io/from-referrer/)
|
awaiting-author
t-data
|
70/0 |
Mathlib/Algebra/Order/Monoid/Unbundled/WithTop.lean,Mathlib/Data/ENat/Basic.lean |
2 |
15 |
['Ruben-VandeVelde', 'Thmoas-Guan', 'alreadydone', 'erdOne', 'github-actions', 'pechersky', 'urkud'] |
pechersky assignee:pechersky |
4-75245 4 days ago |
16-11033 16 days ago |
37-82680 37 days |
| 26986 |
WangYiran01 author:WangYiran01 |
feat(Partition): add bijection for partitions with max part ≤ r |
This PR adds a new theorem `partition_max_equals_bound` to `Mathlib.Combinatorics.Enumerative.Partition`.
It constructs a bijection between:
- The set of partitions of `n` in which `r ∈ π.parts` and all parts are `≤ r`, and
- The set of partitions of `n - r` whose largest part is at most `r`.
This provides a constructive proof via removing/adding `r` from/to the partition multiset, in line with classical enumerative combinatorics.
Contributed by Yiran Wang.
|
awaiting-author
t-combinatorics
new-contributor
|
26/0 |
Mathlib/Combinatorics/Enumerative/Partition/Basic.lean |
1 |
10 |
['WangYiran01', 'github-actions', 'jcommelin', 'kckennylau', 'kim-em', 'mathlib4-merge-conflict-bot'] |
b-mehta assignee:b-mehta |
4-71951 4 days ago |
4-71951 4 days ago |
103-63991 103 days |
| 31492 |
fcoUnda author:fcoUnda |
chore(Analysis/SpecialFunctions): nthRoot improvement |
Resolve TODO for nthroot, replacing the dependency on the arithmetic geometric mean inequality by some inequalities on powers of binomials.
---
- [ ] depends on: #31502
[](https://gitpod.io/from-referrer/)
|
awaiting-author
t-analysis
new-contributor
|
71/33 |
Mathlib/Analysis/SpecialFunctions/Pow/NthRootLemmas.lean |
1 |
22 |
['fcoUnda', 'github-actions', 'j-loreaux', 'mathlib4-dependent-issues-bot', 'mathlib4-merge-conflict-bot', 'urkud'] |
j-loreaux assignee:j-loreaux |
4-62475 4 days ago |
4-62475 4 days ago |
5-77585 5 days |
| 32030 |
newell author:newell |
feat(Analysis/AperiodicOrder/Delone): Delone Sets |
---
Adds initial definitions and lemmas for Delone Sets.
[](https://gitpod.io/from-referrer/)
|
WIP
t-analysis
|
199/0 |
Mathlib.lean,Mathlib/Analysis/AperiodicOrder/Delone/Basic.lean |
2 |
31 |
['YaelDillies', 'github-actions', 'j-loreaux', 'newell', 'sgouezel'] |
j-loreaux assignee:j-loreaux |
4-62332 4 days ago |
4-62351 4 days ago |
0-0 0 seconds |
| 32644 |
chriseth author:chriseth |
feat(Data/Set/Card): Add simplification theorem about cardinalities of "big" cartesian products. |
This extends the theorem above from just pairs to arbitrary tuples.
---
[](https://gitpod.io/from-referrer/)
|
awaiting-author
new-contributor
t-data
|
7/0 |
Mathlib/Data/Set/Card.lean |
1 |
4 |
['b-mehta', 'chriseth', 'github-actions'] |
nobody |
4-61865 4 days ago |
4-76079 4 days ago |
0-8256 2 hours |
| 32654 |
YaelDillies author:YaelDillies |
feat(Combinatorics): a clique has size at most the chromatic number |
There already exists a version of this lemma for cliques given by a set, but it's impractical to provide an explicit clique on an explicit graph as a set, rather than an indexed family, especially because computing the size of the set would then involve proving that it is the range of an injective function, even though being a clique already implies being injective!
Application: google-deepmind/formal-conjectures#1369
From FormalConjectures
---
[](https://gitpod.io/from-referrer/)
|
t-combinatorics |
42/30 |
Mathlib/Combinatorics/SimpleGraph/Basic.lean,Mathlib/Combinatorics/SimpleGraph/Coloring.lean |
2 |
1 |
['github-actions'] |
nobody |
4-59968 4 days ago |
4-60996 4 days ago |
4-61027 4 days |
| 30880 |
themathqueen author:themathqueen |
feat(Analysis/InnerProductSpace): finite-dimensional inner product space with an algebra implies a coalgebra |
A finite-dimensional inner product space with an algebra structure also has a coalgebra structure by taking adjoints of the multiplication map and algebra map. This is implemented by providing a linear isometric equivalence between the inner product space and a normed algebra.
There is also the opposite implication, i.e., a finite-dimensional inner product space with a coalgebra structure implies an algebra where `x * y = (adjoint comul) (x ⊗ₜ y)` and `algebraMap = adjoint counit`.
Motivation:
Sometimes, in a finite-dimensional C*-algebra endowed with a faithful and positive linear functional, we will want to use this adjoint coalgebra structure. This comes up a lot in non-commutative graph theory, for example.
---
[](https://gitpod.io/from-referrer/)
|
delegated
t-analysis
|
191/0 |
Mathlib.lean,Mathlib/Analysis/InnerProductSpace/Adjoint.lean,Mathlib/Analysis/InnerProductSpace/Coalgebra.lean,Mathlib/Analysis/InnerProductSpace/TensorProduct.lean,Mathlib/LinearAlgebra/TensorProduct/Associator.lean |
5 |
43 |
['github-actions', 'j-loreaux', 'mathlib-bors', 'mathlib4-merge-conflict-bot', 'ocfnash', 'themathqueen'] |
urkud assignee:urkud |
4-57419 4 days ago |
4-57419 4 days ago |
41-56517 41 days |
| 31133 |
thorimur author:thorimur |
feat(Linter): combinators for linter option boilerplate |
Provides simple combinators `whenLinterOption` and `whenNotLinterOption` to parallel `whenPPOption` and `whenNotPPOption`, and bundles `withSetOptionIn` and `whenLinterOption` into `whenLinterActivated`.
Currently, a typical linter action uses
```lean
run := withSetOptionIn fun stx => do
unless getLinterValue linter.foo (← getLinterOptions) do
return
...
```
This allows us to simply write
```lean
run := whenLinterActivated linter.foo fun stx => do
...
```
Using these combinators in Mathlib's linters is left to a subsequent PR (#31134).
Since this is a utility used in basic linters, including the header linter, we exclude it from `lint-style`.
---
I'm not sure I'm doing the right thing here re: Mathlib.Init. What exactly should happen?
[](https://gitpod.io/from-referrer/)
|
t-meta
t-linter
|
73/1 |
Mathlib.lean,Mathlib/Lean/Linter.lean,scripts/lint-style.lean |
3 |
12 |
['Vierkantor', 'adomani', 'github-actions', 'mathlib4-merge-conflict-bot', 'thorimur'] |
adomani assignee:adomani |
4-53238 4 days ago |
4-53259 4 days ago |
35-3996 35 days |
| 31386 |
harahu author:harahu |
doc: demote repeated H1 headers to H2 |
---
[](https://gitpod.io/from-referrer/)
|
|
226/10 |
Mathlib/CategoryTheory/Bicategory/Functor/StrictPseudofunctor.lean,Mathlib/Geometry/Manifold/VectorBundle/LocalFrame.lean,Mathlib/MeasureTheory/Function/ConditionalExpectation/PullOut.lean,Mathlib/NumberTheory/ArithmeticFunction/Zeta.lean,Mathlib/RingTheory/Etale/StandardEtale.lean,Mathlib/Tactic/Linter/EmptyLine.lean,Mathlib/Topology/Algebra/InfiniteSum/UniformOn.lean,Mathlib/Topology/OpenPartialHomeomorph/Constructions.lean,Mathlib/Topology/OpenPartialHomeomorph/IsImage.lean,scripts/demote_docstring_headers.py,scripts/find_docstring_headers.py |
11 |
6 |
['github-actions', 'mathlib4-merge-conflict-bot'] |
nobody |
4-50192 4 days ago |
26-41344 26 days ago |
0-0 0 seconds |
| 31444 |
harahu author:harahu |
doc(Probability/Martingale/BorelCantelli): fix presumed LaTeX typo |
Fix a presumed LaTeX typo in `BorelCantelli`. The issue was found and fixed using Codex.
We're changing
$$f_n := \sum_{k < n} \mathbf{1}_{s_{n + 1}} - \mathbb{P}[s_{n + 1} \mid \mathcal{F}_n]$$
to
$$f_n := \sum_{k < n} \big(\mathbf{1}_{s_{k + 1}} - \mathbb{P}[s_{k + 1} \mid \mathcal{F}_k]\big).$$
As far as I can tell, this is more faithful to the contents of the file.
---
[](https://gitpod.io/from-referrer/)
|
delegated
t-measure-probability
|
1/1 |
Mathlib/Probability/Martingale/BorelCantelli.lean |
1 |
5 |
['github-actions', 'grunweg', 'harahu', 'mathlib-bors'] |
nobody |
4-39481 4 days ago |
33-72689 1 month ago |
0-71658 19 hours |
| 30988 |
erdOne author:erdOne |
feat(AlgebraicGeometry): descending affine cover of an inverse limit |
---
[](https://gitpod.io/from-referrer/)
|
t-algebraic-geometry
large-import
|
350/35 |
Mathlib/Algebra/Category/Ring/Constructions.lean,Mathlib/AlgebraicGeometry/AffineTransitionLimit.lean,Mathlib/AlgebraicGeometry/Gluing.lean,Mathlib/AlgebraicGeometry/Morphisms/IsIso.lean,Mathlib/AlgebraicGeometry/Pullbacks.lean,Mathlib/AlgebraicGeometry/QuasiAffine.lean,Mathlib/AlgebraicGeometry/Sites/MorphismProperty.lean,Mathlib/Topology/LocalAtTarget.lean |
8 |
32 |
['chrisflav', 'erdOne', 'github-actions', 'mathlib4-merge-conflict-bot'] |
chrisflav assignee:chrisflav |
4-36558 4 days ago |
4-36566 4 days ago |
45-75883 45 days |
| 29948 |
mcdoll author:mcdoll |
feat(Analysis/Fourier): the Fourier transform on `L^2` |
We define the Fourier transform on L^2 as a linear isometry by extension of Schwartz functions.
The file is called `LpSpace` since we will extend the Fourier transform to L^p later on.
---
- [x] depends on: #29888
- [x] depends on: #29860
- [x] depends on: #31074
- [x] depends on: #31076
- [x] depends on: #31079
- [x] depends on: #32566
- [x] depends on: #32565
[](https://gitpod.io/from-referrer/)
|
t-analysis |
94/1 |
Mathlib.lean,Mathlib/Analysis/Distribution/SchwartzSpace.lean,Mathlib/Analysis/Fourier/LpSpace.lean,docs/undergrad.yaml |
4 |
4 |
['github-actions', 'mathlib4-dependent-issues-bot', 'mathlib4-merge-conflict-bot'] |
grunweg assignee:grunweg |
4-35111 4 days ago |
4-35221 4 days ago |
9-75330 9 days |
| 31495 |
jsm28 author:jsm28 |
feat(Geometry/Euclidean/Sphere/SecondInter): `secondInter` and sides of faces of a simplex |
Add lemmas that, if you take a simplex with one vertex on a sphere and the others on or inside it (typically, a triangle and its circumcircle), and take a line through the given vertex and a point in the interior of the simplex or the interior of the opposite face, the second intersection of that line with the sphere lies on the opposite side (from the vertex) of the face opposite that vertex.
---
- [ ] depends on: #31451
- [ ] depends on: #31452
[](https://gitpod.io/from-referrer/)
|
t-euclidean-geometry |
52/0 |
Mathlib/Geometry/Euclidean/Sphere/SecondInter.lean |
1 |
3 |
['github-actions', 'mathlib4-dependent-issues-bot', 'mathlib4-merge-conflict-bot'] |
JovanGerb assignee:JovanGerb |
4-33928 4 days ago |
8-33422 8 days ago |
8-33729 8 days |
| 32493 |
euprunin author:euprunin |
feat(Algebra/Group/Action): add `grind` annotation for `smul_eq_mul` |
---
Note that the lemma being annotated is
1. already actively used with `grind` via explicit `grind [lemma]` invocations in Mathlib, and
2. already tagged with `@[simp]`.
---
[](https://gitpod.io/from-referrer/)
|
|
4/4 |
Mathlib/Algebra/Group/Action/Defs.lean,Mathlib/Analysis/Calculus/LogDeriv.lean,Mathlib/NumberTheory/ModularForms/EisensteinSeries/QExpansion.lean,Mathlib/NumberTheory/ModularForms/QExpansion.lean |
4 |
3 |
['euprunin', 'github-actions', 'leanprover-radar'] |
alexjbest assignee:alexjbest |
4-33918 4 days ago |
8-42049 8 days ago |
8-42021 8 days |
| 32626 |
vihdzp author:vihdzp |
chore(Order/WithBot): add to_dual attributes (part 2) |
Some design considerations:
- The `≤` and `<` instances on `WithBot` and `WithTop` are were deliberately made def-eq. I've not changed this, which results in some awkward code before we develop the API to hide this.
- There was some major disparity in the `unbot` and `untop` API. I had to add a bunch of lemmas to amend it.
- I reordered a few theorems to avoid having to constantly open and close the `WithBot` namespace.
---
- [x] depends on: #32635
[](https://gitpod.io/from-referrer/)
|
awaiting-CI
t-order
|
187/205 |
Mathlib/Algebra/Order/GroupWithZero/Canonical.lean,Mathlib/Order/BoundedOrder/Basic.lean,Mathlib/Order/Defs/PartialOrder.lean,Mathlib/Order/WithBot.lean |
4 |
2 |
['github-actions', 'mathlib4-dependent-issues-bot'] |
nobody |
4-21880 4 days ago |
4-73953 4 days ago |
0-786 13 minutes |
| 32458 |
vihdzp author:vihdzp |
feat: order isomorphisms preserve successor/predecessor limits |
Co-authored-by: Aaron Liu
---
[](https://gitpod.io/from-referrer/)
|
awaiting-author
t-order
|
31/1 |
Mathlib/Order/SuccPred/Limit.lean |
1 |
2 |
['YaelDillies', 'github-actions'] |
YaelDillies assignee:YaelDillies |
4-11167 4 days ago |
6-80138 6 days ago |
2-18232 2 days |
| 29186 |
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.
Moved from #26534.
- [x] depends on: #26563
---
[](https://gitpod.io/from-referrer/)
|
t-differential-geometry
t-analysis
t-dynamics
|
312/100 |
Mathlib.lean,Mathlib/Analysis/ODE/Basic.lean,Mathlib/Analysis/ODE/Transform.lean,Mathlib/Geometry/Manifold/IntegralCurve/Basic.lean,Mathlib/Geometry/Manifold/IntegralCurve/Transform.lean |
5 |
8 |
['github-actions', 'grunweg', 'mathlib4-dependent-issues-bot', 'mathlib4-merge-conflict-bot', 'sgouezel'] |
sgouezel assignee:sgouezel |
4-7839 4 days ago |
4-7839 4 days ago |
90-44275 90 days |
| 32676 |
Scarlett-le author:Scarlett-le |
doc(Sphere.Power): add theorem to 1000.yaml and author credit |
I contributed the `Sphere.power` section (lines 133-end) in PR #27040 #31496
However, I forgot to add my name to the Authors line at that time.
This PR adds my name to properly credit the contribution. |
t-euclidean-geometry
new-contributor
|
4/1 |
Mathlib/Geometry/Euclidean/Sphere/Power.lean,docs/1000.yaml |
2 |
2 |
['github-actions'] |
nobody |
4-7015 4 days ago |
4-8260 4 days ago |
4-8291 4 days |
| 24000 |
YaelDillies author:YaelDillies |
feat: correspondence between affine group schemes and Hopf algebras |
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
---
[](https://gitpod.io/from-referrer/)
|
WIP
t-algebraic-geometry
FLT
toric
|
127/0 |
Mathlib/AlgebraicGeometry/GroupScheme/HopfAffine.lean |
1 |
3 |
['YaelDillies', 'github-actions', 'kbuzzard'] |
nobody |
4-4867 4 days ago |
244-79911 8 months ago |
0-1 1 second |
| 32480 |
ADedecker author:ADedecker |
feat: define `PolynormableSpace` |
A "polynormable space" is a TVS whose topology is induced by *some* family of seminorms. In the real or complex case this is just locally convex, but it makes sense (and will be used) for general nontrivially normed fields.
The name is inspired by Bourbaki's "espace polynormé", although they only allow ultrametric seminorms over an ultrametric field.
My motivation is the following:
- first, I want to be able to state [WithSeminorms.banach_steinhaus](https://leanprover-community.github.io/mathlib4_docs/Mathlib/Analysis/LocallyConvex/Barrelled.html#WithSeminorms.banach_steinhaus) without a choice of seminorm family. This is easy to do, and I have a PR on the way
- the notion of bornological TVS makes sense over an arbitrary nontrivially normed field, and we have that any sequentially continuous linear map from a bornological TVS to a polynormable space is continuous. I see no reason to restrict to the real or complex case here.
---
[](https://gitpod.io/from-referrer/)
|
t-analysis
maintainer-merge
|
51/0 |
Mathlib/Analysis/LocallyConvex/AbsConvexOpen.lean,Mathlib/Analysis/LocallyConvex/WithSeminorms.lean |
2 |
7 |
['ADedecker', 'github-actions', 'j-loreaux'] |
fpvandoorn assignee:fpvandoorn |
3-85222 3 days ago |
3-85222 3 days ago |
8-7914 8 days |
| 32688 |
grunweg author:grunweg |
chore: update complex analysis library overview |
Mathlib has the identity theorem, and also meromorphic functions.
---
@kebekus I wasn't sure if there are any major results on meromorphic functions that should also be mentioned. If there are, feel free to suggest them and I will add them as well.
[](https://gitpod.io/from-referrer/)
|
t-analysis |
10/7 |
Mathlib/Analysis/Analytic/IsolatedZeros.lean,docs/overview.yaml,docs/undergrad.yaml |
3 |
2 |
['github-actions', 'kebekus'] |
nobody |
3-72129 3 days ago |
3-75013 3 days ago |
3-75052 3 days |
| 32444 |
vihdzp author:vihdzp |
feat: `SignType` is a complete linear order |
---
[](https://gitpod.io/from-referrer/)
|
t-order
t-data
|
38/17 |
Mathlib.lean,Mathlib/Analysis/Convex/Between.lean,Mathlib/Data/Sign/Basic.lean,Mathlib/Data/Sign/Order.lean |
4 |
6 |
['github-actions', 'ocfnash', 'plp127', 'vihdzp'] |
pechersky assignee:pechersky |
3-67390 3 days ago |
8-48125 8 days ago |
9-16657 9 days |
| 31478 |
BGuillemet author:BGuillemet |
feat(CategoryTheory/Sites): `uliftYoneda` for sheaves over a subcanonical topology |
Add that `GrothendieckTopology.uliftYoneda` is fully faithful.
Add the (functorial) Yoneda lemma for sheaves, for both `yoneda` and `uliftYoneda`.
---
- [x] depends on: #27821
- [x] depends on: #31538
[](https://gitpod.io/from-referrer/)
|
awaiting-author
t-category-theory
|
88/1 |
Mathlib/CategoryTheory/Sites/Canonical.lean,Mathlib/CategoryTheory/Sites/Subcanonical.lean,Mathlib/CategoryTheory/Sites/Whiskering.lean |
3 |
16 |
['BGuillemet', 'dagurtomas', 'github-actions', 'joelriou', 'mathlib4-dependent-issues-bot', 'mathlib4-merge-conflict-bot'] |
dagurtomas assignee:dagurtomas |
3-65888 3 days ago |
3-65888 3 days ago |
7-30702 7 days |
| 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.
---
- [ ] depends on: #32578
[](https://gitpod.io/from-referrer/)
|
WIP
awaiting-author
t-category-theory
|
58/0 |
Mathlib/CategoryTheory/Sites/Sheaf.lean |
1 |
5 |
['chrisflav', 'github-actions', 'joelriou', 'mathlib4-dependent-issues-bot'] |
nobody |
3-62959 3 days ago |
3-62961 3 days ago |
1-60053 1 day |
| 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
[](https://gitpod.io/from-referrer/)
|
WIP
t-category-theory
t-algebraic-topology
|
1274/1 |
Mathlib.lean,Mathlib/AlgebraicTopology/ModelCategory/Bifibrant.lean,Mathlib/AlgebraicTopology/ModelCategory/CategoryWithCofibrations.lean,Mathlib/AlgebraicTopology/ModelCategory/DerivabilityStructure.lean,Mathlib/AlgebraicTopology/ModelCategory/FundamentalLemma1.lean,Mathlib/AlgebraicTopology/ModelCategory/FundamentalLemma2.lean,Mathlib/AlgebraicTopology/ModelCategory/FundamentalLemma3.lean,Mathlib/AlgebraicTopology/ModelCategory/IsCofibrant.lean,Mathlib/CategoryTheory/MorphismProperty/Quotient.lean |
9 |
n/a |
['github-actions', 'leanprover-community-bot-assistant', 'mathlib4-dependent-issues-bot'] |
nobody |
3-58043 3 days ago |
unknown |
unknown |
| 32699 |
mirefek author:mirefek |
doc: update `use` doc-string to distinguish `exists` / `use` / `use!` |
Zulip discussion: [#general > use vs. exists @ 💬](https://leanprover.zulipchat.com/#narrow/channel/113488-general/topic/use.20vs.2E.20exists/near/562650656)
---
[](https://gitpod.io/from-referrer/)
|
t-meta
new-contributor
|
25/9 |
Mathlib/Tactic/Use.lean,MathlibTest/Use.lean |
2 |
2 |
['github-actions'] |
nobody |
3-56859 3 days ago |
3-56938 3 days ago |
3-57098 3 days |
| 30668 |
astrainfinita author:astrainfinita |
feat: `QuotType` |
This typeclass is primarily for use by type synonyms of `Quot` and `Quotient`. Using `QuotType` API for type synonyms of `Quot` and `Quotient` will avoid defeq abuse caused by directly using `Quot` and `Quotient` APIs.
This PR also adds some typeclasses to support different ways to find the quotient map that should be used. See the documentation comments of these typeclasses for examples of usage.
---
It's not a typical design to use these auxiliary typeclasses and term elaborators, but I haven't found a better way to support these notations.
Some of the naming may need to be discussed. For example:
- `⟦·⟧` is currently called `mkQ` in names. This distinguishes it from other `.mk`s and makes it possible to write the quotient map as `mkQ` `mkQ'` ~~`mkQ_ h`~~. But this will also require changing the old lemma names.
- It would be helpful if the names of new type classes explained their functionality better.
[Zulip](https://leanprover.zulipchat.com/#narrow/channel/287929-mathlib4/topic/migrate.20to.20.60QuotLike.60.20API)
This PR continues the work from #16421.
Original PR: https://github.com/leanprover-community/mathlib4/pull/16421 |
RFC
awaiting-zulip
t-data
|
629/0 |
Mathlib.lean,Mathlib/Data/QuotType.lean,MathlibTest/QuotType.lean |
3 |
20 |
['YaelDillies', 'astrainfinita', 'github-actions', 'mathlib4-merge-conflict-bot', 'plp127', 'vihdzp'] |
nobody |
3-50239 3 days ago |
3-81705 3 days ago |
0-81 1 minute |
| 32080 |
plp127 author:plp127 |
feat(Topology): Completely Regular Space iff Uniformizable |
This PR continues the work from #24096.
Original PR: https://github.com/leanprover-community/mathlib4/pull/24096
---------
- [x] depends on: #32140 |
t-topology |
122/0 |
Mathlib.lean,Mathlib/Data/Rel.lean,Mathlib/Topology/UniformSpace/Basic.lean,Mathlib/Topology/UniformSpace/Uniformizable.lean |
4 |
17 |
['alreadydone', 'github-actions', 'grunweg', 'j-loreaux', 'mathlib4-dependent-issues-bot', 'plp127'] |
urkud assignee:urkud |
3-47048 3 days ago |
3-47116 3 days ago |
16-85176 16 days |
| 32702 |
SnirBroshi author:SnirBroshi |
chore(Combinatorics/SimpleGraph/Connectivity): move `Finite ConnectedComponent` instance from `WalkCounting.lean` to `Connected.lean` |
---
This moves it near similar instances, and makes it available for more files.
[](https://gitpod.io/from-referrer/)
|
t-combinatorics |
1/2 |
Mathlib/Combinatorics/SimpleGraph/Connectivity/Connected.lean,Mathlib/Combinatorics/SimpleGraph/Connectivity/WalkCounting.lean |
2 |
1 |
['github-actions'] |
nobody |
3-46157 3 days ago |
3-46207 3 days ago |
3-46240 3 days |
| 32556 |
vihdzp author:vihdzp |
doc: fix URL in docs |
`doc-gen` splits the URL at every comma, so we replace them with the ASCII escape %2C instead.
---
[](https://gitpod.io/from-referrer/)
|
documentation
awaiting-author
|
1/1 |
Counterexamples/EulerSumOfPowers.lean |
1 |
3 |
['eric-wieser', 'github-actions', 'ocfnash'] |
nobody |
3-44257 3 days ago |
6-1408 6 days ago |
0-47943 13 hours |
| 30190 |
joelriou author:joelriou |
feat(CategoryTheory/Sites): functoriality of descent data |
Given a pseudofunctor `F` from `LocallyDiscrete Cᵒᵖ` to `Cat`, we show that up to an equivalence, the category `F.DescentData f` is unchanged when we replace `S` by an isomorphic object, or the family `f i : X i ⟶ S` by another family which generates the same sieve (see `Pseudofunctor.DescentData.pullFunctorEquivalence`).
Co-authored-by: Christian Merten [christian@merten.dev](mailto:christian@merten.dev)
---
- [x] depends on: #25971
- [x] depends on: #30177
- [x] depends on: #30189
[](https://gitpod.io/from-referrer/)
|
awaiting-author
t-category-theory
large-import
|
252/1 |
Mathlib/CategoryTheory/Bicategory/Functor/Cat.lean,Mathlib/CategoryTheory/Bicategory/LocallyDiscrete.lean,Mathlib/CategoryTheory/Sites/Descent/DescentData.lean |
3 |
7 |
['dagurtomas', 'github-actions', 'mathlib4-dependent-issues-bot', 'mathlib4-merge-conflict-bot'] |
nobody |
3-43628 3 days ago |
3-43731 3 days ago |
0-46651 12 hours |
| 32706 |
CoolRmal author:CoolRmal |
feat: a set is Gdelta iff it is completely metrizable |
This PR proves that
1. A Gdelta subset of a completely metrizable space is completely metrizable.
2. We prove that under certain conditions we can always extends a continuous function on a set A to a Gdelta set. We then use this lemma to prove that if `A` is a completely metrizable subset in a metric space `M`, then `A` is Gdelta.
---
[](https://gitpod.io/from-referrer/)
|
t-topology |
29/0 |
Mathlib/Topology/Metrizable/CompletelyMetrizable.lean |
1 |
1 |
['github-actions'] |
nobody |
3-40983 3 days ago |
3-40987 3 days ago |
0-0 0 seconds |
| 31766 |
SuccessMoses author:SuccessMoses |
feat(Topology/EMetricSpace): continuity of arc length |
fixes half of #31751
---
[](https://gitpod.io/from-referrer/)
|
awaiting-author
t-topology
new-contributor
|
396/0 |
Mathlib.lean,Mathlib/Topology/EMetricSpace/Arclength.lean,Mathlib/Topology/EMetricSpace/BoundedVariation.lean |
3 |
39 |
['SnirBroshi', 'SuccessMoses', 'alreadydone', 'github-actions', 'grunweg', 'j-loreaux'] |
nobody |
3-34971 3 days ago |
4-45890 4 days ago |
2-85434 2 days |
| 31954 |
wwylele author:wwylele |
feat(Counterexamples): Weierstrass function is continuous and nowhere differentiable |
---
- [x] depends on: #31970
- [x] depends on: #31971
- [x] depends on: #31973
- [x] depends on: #31977
- [x] depends on: #31982
- [x] depends on: #32082
- [x] depends on: #32079
[](https://gitpod.io/from-referrer/)
|
t-analysis |
311/0 |
Counterexamples.lean,Counterexamples/Weierstrass.lean,docs/references.bib |
3 |
3 |
['SnirBroshi', 'github-actions', 'mathlib4-dependent-issues-bot', 'wwylele'] |
j-loreaux assignee:j-loreaux |
3-33927 3 days ago |
6-53533 6 days ago |
7-20783 7 days |
| 32435 |
YaelDillies author:YaelDillies |
chore(Algebra/Module): make select `Module` assumptions |
This solves a thorny issue that we have when working with homological algebra: an element `X : ModuleCat ℤ` by construction contain the data of two (propeq) `Module ℤ X` instances. Instead of fighting typeclasses at the point of use, it is enough to make the `Module ℤ X` assumptions that can be inferred from other arguments actually be inferred by unification, rather than filled in with typeclass search. This PR does precisely that for the handful of definitions that are particularly problematic for the purpose of CFT.
This is not unlike the status of `MeasurableSpace` in the measure theory library, and in fact there already existed a library note explaining this design decision, but it didn't cover that use case, so I expanded it.
From ClassFieldTheory
---
[](https://gitpod.io/from-referrer/)
|
t-algebra
CFT
label:t-algebra$ |
37/18 |
Mathlib/Algebra/HierarchyDesign.lean,Mathlib/Algebra/Module/Equiv/Basic.lean,Mathlib/Algebra/Module/Equiv/Defs.lean,Mathlib/Algebra/Module/LinearMap/Defs.lean |
4 |
2 |
['erdOne', 'github-actions'] |
dagurtomas assignee:dagurtomas |
3-33923 3 days ago |
6-74707 6 days ago |
8-71270 8 days |
| 32482 |
sgouezel author:sgouezel |
feat: extend Stieltjes measures to more general index types |
Stieltjes measures are currently only defined on the real line. We extend the definition to more general index sets, to allow for instance the nonnegative reals or compact intervals. Some proofs become more cumbersome because we have to deal with the possibility of a bottom or a top element, but the end results are exactly the same as on the real line.
---
- [x] depends on: #32516
[](https://gitpod.io/from-referrer/)
|
t-measure-probability |
374/173 |
Mathlib/Analysis/Calculus/Monotone.lean,Mathlib/MeasureTheory/Measure/Stieltjes.lean,Mathlib/Probability/CDF.lean,Mathlib/Probability/Distributions/Exponential.lean,Mathlib/Probability/Distributions/Gamma.lean,Mathlib/Probability/Kernel/Disintegration/CDFToKernel.lean,Mathlib/Probability/Kernel/Disintegration/CondCDF.lean,Mathlib/Probability/Kernel/Disintegration/MeasurableStieltjes.lean,Mathlib/Probability/Kernel/Disintegration/StandardBorel.lean |
9 |
2 |
['github-actions', 'mathlib4-dependent-issues-bot'] |
kex-y assignee:kex-y |
3-33920 3 days ago |
6-81999 6 days ago |
7-1189 7 days |
| 32532 |
SnirBroshi author:SnirBroshi |
feat(Combinatorics/SimpleGraph/Connectivity): connected components are maximally connected subsets/subgraphs |
---
[](https://gitpod.io/from-referrer/)
|
t-combinatorics |
32/0 |
Mathlib/Combinatorics/SimpleGraph/Connectivity/Connected.lean,Mathlib/Combinatorics/SimpleGraph/Connectivity/Subgraph.lean |
2 |
1 |
['github-actions'] |
awainverse assignee:awainverse |
3-33915 3 days ago |
7-17646 7 days ago |
7-17687 7 days |
| 32422 |
kim-em author:kim-em |
fix(Linter): deprecated module linter now fires for public/meta imports |
This PR fixes the deprecated module linter to recognize all import variants from the new module system (`public import`, `meta import`, `import all`, etc.).
Previously, `getImportIds` used a syntax pattern that only matched plain `import $n`, missing the optional modifiers.
Additionally:
- The duplicate import linter now considers modifiers, so `public import Foo` and `import all Foo` are correctly treated as distinct imports
- Added exemptions for `Mathlib.lean` (auto-generated) and `Mathlib/Tactic` (may need deprecated imports for tactics to work)
- Fixed deprecated imports in `Mathlib.Geometry.Euclidean.Angle.Unoriented` files (`Mathlib.Analysis.NormedSpace.Normalize` → `Mathlib.Analysis.Normed.Module.Normalize`)
Reported on Zulip: https://leanprover.zulipchat.com/#narrow/channel/287929-mathlib4/topic/Mathlib.20has.20moved.20to.20the.20new.20module.20system/near/561825752
🤖 Prepared with Claude Code |
delegated
t-linter
|
133/14 |
Mathlib/Geometry/Euclidean/Angle/Unoriented/Basic.lean,Mathlib/Geometry/Euclidean/Angle/Unoriented/TriangleInequality.lean,Mathlib/RingTheory/Polynomial/Resultant/Basic.lean,Mathlib/Tactic/Linter/DeprecatedModule.lean,Mathlib/Tactic/Linter/Header.lean,MathlibTest/DeprecatedModuleAllTest.lean,MathlibTest/DeprecatedModuleMetaTest.lean,MathlibTest/DeprecatedModuleNew.lean,MathlibTest/DeprecatedModulePublicMetaTest.lean,MathlibTest/DeprecatedModulePublicTest.lean |
10 |
19 |
['Vierkantor', 'github-actions', 'grunweg', 'kim-em', 'mathlib-bors'] |
nobody |
3-30715 3 days ago |
4-83687 4 days ago |
0-63542 17 hours |
| 32710 |
erdOne author:erdOne |
feat(Topology/MetricSpace): proper iff `dist _` is proper map |
Also moved `ConditionallyCompleteLinearOrder.isCompact_Icc` and `ProperSpace ℝ` earlier to avoid large inputs.
---
[](https://gitpod.io/from-referrer/)
|
t-topology |
61/62 |
Mathlib/Topology/Algebra/ProperAction/ProperlyDiscontinuous.lean,Mathlib/Topology/Maps/Proper/CompactlyGenerated.lean,Mathlib/Topology/MetricSpace/ProperSpace.lean,Mathlib/Topology/MetricSpace/ProperSpace/Lemmas.lean,Mathlib/Topology/MetricSpace/ProperSpace/Real.lean,Mathlib/Topology/Order/Compact.lean,Mathlib/Topology/Order/IsLUB.lean |
7 |
2 |
['erdOne', 'github-actions'] |
nobody |
3-25714 3 days ago |
3-27043 3 days ago |
3-27082 3 days |
| 32307 |
mcdoll author:mcdoll |
feat(Analysis/Distribution): `(1 + |x|^2)^r` has temperate growth |
---
- [ ] depends on: #32297
[](https://gitpod.io/from-referrer/)
|
WIP
blocked-by-other-PR
t-analysis
|
166/2 |
Mathlib/Analysis/Distribution/SchwartzSpace.lean,Mathlib/Analysis/Distribution/TemperateGrowth.lean |
2 |
2 |
['github-actions', 'mathlib4-dependent-issues-bot'] |
nobody |
12-72255 12 days ago |
12-72256 12 days ago |
0-31 31 seconds |
| 32716 |
morrison-daniel author:morrison-daniel |
feat(LinearAlgebra/ExteriorPower): interactions between `TensorProduct` and `exteriorPower` |
WIP
---
[](https://gitpod.io/from-referrer/)
|
t-algebra
large-import
label:t-algebra$ |
104/1 |
Mathlib/LinearAlgebra/ExteriorPower/TensorPower.lean,Mathlib/LinearAlgebra/TensorPower/Basic.lean |
2 |
1 |
['github-actions'] |
nobody |
3-15109 3 days ago |
3-15115 3 days ago |
0-0 0 seconds |
| 32708 |
morrison-daniel author:morrison-daniel |
feat(LinearAlgebra/ExteriorPower): add `Basis` for `exteriorPower` |
WIP
---
[](https://gitpod.io/from-referrer/)
|
t-algebra label:t-algebra$ |
472/0 |
Mathlib.lean,Mathlib/LinearAlgebra/ExteriorPower/Basic.lean,Mathlib/LinearAlgebra/ExteriorPower/Basis.lean,Mathlib/LinearAlgebra/ExteriorPower/TensorPower.lean,Mathlib/LinearAlgebra/LinearIndependent/Lemmas.lean,Mathlib/LinearAlgebra/TensorPower/Basic.lean |
6 |
n/a |
['github-actions'] |
nobody |
3-14867 3 days ago |
unknown |
unknown |
| 27702 |
FLDutchmann author:FLDutchmann |
feat(NumberTheory/SelbergSieve): define Lambda-squared sieves and prove important properties |
This PR continues the work from #22052.
Original PR: https://github.com/leanprover-community/mathlib4/pull/22052
- [x] depends on: #27820
|
delegated
t-number-theory
|
186/7 |
Mathlib/NumberTheory/SelbergSieve.lean |
1 |
42 |
['FLDutchmann', 'MichaelStollBayreuth', 'bryangingechen', 'github-actions', 'jcommelin', 'mathlib-bors', 'mathlib4-dependent-issues-bot', 'mathlib4-merge-conflict-bot'] |
MichaelStollBayreuth assignee:MichaelStollBayreuth |
3-10002 3 days ago |
3-10002 3 days ago |
15-83343 15 days |
| 26212 |
Thmoas-Guan author:Thmoas-Guan |
feat(Algebra): the Rees theorem for depth |
In this PR we proved the Rees theorem for depth.
Co-authored-by: Hu Yongle
---
- [x] depends on: #27416
[](https://gitpod.io/from-referrer/)
|
awaiting-author
t-algebra
large-import
label:t-algebra$ |
233/15 |
Mathlib/RingTheory/Regular/Category.lean,Mathlib/RingTheory/Regular/Depth.lean |
2 |
n/a |
['Thmoas-Guan', 'alreadydone', 'dagurtomas', 'erdOne', 'github-actions', 'mathlib4-dependent-issues-bot', 'mathlib4-merge-conflict-bot'] |
nobody |
3-5312 3 days ago |
unknown |
unknown |
| 32719 |
EtienneC30 author:EtienneC30 |
feat: another version of mapping Gaussian measures |
Mathlib has [ProbabilityTheory.isGaussian_map](https://leanprover-community.github.io/mathlib4_docs/Mathlib/Probability/Distributions/Gaussian/Basic.html#ProbabilityTheory.isGaussian_map) which states that mapping a Gaussian measure by a continuous linear map yields a Gaussian measure. However this requires the domain of the linear map to be Borel, which in turns requires some second countability assumption if said domain is a product space. This Borel assumption is only needed to ensure that the continuous linear map is measurable, but for instance `Prod.fst` and `Prod.snd` are measurable regardless of Borel considerations. We thus provide a new version which much less assumptions on the space and with the extra assumption that the map is measurable. This avoids some second countability assumptions in #32144.
---
[](https://gitpod.io/from-referrer/)
|
t-measure-probability
brownian
|
8/0 |
Mathlib/Probability/Distributions/Gaussian/Basic.lean |
1 |
1 |
['github-actions'] |
nobody |
3-3359 3 days ago |
3-3435 3 days ago |
3-3408 3 days |
| 32717 |
adomani author:adomani |
perf: small speed up of the flexible linter |
This just rearranges an array accumulation.
---
[](https://gitpod.io/from-referrer/)
|
t-linter |
7/8 |
Mathlib/Tactic/Linter/FlexibleLinter.lean |
1 |
3 |
['adomani', 'github-actions', 'leanprover-radar'] |
nobody |
3-2318 3 days ago |
3-6492 3 days ago |
0-0 0 seconds |
| 26743 |
grunweg author:grunweg |
feat: product rule for Lie bracket on manifolds |
On the path towards geodesics and the Levi-Civita connection.
---
[](https://gitpod.io/from-referrer/)
|
WIP
t-differential-geometry
|
178/27 |
Mathlib/Geometry/Manifold/VectorField/LieBracket.lean,Mathlib/Geometry/Manifold/VectorField/Pullback.lean |
2 |
3 |
['github-actions', 'grunweg', 'mathlib4-merge-conflict-bot'] |
nobody |
2-82107 2 days ago |
18-3730 18 days ago |
0-1 1 second |
| 32607 |
harahu author:harahu |
wip |
---
[](https://gitpod.io/from-referrer/)
|
|
190/76 |
Mathlib/Analysis/Convex/Deriv.lean,Mathlib/Analysis/Convex/Slope.lean,Mathlib/Analysis/Convex/SpecificFunctions/Basic.lean,Mathlib/Combinatorics/Enumerative/Composition.lean,Mathlib/Combinatorics/SimpleGraph/Basic.lean,Mathlib/Combinatorics/SimpleGraph/Finite.lean,Mathlib/Computability/Ackermann.lean,Mathlib/Data/ENNReal/Real.lean,Mathlib/Data/Fintype/Sets.lean,Mathlib/Data/Nat/Count.lean,Mathlib/Data/Nat/Nth.lean,Mathlib/Dynamics/Ergodic/RadonNikodym.lean,Mathlib/LinearAlgebra/AffineSpace/Ordered.lean,Mathlib/LinearAlgebra/Span/Basic.lean,Mathlib/MeasureTheory/Integral/Lebesgue/Markov.lean,Mathlib/RingTheory/Ideal/Height.lean,Mathlib/RingTheory/Ideal/KrullsHeightTheorem.lean,Mathlib/RingTheory/Spectrum/Prime/Topology.lean,Mathlib/SetTheory/Cardinal/Cofinality.lean,Mathlib/Topology/Algebra/InfiniteSum/Order.lean,Mathlib/Topology/Instances/ENNReal/Lemmas.lean |
21 |
1 |
['github-actions'] |
nobody |
2-77945 2 days ago |
5-48804 5 days ago |
0-0 0 seconds |
| 26479 |
thefundamentaltheor3m author:thefundamentaltheor3m |
feat(Analysis/Complex/CauchyIntegral): Cauchy–Goursat for Unbounded Rectangles |
In this PR, we prove versions of the Cauchy-Goursat theorem where the contours in question are rectangular and unbounded (ie, where the contours look like the $\bigsqcup$ symbol). I am not sure if I have formalised these in the best way, or if `Analysis.Complex.CauchyIntegral` is the best place for them (it might be prudent to reorganise the file into multiple files at some point), but I believe this is a useful result. Suggestions welcome.
---
[](https://gitpod.io/from-referrer/)
|
t-analysis
new-contributor
sphere-packing
|
199/0 |
Mathlib/Analysis/Complex/CauchyIntegral.lean |
1 |
3 |
['github-actions', 'mathlib4-merge-conflict-bot', 'wwylele'] |
nobody |
2-73616 2 days ago |
2-76092 2 days ago |
0-0 0 seconds |
| 29283 |
Jlh18 author:Jlh18 |
feat(CategoryTheory): define forgetful-core adjunction between Cat and Grpd |
* Define `CategoryTheory.Core.functor`: the functor `Cat ⥤ Grpd` that on objects takes
the core of a category
* Define `CategoryTheory.Core.adjunction`: the adjunction with the forgetful functor
`Grpd.forgetToCat` on the left, and the core functor `Core.functor` on the right.
* Hence provide an instance that `Grpd.forgetToCat` is coreflective.
---
- [x] depends on: #29284 [Extra lemmas in CategoryTheory.Core]
---
[](https://gitpod.io/from-referrer/)
|
awaiting-author
t-category-theory
file-removed
|
209/64 |
Mathlib.lean,Mathlib/AlgebraicTopology/FundamentalGroupoid/Basic.lean,Mathlib/CategoryTheory/Core.lean,Mathlib/CategoryTheory/Groupoid/FreeGroupoidOfCategory.lean,Mathlib/CategoryTheory/Groupoid/Grpd.lean,Mathlib/CategoryTheory/Groupoid/Grpd/Core.lean,Mathlib/CategoryTheory/Groupoid/Grpd/Free.lean |
7 |
24 |
['Jlh18', 'dagurtomas', 'github-actions', 'joelriou', 'mathlib4-dependent-issues-bot', 'mathlib4-merge-conflict-bot'] |
nobody |
2-72115 2 days ago |
3-51741 3 days ago |
13-74712 13 days |
| 32734 |
Vierkantor author:Vierkantor |
chore(Tactic): document remaining undocumented tactics |
Write documentation for the few tactics in Mathlib that have no documentation at all. After this PR and a few related ones are merged, every tactic defined in Mathlib should now have a docstring or a `@[tactic_alt]` attribute.
The documentation for `mem_tac` is pending a Zulip discussion: https://leanprover.zulipchat.com/#narrow/channel/287929-mathlib4/topic/Proj.20as.20a.20scheme.3A.20.60mem_tac.60.20works.20accidentally.3F/with/563193768
---
[](https://gitpod.io/from-referrer/)
|
documentation
t-meta
|
37/0 |
Mathlib/AlgebraicGeometry/ProjectiveSpectrum/Scheme.lean,Mathlib/Tactic/Conv.lean,Mathlib/Tactic/GCongr/Core.lean |
3 |
1 |
['github-actions'] |
nobody |
2-71844 2 days ago |
2-71919 2 days ago |
2-71893 2 days |
| 32735 |
Jlh18 author:Jlh18 |
refactor: move `CategoryTheory.Category.Grpd` to `CategoryTheory.Groupoid.Grpd.Basic` |
Step one of several PRs, stemming from #29283
---
[](https://gitpod.io/from-referrer/)
|
file-removed |
3/4 |
Mathlib.lean,Mathlib/AlgebraicTopology/FundamentalGroupoid/Basic.lean,Mathlib/CategoryTheory/Groupoid/FreeGroupoidOfCategory.lean,Mathlib/CategoryTheory/Groupoid/Grpd/Basic.lean |
4 |
2 |
['Jlh18', 'github-actions'] |
nobody |
2-69744 2 days ago |
2-71194 2 days ago |
2-71236 2 days |
| 32526 |
PrParadoxy author:PrParadoxy |
chore(LinearAlgebra/Multilinear/Basic.lean): remove `erw`s in `restr` |
---
[](https://gitpod.io/from-referrer/)
|
awaiting-author
t-algebra
new-contributor
label:t-algebra$ |
6/9 |
Mathlib/LinearAlgebra/Multilinear/Basic.lean |
1 |
12 |
['PrParadoxy', 'Vierkantor', 'dagurtomas', 'github-actions', 'leanprover-radar', 'mathlib-bors', 'ocfnash'] |
joelriou assignee:joelriou |
2-69738 2 days ago |
2-70097 2 days ago |
4-51733 4 days |
| 28693 |
faenuccio author:faenuccio |
feat(Analysis.Normed.Module.Milman-Pettis): add Milman-Pettis theorem |
We add the Milman-Pettis theorem stating that an uniformly convex Banach space is reflexive.
---
[](https://gitpod.io/from-referrer/)
|
WIP
t-analysis
|
279/0 |
Mathlib/Analysis/Convex/Uniform.lean,Mathlib/Analysis/Normed/Module/Dual.lean,Mathlib/Analysis/Normed/Module/Milman-Pettis.lean,Mathlib/Topology/Algebra/Module/WeakDual.lean |
4 |
8 |
['ADedecker', 'faenuccio', 'github-actions', 'grunweg', 'yhx-12243'] |
nobody |
2-67532 2 days ago |
115-75666 3 months ago |
0-1 1 second |
| 32742 |
LTolDe author:LTolDe |
feet: add class SuslinSpace |
add new class `SuslinSpace` for a topological space that is an analytic set in itself
This will be useful to prove the **Effros Theorem**, see [zulip thread](https://leanprover.zulipchat.com/#narrow/channel/287929-mathlib4/topic/Effros.20Theorem/with/558712441).
---
[](https://gitpod.io/from-referrer/)
|
new-contributor |
4/0 |
Mathlib/MeasureTheory/Constructions/Polish/Basic.lean |
1 |
2 |
['LTolDe', 'github-actions'] |
nobody |
2-65619 2 days ago |
2-65792 2 days ago |
2-65774 2 days |
| 32745 |
LTolDe author:LTolDe |
feat(Topology/Algebra): add MulActionConst.lean |
add Topology/Algebra/MulActionConst.lean
introduce class `ContinuousSMulConst` for a scalar multiplication that is continuous in the first argument, in analogy to `ContinuousConstSMul`
define `MulAction.ball x U` as the set `U • {x}` given `[SMul G X] (x : X) (U : Set G)`
The lemmas shown here will be useful to prove the **Effros Theorem**, see [zulip](https://leanprover.zulipchat.com/#narrow/channel/287929-mathlib4/topic/Effros.20Theorem/with/558712441).
---
[](https://gitpod.io/from-referrer/)
|
t-topology
new-contributor
|
98/0 |
Mathlib.lean,Mathlib/Topology/Algebra/MulActionConst.lean |
2 |
1 |
['github-actions'] |
nobody |
2-63454 2 days ago |
2-63659 2 days ago |
2-63708 2 days |
| 32748 |
LorenzoLuccioli author:LorenzoLuccioli |
chore(Topology/ContinuousOn): Add `fun_prop` tag to `ContinuousAt.comp_continuousWithinAt` |
---
[](https://gitpod.io/from-referrer/)
|
t-topology |
1/0 |
Mathlib/Topology/ContinuousOn.lean |
1 |
1 |
['github-actions'] |
nobody |
2-61260 2 days ago |
2-61264 2 days ago |
2-61302 2 days |
| 32019 |
jsm28 author:jsm28 |
feat(Geometry/Euclidean/Projection): `map` and subtype lemmas |
Add lemmas about mapping `orthogonalProjection`, `reflection` and `orthogonalProjectionSpan` under an affine isometry, and in particular mapping from a subspace to the full space.
---
- [x] depends on: #32016
[](https://gitpod.io/from-referrer/)
|
t-euclidean-geometry |
68/2 |
Mathlib/Geometry/Euclidean/Projection.lean |
1 |
3 |
['github-actions', 'mathlib4-dependent-issues-bot', 'mathlib4-merge-conflict-bot'] |
JovanGerb assignee:JovanGerb |
2-58232 2 days ago |
2-72049 2 days ago |
19-48108 19 days |
| 30981 |
jsm28 author:jsm28 |
feat(Geometry/Euclidean/Angle/Bisector): oriented angle bisection mod π |
Add lemmas relating equal distance to two lines to bisecting the angle between them mod π (expressed as usual as equality of twice angles), building on the previous lemmas (#30477) dealing with bisection mod 2π.
---
- [ ] depends on: #30474
- [ ] depends on: #30477
- [ ] depends on: #30600
- [ ] depends on: #30703
[](https://gitpod.io/from-referrer/)
|
t-euclidean-geometry |
146/4 |
Mathlib/Geometry/Euclidean/Angle/Bisector.lean |
1 |
4 |
['github-actions', 'jsm28', 'mathlib4-dependent-issues-bot', 'mathlib4-merge-conflict-bot'] |
JovanGerb assignee:JovanGerb |
2-57173 2 days ago |
24-84893 24 days ago |
29-41720 29 days |
| 32146 |
foderm author:foderm |
feat(ModelTheory): add characterizations of complete theories |
Add `isComplete_eq_complete_theory` and `isComplete_iff_models_elementarily_equivalent` to connect syntactic completeness with semantic properties.
---
[](https://gitpod.io/from-referrer/)
|
t-logic
new-contributor
|
41/0 |
Mathlib/ModelTheory/Satisfiability.lean |
1 |
9 |
['awainverse', 'foderm', 'github-actions'] |
awainverse assignee:awainverse |
2-53824 2 days ago |
17-54643 17 days ago |
17-54682 17 days |
| 32755 |
alreadydone author:alreadydone |
chore(Topology/Compactness): golf |
---
[](https://gitpod.io/from-referrer/)
|
t-topology |
15/21 |
Mathlib/Topology/Compactness/Compact.lean |
1 |
1 |
['github-actions'] |
nobody |
2-53529 2 days ago |
2-53592 2 days ago |
2-53565 2 days |
| 31508 |
FLDutchmann author:FLDutchmann |
feat(Tactic): `algebra` tactic. |
Implement tactic for normalizing expressions in an algebra over a ring. Handles all of the normal ring operations as well as scalar multiplication over a fixed base ring.
The core of this tactic is used by a larger suite of tactics (see #30374).
---
- [x] depends on: #31506
For full disclosure, most of the lemma statements in `Lemmas.lean` were generated by an LLM.
[](https://gitpod.io/from-referrer/)
|
awaiting-author
t-meta
|
1565/0 |
Mathlib.lean,Mathlib/Tactic.lean,Mathlib/Tactic/Algebra/Basic.lean,Mathlib/Tactic/Algebra/Lemmas.lean,MathlibTest/Algebra.lean,scripts/noshake.json |
6 |
14 |
['FLDutchmann', 'Vierkantor', 'github-actions', 'mathlib4-dependent-issues-bot', 'mathlib4-merge-conflict-bot'] |
Vierkantor assignee:Vierkantor |
2-52673 2 days ago |
9-65679 9 days ago |
9-83430 9 days |
| 32405 |
Shaddaaa author:Shaddaaa |
feat(CategoryTheory/Sites): (Co)continuity of `Over.iteratedSliceEquiv` |
Show that the `Over.iteratedSliceEquiv` functor is continuous and cocontinuous.
This contribution was created as part of the Heidelberg Lean workshop "Formalising algebraic geometry" in November 2025.
Co-authored-by: Ben Eltschig @peabrainiac
Co-authored-by: Andrew Yang @erdOne
---
[](https://gitpod.io/from-referrer/)
|
awaiting-author
t-category-theory
new-contributor
maintainer-merge
large-import
|
44/4 |
Mathlib/CategoryTheory/Sites/Equivalence.lean,Mathlib/CategoryTheory/Sites/Over.lean |
2 |
28 |
['Shaddaaa', 'dagurtomas', 'erdOne', 'github-actions', 'jcommelin', 'joelriou'] |
nobody |
2-51386 2 days ago |
2-51386 2 days ago |
0-52480 14 hours |
| 31059 |
gasparattila author:gasparattila |
feat(Topology/Sets): define the Vietoris topology on `(Nonempty)Compacts` |
This PR defines the Vietoris topology on `Compacts` and `NonemptyCompacts`, and proves that it is induced by the Hausdorff uniformity.
---
- [x] depends on: #31031
- [x] depends on: #31058
[](https://gitpod.io/from-referrer/)
|
t-topology |
257/29 |
Mathlib.lean,Mathlib/Data/Rel.lean,Mathlib/Topology/MetricSpace/Closeds.lean,Mathlib/Topology/Sets/Compacts.lean,Mathlib/Topology/Sets/VietorisTopology.lean,Mathlib/Topology/UniformSpace/Closeds.lean,docs/references.bib |
7 |
6 |
['github-actions', 'mathlib4-dependent-issues-bot', 'mathlib4-merge-conflict-bot', 'robin-carlier'] |
ADedecker assignee:ADedecker |
2-51284 2 days ago |
2-65470 2 days ago |
23-25621 23 days |
| 32740 |
LTolDe author:LTolDe |
feat: add IsNowhereDense helpers |
add new lemmas to prove `IsNowhereDense s`
- IsNowhereDense.mono
- Topology.IsInducing.isNowhereDense_image
- IsNowhereDense.image_val
these lemmas will help to prove the **Effros Theorem**, see [zulip thread](https://leanprover.zulipchat.com/#narrow/channel/287929-mathlib4/topic/Effros.20Theorem/with/558712441)
---
[](https://gitpod.io/from-referrer/)
|
new-contributor
large-import
|
22/1 |
Mathlib/Topology/GDelta/Basic.lean |
1 |
1 |
['github-actions'] |
nobody |
2-47346 2 days ago |
2-66930 2 days ago |
2-66960 2 days |
| 32590 |
sgouezel author:sgouezel |
feat: use `IsCompletelyPseudometrizable` class in measure regularity statements |
The new statements are slightly stronger than the old ones because they don't require the uniform structure to be given.
---
[](https://gitpod.io/from-referrer/)
|
|
29/54 |
Mathlib/MeasureTheory/Measure/RegularityCompacts.lean |
1 |
2 |
['github-actions', 'mathlib4-merge-conflict-bot'] |
nobody |
2-47206 2 days ago |
2-68317 2 days ago |
5-50544 5 days |
| 32758 |
chrisflav author:chrisflav |
feat(RingTheory/FinitePresentation): a finite product of finitely presented algebras is finitely presented |
From Pi1.
---
[](https://gitpod.io/from-referrer/)
|
t-ring-theory |
45/3 |
Mathlib/Algebra/BigOperators/Pi.lean,Mathlib/RingTheory/Ideal/Basic.lean,Mathlib/RingTheory/Ideal/Maps.lean,Mathlib/RingTheory/RingHom/FinitePresentation.lean |
4 |
1 |
['github-actions'] |
nobody |
2-46470 2 days ago |
2-46570 2 days ago |
2-46543 2 days |
| 32738 |
euprunin author:euprunin |
chore: golf using `grind`. add `grind` annotations. |
---
Trace profiling results (shown if ≥10 ms before or after):
* `Finsupp.support_extendDomain_subset`: <10 ms before, 25 ms after
* `Stream'.Seq.take_drop`: 241 ms before, 260 ms after
* `Lagrange.interpolate_poly_eq_self`: 23 ms before, <10 ms after 🎉
* `Nat.primeFactors_eq_to_filter_divisors_prime`: <10 ms before, 14 ms after
This golfing PR is batched under the following guidelines:
* Up to ~5 changed files per PR
* Up to ~25 changed declarations per PR
* Up to ~100 changed lines per PR
---
[](https://gitpod.io/from-referrer/)
|
|
10/35 |
Mathlib/Data/Finsupp/Basic.lean,Mathlib/Data/Nat/PrimeFin.lean,Mathlib/Data/Seq/Basic.lean,Mathlib/LinearAlgebra/Lagrange.lean,Mathlib/NumberTheory/Divisors.lean |
5 |
1 |
['github-actions'] |
nobody |
2-45919 2 days ago |
2-70464 2 days ago |
2-70436 2 days |
| 30851 |
FormulaRabbit81 author:FormulaRabbit81 |
feat(Topology): prove there exists an embedding of separable metric spaces in the hilbert cube |
---
[](https://gitpod.io/from-referrer/)
- [x] depends on: #30849 |
t-topology |
78/8 |
Mathlib/Topology/Compactness/HilbertCubeEmbedding.lean,Mathlib/Topology/MetricSpace/HausdorffAlexandroff.lean,Mathlib/Topology/MetricSpace/PiNat.lean |
3 |
14 |
['FormulaRabbit81', 'erdOne', 'github-actions', 'j-loreaux', 'mathlib4-dependent-issues-bot', 'mathlib4-merge-conflict-bot'] |
ADedecker assignee:ADedecker |
2-39972 2 days ago |
2-40114 2 days ago |
31-47362 31 days |
| 32382 |
YaelDillies author:YaelDillies |
chore(Algebra/Order/AddGroupWithTop): golf |
---
[](https://gitpod.io/from-referrer/)
|
t-algebra label:t-algebra$ |
107/154 |
Mathlib/Algebra/Order/AddGroupWithTop.lean,Mathlib/Algebra/Order/GroupWithZero/Canonical.lean,Mathlib/Algebra/Order/Ring/Archimedean.lean |
3 |
1 |
['github-actions'] |
dagurtomas assignee:dagurtomas |
2-33922 2 days ago |
10-73754 10 days ago |
11-7020 11 days |
| 32541 |
YaelDillies author:YaelDillies |
chore: import Tactic.Attr.Register privately |
This is mostly to start a discussion: Should basic tactic files like this one be re-exported by all files out of them being basic, or whether they should be explicitly imported by the few files that actually need it.
Eg in #32245 Andrew and I are adding a new simp attribute, and it's a bit silly that we have to rebuild all of mathlib because that file is re-exported everywhere.
---
[](https://gitpod.io/from-referrer/)
|
large-import |
43/9 |
Mathlib/Algebra/Free.lean,Mathlib/CategoryTheory/Monoidal/Mon_.lean,Mathlib/Control/Applicative.lean,Mathlib/Control/Basic.lean,Mathlib/Control/Functor.lean,Mathlib/Control/Monad/Basic.lean,Mathlib/Control/Traversable/Basic.lean,Mathlib/Control/Traversable/Equiv.lean,Mathlib/Control/Traversable/Lemmas.lean,Mathlib/Data/Prod/Basic.lean,Mathlib/Data/Set/Operations.lean,Mathlib/Logic/Basic.lean,Mathlib/Logic/Equiv/Defs.lean,Mathlib/Logic/Function/Basic.lean,Mathlib/Logic/Function/Defs.lean,Mathlib/Logic/Nontrivial/Basic.lean,Mathlib/Tactic/Attr/Core.lean,Mathlib/Tactic/HigherOrder.lean,Mathlib/Tactic/Zify.lean |
19 |
1 |
['github-actions'] |
EtienneC30 assignee:EtienneC30 |
2-33920 2 days ago |
6-62502 6 days ago |
6-72791 6 days |
| 32567 |
vihdzp author:vihdzp |
feat: `CompleteLinearOrder (Πₗ i, α i)` |
Used in the CGT repo.
---
[](https://gitpod.io/from-referrer/)
|
t-order |
195/9 |
Mathlib.lean,Mathlib/Order/CompleteLattice/PiLex.lean,Mathlib/Order/PiLex.lean |
3 |
8 |
['github-actions', 'plp127', 'vihdzp'] |
bryangingechen assignee:bryangingechen |
2-33916 2 days ago |
6-31093 6 days ago |
6-31124 6 days |
| 32570 |
ksenono author:ksenono |
feat(Combinatorics/SimpleGraph): bipartite subgraphs and vertex-disjoint graphs for Konig's theorem |
---
[](https://gitpod.io/from-referrer/)
|
t-combinatorics
new-contributor
|
21/0 |
Mathlib/Combinatorics/SimpleGraph/Bipartite.lean,Mathlib/Combinatorics/SimpleGraph/Subgraph.lean |
2 |
10 |
['SnirBroshi', 'github-actions'] |
kmill assignee:kmill |
2-33915 2 days ago |
6-26420 6 days ago |
6-26460 6 days |
| 32611 |
tb65536 author:tb65536 |
feat(FieldTheory/Galois/IsGaloisGroup): add `IsGaloisGroup.finite` |
This PR adds `IsGaloisGroup.finite`, a companion lemma to `IsGaloisGroup.finiteDimensional` just above.
---
[](https://gitpod.io/from-referrer/)
|
t-algebra label:t-algebra$ |
3/0 |
Mathlib/FieldTheory/Galois/IsGaloisGroup.lean |
1 |
1 |
['github-actions'] |
joelriou assignee:joelriou |
2-33910 2 days ago |
5-36947 5 days ago |
5-36920 5 days |
| 32764 |
plp127 author:plp127 |
feat(Topology/Separation): completely normal iff hereditarily normal |
Prove a space is completely normal iff it is hereditarily normal iff all open subspaces are normal.
---
[](https://gitpod.io/from-referrer/)
|
t-topology |
71/0 |
Mathlib/Topology/Separation/Regular.lean |
1 |
1 |
['github-actions'] |
nobody |
2-32063 2 days ago |
2-32122 2 days ago |
2-32103 2 days |
| 32608 |
PrParadoxy author:PrParadoxy |
feat(LinearAlgebra/PiTensorProduct): API for PiTensorProducts indexed by sets |
This PR addresses a TODO item in LinearAlgebra/PiTensorProduct.lean:
* API for the various ways `ι` can be split into subsets; connect this
with the binary tensor product
-- specifically by describing tensors of type `⨂ (i : S), s i`, for `S : Set ι`.
Our primary motivation is to formalize the notion of "tensors with
infinite index set, which are equal to a distinguished element on all
but finitely many indices". This is a standard construction e.g. in the
theory of "infinite tensor products" of unital algebras.
Beyond that, the `Set` API is natural in contexts where the index type has
an independent interpretation. An example is quantum physics, where `ι`
ranges over distinguishable degrees of freedom, and where its is common
practice to annotate objects by the set of indices they are defined on.
This PR creates a directory LinearAlgebra/PiTensorProduct and starts the
file Set.lean.
---
- [x] depends on: #32598
[](https://gitpod.io/from-referrer/)
|
new-contributor |
301/0 |
Mathlib.lean,Mathlib/LinearAlgebra/PiTensorProduct/Set.lean |
2 |
6 |
['PrParadoxy', 'github-actions', 'leanprover-radar', 'mathlib4-dependent-issues-bot', 'mathlib4-merge-conflict-bot'] |
nobody |
2-31091 2 days ago |
2-37266 2 days ago |
2-42264 2 days |
| 27197 |
alreadydone author:alreadydone |
feat(Topology): `IsCoveringMapOn` open set |
---
- [x] depends on: #25044
[](https://gitpod.io/from-referrer/)
|
WIP
merge-conflict
t-topology
|
97/0 |
Mathlib/Topology/Covering.lean |
1 |
4 |
['github-actions', 'mathlib4-dependent-issues-bot', 'mathlib4-merge-conflict-bot'] |
nobody |
2-54118 2 days ago |
2-54129 2 days ago |
0-0 0 seconds |
| 27254 |
yuanyi-350 author:yuanyi-350 |
feat: 2025 imo problem3 |
- [x] depends on: #28788
- [x] depends on: #28790
- [x] depends on: #28829
---
[](https://gitpod.io/from-referrer/)
|
IMO |
222/0 |
Archive.lean,Archive/Imo/Imo2025Q3.lean |
2 |
29 |
['github-actions', 'jsm28', 'kbuzzard', 'leanprover-community-bot-assistant', 'madvorak', 'mathlib4-dependent-issues-bot', 'mathlib4-merge-conflict-bot', 'themathqueen', 'wwylele', 'yuanyi-350'] |
jsm28 assignee:jsm28 |
2-28127 2 days ago |
2-28130 2 days ago |
132-38296 132 days |
| 32766 |
mcdoll author:mcdoll |
feat(Analysis/TemperedDistribution): embedding of temperate growth functions |
Every temperate growth function defines a tempered distribution via integration.
---
[](https://gitpod.io/from-referrer/)
|
t-analysis |
19/1 |
Mathlib/Analysis/Distribution/TemperedDistribution.lean |
1 |
1 |
['github-actions'] |
nobody |
2-26431 2 days ago |
2-27600 2 days ago |
2-27631 2 days |
| 32767 |
mcdoll author:mcdoll |
feat(Analysis/TemperedDistribution): embedding of `Lp`-functions |
We prove that every `Lp` function defines a tempered distribution via integration. This embedding is a continuous linear map and it is injective.
We also record the embedding as a coercion from `Lp` to `TemperedDistribution`.
---
[](https://gitpod.io/from-referrer/)
|
t-analysis |
82/1 |
Mathlib/Analysis/Distribution/TemperedDistribution.lean |
1 |
1 |
['github-actions'] |
nobody |
2-26222 2 days ago |
2-27296 2 days ago |
2-27337 2 days |
| 32768 |
mcdoll author:mcdoll |
feat(Analysis/TemperedDistribution): embedding of Schwartz functions |
Every Schwartz function defines a tempered distribution and this embedding is continuous.
Moreover, we record the embedding as a coercion.
---
[](https://gitpod.io/from-referrer/)
|
t-analysis |
44/1 |
Mathlib/Analysis/Distribution/TemperedDistribution.lean |
1 |
1 |
['github-actions'] |
nobody |
2-26096 2 days ago |
2-26997 2 days ago |
2-27030 2 days |
| 32769 |
mcdoll author:mcdoll |
feat(Analysis/TemperedDistribution): multiplication with temperate growth functions |
The multiplication with a temperate growth function as a continuous linear map on tempered distributions.
---
[](https://gitpod.io/from-referrer/)
|
t-analysis |
80/2 |
Mathlib/Analysis/Distribution/SchwartzSpace.lean,Mathlib/Analysis/Distribution/TemperedDistribution.lean |
2 |
1 |
['github-actions'] |
nobody |
2-25359 2 days ago |
2-25373 2 days ago |
2-25403 2 days |
| 32770 |
mcdoll author:mcdoll |
feat(Analysis/TemperedDistribution): derivatives |
We define the 1-dimensional derivative and the directional derivative using the `lineDeriv` notation type-class.
The fact that these extend the classical derivative follows from integration by parts (and will be PR'd once the embedding of Schwartz functions into tempered distribution is in mathlib).
---
[](https://gitpod.io/from-referrer/)
|
t-analysis |
44/0 |
Mathlib/Analysis/Distribution/TemperedDistribution.lean |
1 |
1 |
['github-actions'] |
nobody |
2-23901 2 days ago |
2-23901 2 days ago |
2-23939 2 days |
| 27053 |
tb65536 author:tb65536 |
feat: Galois group of `x^n - x - 1` |
---
[](https://gitpod.io/from-referrer/)
|
WIP
t-algebra
large-import
label:t-algebra$ |
464/151 |
Archive/Wiedijk100Theorems/AbelRuffini.lean,Mathlib/RingTheory/Polynomial/Selmer.lean |
2 |
7 |
['AntoineChambert-Loir', 'github-actions', 'mathlib4-merge-conflict-bot'] |
nobody |
2-19119 2 days ago |
3-7914 3 days ago |
0-1 1 second |
| 32771 |
tb65536 author:tb65536 |
feat(Algebra/Order/BigOperators/Group): criterion for `m.card ≤ m.toFinset.card + 1` |
This PR gives a criterion `m.card ≤ m.toFinset.card + 1` (note that we always have the inequality `m.toFinset.card ≤ m.card`).
---
[](https://gitpod.io/from-referrer/)
|
t-algebra
t-order
t-data
label:t-algebra$ |
21/0 |
Mathlib/Algebra/Order/BigOperators/Group/Finset.lean |
1 |
1 |
['github-actions'] |
nobody |
2-19011 2 days ago |
2-19275 2 days ago |
2-19248 2 days |
| 32772 |
tb65536 author:tb65536 |
feat(Data/Set/Card): criterion for `s.ncard ≤ (f '' s).ncard + 1` |
This PR gives a criterion `s.ncard ≤ (f '' s).ncard + 1` (note that we always have the inequality `(f '' s).ncard ≤ s.ncard`).
---
[](https://gitpod.io/from-referrer/)
|
t-data |
31/0 |
Mathlib/Data/Set/Card.lean |
1 |
1 |
['github-actions'] |
nobody |
2-16882 2 days ago |
2-16882 2 days ago |
2-16855 2 days |
| 32773 |
Hagb author:Hagb |
feat(Algebra/GroupWithZero/NonZeroDivisors): add some lemmas about multiplication |
Similar with `Is{Left,Right,}Regular.mul`.
---
`Is{Left,Right,}Regular.mul`: https://github.com/leanprover-community/mathlib4/blob/c671bc4215d64bd9cc8a84fdec9a12bd33fdcd26/Mathlib/Algebra/Regular/Basic.lean#L59-L76
[](https://gitpod.io/from-referrer/)
|
t-algebra label:t-algebra$ |
22/0 |
Mathlib/Algebra/GroupWithZero/NonZeroDivisors.lean |
1 |
1 |
['github-actions'] |
nobody |
2-15577 2 days ago |
2-15839 2 days ago |
2-15873 2 days |
| 32775 |
urkud author:urkud |
feat(VitaliFamily): prove `filterAt_enlarge` |
---
[](https://gitpod.io/from-referrer/)
|
t-measure-probability |
17/4 |
Mathlib/MeasureTheory/Covering/VitaliFamily.lean |
1 |
1 |
['github-actions'] |
nobody |
2-15008 2 days ago |
2-15016 2 days ago |
2-15048 2 days |
| 25042 |
alreadydone author:alreadydone |
feat(Topology): restriction/extension of Trivialization and composition with Homeomorph |
---
- [x] depends on: #25041
[](https://gitpod.io/from-referrer/)
|
merge-conflict
t-topology
|
148/2 |
Mathlib/Topology/FiberBundle/Trivialization.lean,Mathlib/Topology/Maps/Basic.lean |
2 |
4 |
['github-actions', 'leanprover-community-bot-assistant', 'mathlib4-dependent-issues-bot', 'mathlib4-merge-conflict-bot'] |
ADedecker assignee:ADedecker |
73-702 2 months ago |
73-703 2 months ago |
134-68375 134 days |
| 31560 |
AntoineChambert-Loir author:AntoineChambert-Loir |
feat(Topology/Sion): the minimax theorem of von Neumann - Sion |
Prove `Sion.exists_isSaddlePointOn` :
Let X and Y be convex subsets of topological vector spaces E and F,
X being moreover compact,
and let f : X × Y → ℝ be a function such that
- for all x, f(x, ⬝) is upper semicontinuous and quasiconcave
- for all y, f(⬝, y) is lower semicontinuous and quasiconvex
Then inf_x sup_y f(x,y) = sup_y inf_x f(x,y).
The classical case of the theorem assumes that f is continuous,
f(x, ⬝) is concave, f(⬝, y) is convex.
As a particular case, one get the von Neumann theorem where
f is bilinear and E, F are finite dimensional.
We follow the proof of Komiya (1988).
## Remark on implementation
* The essential part of the proof holds for a function
`f : X → Y → β`, where `β` is a complete dense linear order.
* We have written part of it for just a dense linear order,
* On the other hand, if the theorem holds for such `β`,
it must hold for any linear order, for the reason that
any linear order embeds into a complete dense linear order.
However, this result does not seem to be known to Mathlib.
* When `β` is `ℝ`, one can use `Real.toEReal` and one gets a proof for `ℝ`.
## TODO
Give particular important cases (eg, bilinear maps in finite dimension).
Co-authored with @ADedecker
---
- [x] depends on: #31548
- [x] depends on: #31547
- [x] depends on: #31558
[](https://gitpod.io/from-referrer/)
|
t-topology |
741/0 |
Mathlib.lean,Mathlib/Data/EReal/Basic.lean,Mathlib/Topology/Semicontinuous.lean,Mathlib/Topology/Sion.lean,docs/references.bib |
5 |
5 |
['github-actions', 'mathlib4-dependent-issues-bot', 'mathlib4-merge-conflict-bot'] |
dwrensha, kmill, thorimur assignee:kmill assignee:dwrensha assignee:thorimur |
2-8853 2 days ago |
2-8853 2 days ago |
4-53333 4 days |
| 32513 |
euprunin author:euprunin |
feat(Algebra/Polynomial): add `grind` annotations for `C_mul_monomial` and `monomial_mul_C` |
---
Note that the lemma being annotated is
1. already actively used with `grind` via explicit `grind [lemma]` invocations in Mathlib, and
2. already tagged with `@[simp]`.
---
[](https://gitpod.io/from-referrer/)
|
t-algebra label:t-algebra$ |
4/4 |
Mathlib/Algebra/Polynomial/Basic.lean,Mathlib/Algebra/Polynomial/RuleOfSigns.lean |
2 |
7 |
['euprunin', 'github-actions', 'leanprover-radar', 'mathlib4-merge-conflict-bot', 'riccardobrasca'] |
nobody |
2-8513 2 days ago |
2-69480 2 days ago |
7-61231 7 days |
| 32733 |
dleijnse author:dleijnse |
feat(FieldTheory): X^n - t separable iff n nonzero |
In a field `F`, for `t : F` and `n > 0`, we prove that the polynomial `X ^ n - t` is separable if and only if `n` is nonzero in `F`. This generalizes `X_pow_sub_one_separable_iff`, but the extra assumption that `n > 0` is needed (for `n = 0`, the polynomial `X ^ n - t` is separable iff `t` is not `1`).
---
[](https://gitpod.io/from-referrer/)
|
t-algebra
new-contributor
label:t-algebra$ |
13/0 |
Mathlib/FieldTheory/Separable.lean |
1 |
3 |
['dleijnse', 'github-actions', 'wwylele'] |
nobody |
2-6118 2 days ago |
2-73375 2 days ago |
2-73391 2 days |
| 32779 |
sgouezel author:sgouezel |
feat: more consequences of Riesz-Markov-Kakutani |
---
[](https://gitpod.io/from-referrer/)
|
t-measure-probability |
62/3 |
Mathlib/MeasureTheory/Integral/RieszMarkovKakutani/Real.lean |
1 |
1 |
['github-actions'] |
nobody |
2-5907 2 days ago |
2-5916 2 days ago |
2-5947 2 days |
| 32652 |
BGuillemet author:BGuillemet |
feat(CategoryTheory/Sites): add the Grothendieck topology generated by a precoverage |
Add the file `PrecoverageToGrothendieck.lean`, in which the Grothendieck topology generated by a precoverage is defined as `Precoverage.toGrothendieck`. This replace the previous `Precoverage.toGrothendieck`, which was defined only in the case of a precoverage having pullbacks and being stable under base change. The equivalence between the two constructions is `Precoverage.toGrothendieck_toCoverage`.
Prove `Precoverage.isSheaf_toGrothendieck_iff`: given a precoverage `J`, a type-valued presheaf is a sheaf for `J.toGrothendieck` if and only if it is a sheaf for all the pullback sieves of the presieves in `J`. The proof is based on the previous proof of `isSheaf_coverage`, which is now a consequence of `Precoverage.isSheaf_toGrothendieck_iff`.
---
[](https://gitpod.io/from-referrer/)
|
awaiting-author
t-category-theory
maintainer-merge
|
236/106 |
Mathlib.lean,Mathlib/CategoryTheory/Sites/Coverage.lean,Mathlib/CategoryTheory/Sites/Over.lean,Mathlib/CategoryTheory/Sites/PrecoverageToGrothendieck.lean |
4 |
22 |
['BGuillemet', 'chrisflav', 'github-actions'] |
nobody |
2-4235 2 days ago |
2-4235 2 days ago |
1-39387 1 day |
| 32756 |
chrisflav author:chrisflav |
chore(CategoryTheory/Limits): more API for wide pullbacks |
Analogous to `PullbackCone`, we add a `WidePullbackCone` with API to construct them and to show they are limiting.
---
[](https://gitpod.io/from-referrer/)
|
delegated
t-category-theory
|
143/0 |
Mathlib/CategoryTheory/Limits/Shapes/WidePullbacks.lean |
1 |
4 |
['github-actions', 'joelriou', 'mathlib-bors'] |
nobody |
2-4007 2 days ago |
2-4007 2 days ago |
0-46385 12 hours |
| 32739 |
Rida-Hamadani author:Rida-Hamadani |
chore(SimpleGraph): golf and improve style of `Subwalks.lean` |
maintaining the sub-walks file after the walk split, golfing some proofs
---
[](https://gitpod.io/from-referrer/)
|
t-combinatorics |
11/18 |
Mathlib/Combinatorics/SimpleGraph/Walks/Subwalks.lean |
1 |
1 |
['github-actions'] |
nobody |
2-3702 2 days ago |
2-68334 2 days ago |
2-68411 2 days |
| 32782 |
xroblot author:xroblot |
feat(Cyclotomic): compute the torsion order of a cyclotomic field |
The order of the torsion group of the `n`-th cyclotomic field is `n` if `n` is even and `2n` if `n` is odd.
---
[](https://gitpod.io/from-referrer/)
|
|
113/1 |
Mathlib/Data/Nat/Totient.lean,Mathlib/NumberTheory/Cyclotomic/Basic.lean,Mathlib/NumberTheory/NumberField/Cyclotomic/Basic.lean |
3 |
1 |
['github-actions'] |
nobody |
2-3569 2 days ago |
2-3639 2 days ago |
2-3611 2 days |
| 32784 |
sgouezel author:sgouezel |
feat: more API for FiniteMeasure and ProbabilityMeasure |
---
[](https://gitpod.io/from-referrer/)
|
t-measure-probability |
169/3 |
Mathlib/MeasureTheory/Measure/FiniteMeasure.lean,Mathlib/MeasureTheory/Measure/ProbabilityMeasure.lean,Mathlib/MeasureTheory/Measure/Typeclasses/Probability.lean |
3 |
1 |
['github-actions'] |
nobody |
2-3175 2 days ago |
2-3175 2 days ago |
2-3212 2 days |
| 32786 |
sgouezel author:sgouezel |
feat: construct a bounded continuous map from a continuous compactly supported map |
---
[](https://gitpod.io/from-referrer/)
|
t-topology |
11/2 |
Mathlib/Topology/ContinuousMap/CompactlySupported.lean |
1 |
1 |
['github-actions'] |
nobody |
2-2885 2 days ago |
2-2927 2 days ago |
2-2961 2 days |
| 32777 |
madvorak author:madvorak |
doc: Contributing moved to Contributing |
---
[](https://gitpod.io/from-referrer/)
|
|
54/56 |
.github/CONTRIBUTING.md,README.md |
2 |
2 |
['github-actions'] |
nobody |
2-2671 2 days ago |
2-2671 2 days ago |
2-8048 2 days |
| 32725 |
joelriou author:joelriou |
feat(CategoryTheory): presheaves of types which preserves a limit |
Let `F : J ⥤ Cᵒᵖ` be a functor. We show that a presheaf `P : Cᵒᵖ ⥤ Type w` preserves the limit of `F` iff `P` is a local object with respect to a suitable family of morphisms in `Cᵒᵖ ⥤ Type w` (this family contains `1` or `0` morphism depending on whether the limit of `F` exists or not).
---
[](https://gitpod.io/from-referrer/)
|
awaiting-author
t-category-theory
|
187/0 |
Mathlib.lean,Mathlib/CategoryTheory/MorphismProperty/Basic.lean,Mathlib/CategoryTheory/MorphismProperty/IsSmall.lean,Mathlib/CategoryTheory/ObjectProperty/FunctorCategory/Presheaf.lean,Mathlib/CategoryTheory/ObjectProperty/Local.lean |
5 |
4 |
['github-actions', 'robin-carlier'] |
nobody |
2-1354 2 days ago |
2-2783 2 days ago |
0-80011 22 hours |
| 28462 |
joelriou author:joelriou |
feat(AlgebraicTopology/SimplicialSet): the relative cell complex attached to a rank function for a pairing |
---
- [ ] depends on: #31122
- [ ] depends on: #28351
- [ ] depends on: #28346
- [ ] depends on: #28336
- [x] depends on: #28332
- [x] depends on: #28330
- [x] depends on: #28224
- [x] depends on: #27968
- [x] depends on: #28034
- [x] depends on: #26076
[](https://gitpod.io/from-referrer/)
|
WIP
blocked-by-other-PR
merge-conflict
t-algebraic-topology
|
793/0 |
Mathlib.lean,Mathlib/AlgebraicTopology/SimplexCategory/Basic.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/Subcomplex.lean |
8 |
5 |
['github-actions', 'mathlib4-dependent-issues-bot', 'mathlib4-merge-conflict-bot'] |
nobody |
39-76511 1 month ago |
39-76512 1 month ago |
0-1 1 second |
| 32724 |
grunweg author:grunweg |
feat: lint against unscoped uses of the linter.flexible option |
We extend the setOption linter to also lint on this option.
To facilitate this, we replace the remaining file-level exceptions by local annotations (and squeeze a few non-terminal simps where doing so seems easy enough).
---
[](https://gitpod.io/from-referrer/)
|
t-linter |
71/34 |
Mathlib/Computability/Halting.lean,Mathlib/Computability/Partrec.lean,Mathlib/Computability/PartrecCode.lean,Mathlib/Computability/Primrec.lean,Mathlib/Computability/TMToPartrec.lean,Mathlib/Data/Seq/Basic.lean,Mathlib/Data/WSeq/Basic.lean,Mathlib/SetTheory/Ordinal/Notation.lean,Mathlib/Tactic/Linter/Style.lean,MathlibTest/LintStyle.lean |
10 |
1 |
['github-actions'] |
nobody |
1-82215 1 day ago |
1-82215 1 day ago |
2-83044 2 days |
| 32793 |
harahu author:harahu |
doc(NumberTheory): fix typos |
Typos found and fixed by Codex.
---
[](https://gitpod.io/from-referrer/)
|
t-number-theory |
29/27 |
Mathlib/NumberTheory/ArithmeticFunction/Zeta.lean,Mathlib/NumberTheory/Cyclotomic/CyclotomicCharacter.lean,Mathlib/NumberTheory/Cyclotomic/PrimitiveRoots.lean,Mathlib/NumberTheory/EllipticDivisibilitySequence.lean,Mathlib/NumberTheory/EulerProduct/Basic.lean,Mathlib/NumberTheory/FLT/Three.lean,Mathlib/NumberTheory/FermatPsp.lean,Mathlib/NumberTheory/LSeries/AbstractFuncEq.lean,Mathlib/NumberTheory/LSeries/Dirichlet.lean,Mathlib/NumberTheory/LSeries/HurwitzZetaOdd.lean,Mathlib/NumberTheory/LSeries/PrimesInAP.lean,Mathlib/NumberTheory/LSeries/ZMod.lean,Mathlib/NumberTheory/LucasLehmer.lean,Mathlib/NumberTheory/MulChar/Basic.lean,Mathlib/NumberTheory/NumberField/CanonicalEmbedding/Basic.lean,Mathlib/NumberTheory/NumberField/CanonicalEmbedding/NormLeOne.lean,Mathlib/NumberTheory/NumberField/CanonicalEmbedding/PolarCoord.lean,Mathlib/NumberTheory/NumberField/Units/DirichletTheorem.lean,Mathlib/NumberTheory/Padics/PadicVal/Basic.lean,Mathlib/NumberTheory/Padics/PadicVal/Defs.lean,Mathlib/NumberTheory/Padics/WithVal.lean,Mathlib/NumberTheory/Pell.lean,Mathlib/NumberTheory/WellApproximable.lean |
23 |
1 |
['github-actions'] |
nobody |
1-79460 1 day ago |
1-79507 1 day ago |
1-81410 1 day |
| 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.)
(It would make sense to redefine `CommGrp/Grp/CommMon` as full subcategories of `Mon`, rather than defining `CommGrp` by applying `InducedCategory` twice, which adds one unnecessary layer of `.hom`, but no attempt was made to change this in this PR.)
---
(This time, I will try to complete this refactor. I very much need this for applications to homotopical algebra, where full subcategories of cofibrant/fibrant/bifibrant objects are used.)
[](https://gitpod.io/from-referrer/)
|
WIP
t-category-theory
large-import
|
1841/1577 |
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/GammaSpecAdjunction.lean,Mathlib/AlgebraicGeometry/Gluing.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/SimplexCategory/Truncated.lean,Mathlib/AlgebraicTopology/SimplicialNerve.lean,Mathlib/AlgebraicTopology/SimplicialSet/Coskeletal.lean,Mathlib/AlgebraicTopology/SimplicialSet/HomotopyCat.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/FinallySmall.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/CommGrp_.lean,Mathlib/CategoryTheory/Monoidal/Cartesian/Grp_.lean,Mathlib/CategoryTheory/Monoidal/Category.lean,Mathlib/CategoryTheory/Monoidal/CommComon_.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/ColimitsOfShape.lean,Mathlib/CategoryTheory/ObjectProperty/Equivalence.lean,Mathlib/CategoryTheory/ObjectProperty/FullSubcategory.lean,Mathlib/CategoryTheory/ObjectProperty/LimitsOfShape.lean,Mathlib/CategoryTheory/Preadditive/AdditiveFunctor.lean,Mathlib/CategoryTheory/Preadditive/Basic.lean,Mathlib/CategoryTheory/Preadditive/CommGrp_.lean,Mathlib/CategoryTheory/Presentable/Dense.lean,Mathlib/CategoryTheory/Presentable/OrthogonalReflection.lean,Mathlib/CategoryTheory/Presentable/StrongGenerator.lean,Mathlib/CategoryTheory/Simple.lean,Mathlib/CategoryTheory/Sites/CartesianClosed.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 |
150 |
8 |
['erdOne', 'github-actions', 'joelriou', 'leanprover-community-bot-assistant', 'mathlib4-merge-conflict-bot', 'smorel394'] |
nobody |
1-79402 1 day ago |
2-70738 2 days ago |
0-2 2 seconds |
| 26923 |
oliver-butterley author:oliver-butterley |
feat(Dynamics/BirkhoffSum): add the pointwise ergodic theorem (Birkhoff's) |
The Pointwise Ergodic Theorem, also known as Birkhoff's Ergodic Theorem.
Co-authored-by: Lua Viana Reis
- [x] depends on: #26074
- [x] depends on: #26807
- [x] depends on: #26810
- [x] depends on: #26840
- [x] depends on: #26842
- [x] depends on: #26848
- [x] depends on: #26851
- [x] depends on: #26852
- [x] depends on: #26853
- [x] depends on: #27008
- [x] depends on: #28901
Zulip: [PR thread](https://leanprover.zulipchat.com/#narrow/channel/144837-PR-reviews/topic/.2326923.20The.20pointwise.20ergodic.20theorem.20.28Birkhoff's.29/with/527835158)
---
[](https://gitpod.io/from-referrer/)
|
merge-conflict
t-dynamics
new-contributor
|
401/0 |
Mathlib.lean,Mathlib/Dynamics/BirkhoffSum/Pointwise.lean |
2 |
14 |
['D-Thomine', 'github-actions', 'leanprover-community-bot-assistant', 'lua-vr', 'mathlib4-dependent-issues-bot', 'mathlib4-merge-conflict-bot'] |
urkud assignee:urkud |
25-9268 25 days ago |
25-9269 25 days ago |
91-66923 91 days |
| 32365 |
yury-harmonic author:yury-harmonic |
feat: `norm_num` extension for `IsSquare` |
---
[](https://gitpod.io/from-referrer/)
|
delegated
t-meta
|
206/0 |
Mathlib.lean,Mathlib/Tactic.lean,Mathlib/Tactic/NormNum/IsSquare.lean,MathlibTest/norm_num_ext.lean |
4 |
11 |
['Vierkantor', 'dwrensha', 'github-actions', 'mathlib-bors', 'yury-harmonic'] |
nobody |
1-76584 1 day ago |
1-76584 1 day ago |
3-73772 3 days |
| 31707 |
Thmoas-Guan author:Thmoas-Guan |
feat(Homology): map between `Ext` induced by exact functor |
In this PR, we developed the additive map `Ext(M,N) => Ext(F(M), F(N))` when `F` is exact functor between abelian category. We also developed its linear version when `F` is linear.
Co-authored-by: Wang Jingting
---
[](https://gitpod.io/from-referrer/)
|
awaiting-author
t-category-theory
t-algebra
label:t-algebra$ |
203/0 |
Mathlib.lean,Mathlib/Algebra/Homology/DerivedCategory/ExactFunctor.lean,Mathlib/Algebra/Homology/DerivedCategory/Ext/Map.lean,Mathlib/Algebra/Homology/HomotopyCategory.lean,Mathlib/Algebra/Homology/HomotopyCategory/SingleFunctors.lean |
5 |
38 |
['Thmoas-Guan', 'erdOne', 'github-actions', 'joelriou', 'mathlib4-merge-conflict-bot'] |
erdOne assignee:erdOne |
1-72974 1 day ago |
4-64645 4 days ago |
7-41631 7 days |
| 32698 |
farruhx author:farruhx |
feat(List): add aesop / simp annotations to selected lemmas for improved automation |
This PR adds `@[aesop safe]` and `@[simp]` annotations to a set
of List lemmas whose proofs are routine and benefit from standardized
automation. No statements or definitions are changed; only proof annotations
are added.
The lemmas updated in this PR are:
* `or_exists_of_exists_mem_cons`
* `append_subset_of_subset_of_subset`
* `map_subset_iff`
* `append_eq_has_append`
* `append_right_injective`
* `append_left_injective`
* `reverse_surjective`
* `reverse_bijective`
* `mem_getLast?_append_of_mem_getLast?`
* `mem_dropLast_of_mem_of_ne_getLast`
* `idxOf_eq_length_iff`
* `idxOf_append_of_mem`
* `length_eraseP_add_one`
The goal is to make these commonly used lemmas easier for `aesop`-based
automation to resolve, while avoiding any interference with simp-normal-form
lemmas or canonical rewrite rules.
There are no API changes and no new theorems—only improved automation behavior. |
new-contributor
t-data
|
18/1 |
Mathlib/Data/List/Basic.lean |
1 |
5 |
['euprunin', 'farruhx', 'github-actions'] |
nobody |
1-70696 1 day ago |
1-70761 1 day ago |
1-71160 1 day |
| 32330 |
ADedecker author:ADedecker |
feat: postcomposition by a CLM as a CLM on test functions |
---
- [x] depends on: #32368
- [x] depends on: #30239
[](https://gitpod.io/from-referrer/)
|
t-analysis |
38/0 |
Mathlib/Analysis/Distribution/TestFunction.lean |
1 |
n/a |
['github-actions', 'mathlib4-dependent-issues-bot'] |
nobody |
1-69938 1 day ago |
unknown |
unknown |
| 32797 |
riccardobrasca author:riccardobrasca |
start |
---
[](https://gitpod.io/from-referrer/)
|
WIP
RFC
t-algebra
label:t-algebra$ |
71/64 |
Mathlib/Algebra/QuadraticAlgebra/Defs.lean |
1 |
2 |
['github-actions'] |
nobody |
1-69043 1 day ago |
1-69064 1 day ago |
0-20 20 seconds |
| 25138 |
chrisflav author:chrisflav |
chore(RingTheory/Ideal): make `RingHom.ker` take a `RingHom` instead of `RingHomClass` |
---
[](https://gitpod.io/from-referrer/)
|
awaiting-author
t-algebra
label:t-algebra$ |
242/211 |
Mathlib/Algebra/Algebra/Hom.lean,Mathlib/Algebra/Algebra/Subalgebra/Operations.lean,Mathlib/Algebra/Algebra/Tower.lean,Mathlib/Algebra/Category/CommAlgCat/FiniteType.lean,Mathlib/Algebra/Polynomial/Module/AEval.lean,Mathlib/Combinatorics/Nullstellensatz.lean,Mathlib/FieldTheory/Minpoly/Field.lean,Mathlib/FieldTheory/Normal/Basic.lean,Mathlib/LinearAlgebra/Semisimple.lean,Mathlib/LinearAlgebra/TensorProduct/RightExactness.lean,Mathlib/RingTheory/AdicCompletion/Algebra.lean,Mathlib/RingTheory/AdjoinRoot.lean,Mathlib/RingTheory/Algebraic/Basic.lean,Mathlib/RingTheory/Etale/Kaehler.lean,Mathlib/RingTheory/Extension/Cotangent/Basis.lean,Mathlib/RingTheory/Extension/Cotangent/LocalizationAway.lean,Mathlib/RingTheory/Extension/Generators.lean,Mathlib/RingTheory/Extension/Presentation/Basic.lean,Mathlib/RingTheory/Extension/Presentation/Core.lean,Mathlib/RingTheory/FinitePresentation.lean,Mathlib/RingTheory/FiniteStability.lean,Mathlib/RingTheory/Finiteness/NilpotentKer.lean,Mathlib/RingTheory/Ideal/Cotangent.lean,Mathlib/RingTheory/Ideal/Maps.lean,Mathlib/RingTheory/Ideal/Quotient/Operations.lean,Mathlib/RingTheory/IsAdjoinRoot.lean,Mathlib/RingTheory/Kaehler/Basic.lean,Mathlib/RingTheory/Kaehler/JacobiZariski.lean,Mathlib/RingTheory/LocalRing/ResidueField/Ideal.lean,Mathlib/RingTheory/Localization/Algebra.lean,Mathlib/RingTheory/Nilpotent/Lemmas.lean,Mathlib/RingTheory/NoetherNormalization.lean,Mathlib/RingTheory/Nullstellensatz.lean,Mathlib/RingTheory/Polynomial/Basic.lean,Mathlib/RingTheory/Polynomial/UniversalFactorizationRing.lean,Mathlib/RingTheory/Smooth/AdicCompletion.lean,Mathlib/RingTheory/Smooth/Basic.lean,Mathlib/RingTheory/Smooth/Flat.lean,Mathlib/RingTheory/Smooth/Kaehler.lean,Mathlib/RingTheory/Smooth/NoetherianDescent.lean,Mathlib/RingTheory/Spectrum/Prime/ChevalleyComplexity.lean,Mathlib/RingTheory/Unramified/Finite.lean,Mathlib/Topology/Algebra/Module/CharacterSpace.lean,Mathlib/Topology/ContinuousMap/Ideals.lean,Mathlib/Topology/ContinuousMap/StoneWeierstrass.lean |
45 |
7 |
['chrisflav', 'erdOne', 'eric-wieser', 'github-actions', 'jcommelin', 'leanprover-community-bot-assistant', 'mathlib4-merge-conflict-bot'] |
nobody |
1-67927 1 day ago |
4-75858 4 days ago |
16-338 16 days |
| 32437 |
WenrongZou author:WenrongZou |
feat(Algebra/Category/ModuleCat/Sheaf/Quasicoherent): construction of `Presentation` |
We construct presentation of sheaf of module by sequence and add `Presentation.map`.
This contribution was created as part of the Heidelberg Lean workshop "Formalising algebraic geometry" in November 2025.
Co-authored-by: William Coram @WilliamCoram
Co-authored-by: Andrew Yang @erdOne
---
[](https://gitpod.io/from-referrer/)
|
t-algebra
new-contributor
label:t-algebra$ |
143/0 |
Mathlib/Algebra/Category/ModuleCat/Sheaf/Free.lean,Mathlib/Algebra/Category/ModuleCat/Sheaf/Quasicoherent.lean |
2 |
41 |
['WenrongZou', 'dagurtomas', 'erdOne', 'github-actions', 'robin-carlier'] |
nobody |
1-67133 1 day ago |
1-70245 1 day ago |
5-36639 5 days |
| 30112 |
gaetanserre author:gaetanserre |
feat(Probability.Kernel): add representation of kernel as a map of a uniform measure |
Add results about isolation of kernels randomness. In particular, it shows that one
can write a Markov kernel as the map by a deterministic of a uniform measure on `[0, 1]`.
It corresponds to Lemma 4.22 in "[Foundations of Modern Probability](https://link.springer.com/book/10.1007/978-3-030-61871-1)" by Olav Kallenberg, 2021.
---
[](https://gitpod.io/from-referrer/)
|
t-measure-probability |
149/0 |
Mathlib.lean,Mathlib/Probability/Kernel/Representation.lean |
2 |
4 |
['RemyDegenne', 'gaetanserre', 'github-actions', 'mathlib4-merge-conflict-bot'] |
RemyDegenne assignee:RemyDegenne |
1-67119 1 day ago |
5-81324 5 days ago |
5-81612 5 days |
| 32799 |
fpvandoorn author:fpvandoorn |
feat: add extra trace message to positivity |
* It's hard to follow what `positivity` is doing, even with the tracing on
* This PR improves the situation a little bit by displaying a message after every positivity extension.
* Could be potentially improved further by storing the names of positivity extensions in `PositivityExt`, but this is a simple change in the meantime
---
[](https://gitpod.io/from-referrer/)
|
t-meta |
1/0 |
Mathlib/Tactic/Positivity/Core.lean |
1 |
1 |
['github-actions'] |
nobody |
1-65851 1 day ago |
1-65858 1 day ago |
0-0 0 seconds |
| 32355 |
bjornsolheim author:bjornsolheim |
feat(Geometry/Convex/Cone): define and characterize finitely generated and simplicial pointed cones |
Added file Simplicial.lean in which we:
* Define finitely generated and simplicial pointed cones.
* Prove lemmas simplicial_bot and Simplicial.fg.
# Notes
* I have tried alternative implementations in terms of a structure or using a finset instead of finite. If one can live with the extensional quantifier the finset seems better. A structure is perhaps best (No existential quantifier and no need to apply classical choice to get properties) but might lower the usability.
* I have set it to draft since I will update it shortly.
---
[](https://gitpod.io/from-referrer/)
|
new-contributor
t-convex-geometry
|
80/0 |
Mathlib.lean,Mathlib/Geometry/Convex/Cone/Simplicial.lean |
2 |
1 |
['github-actions'] |
nobody |
1-65767 1 day ago |
1-65876 1 day ago |
0-0 0 seconds |
| 32746 |
dagurtomas author:dagurtomas |
chore(CategoryTheory): generalize subpresheaf to subfunctor |
This is a direct generalization in the definition, which previously took a presheaf `Cᵒᵖ ⥤ Type w` as an argument, but now takes a functor `C ⥤ Type w`. Parts of the API could be directly generalized, other parts we keep only for presheaves for now. We rename `Subpresheaf` to `Subfunctor`.
---
[](https://gitpod.io/from-referrer/)
|
awaiting-author
t-category-theory
file-removed
|
651/515 |
Mathlib.lean,Mathlib/AlgebraicTopology/Quasicategory/StrictSegal.lean,Mathlib/AlgebraicTopology/SimplicialSet/Degenerate.lean,Mathlib/AlgebraicTopology/SimplicialSet/Horn.lean,Mathlib/AlgebraicTopology/SimplicialSet/NonDegenerateSimplices.lean,Mathlib/AlgebraicTopology/SimplicialSet/Simplices.lean,Mathlib/AlgebraicTopology/SimplicialSet/Skeleton.lean,Mathlib/AlgebraicTopology/SimplicialSet/StdSimplex.lean,Mathlib/AlgebraicTopology/SimplicialSet/Subcomplex.lean,Mathlib/CategoryTheory/Sites/LocallyInjective.lean,Mathlib/CategoryTheory/Sites/LocallySurjective.lean,Mathlib/CategoryTheory/Sites/Subsheaf.lean,Mathlib/CategoryTheory/Subfunctor/Basic.lean,Mathlib/CategoryTheory/Subfunctor/Equalizer.lean,Mathlib/CategoryTheory/Subfunctor/Finite.lean,Mathlib/CategoryTheory/Subfunctor/Image.lean,Mathlib/CategoryTheory/Subfunctor/OfSection.lean,Mathlib/CategoryTheory/Subfunctor/Sieves.lean,Mathlib/CategoryTheory/Subfunctor/Subobject.lean,Mathlib/CategoryTheory/Subpresheaf/Equalizer.lean,Mathlib/CategoryTheory/Subpresheaf/Image.lean |
21 |
10 |
['dagurtomas', 'erdOne', 'github-actions', 'robin-carlier'] |
nobody |
1-64733 1 day ago |
1-86160 1 day ago |
0-60773 16 hours |
| 32265 |
joelriou author:joelriou |
feat(AlgebraicTopology): finite colimits of finite simplicial sets are finite |
From https://github.com/joelriou/topcat-model-category
---
- [x] depends on: #32201
- [x] depends on: #32202
[](https://gitpod.io/from-referrer/)
|
maintainer-merge
t-algebraic-topology
|
82/0 |
Mathlib.lean,Mathlib/AlgebraicTopology/SimplicialSet/Finite.lean,Mathlib/AlgebraicTopology/SimplicialSet/FiniteColimits.lean,Mathlib/CategoryTheory/FinCategory/Basic.lean |
4 |
5 |
['github-actions', 'mathlib4-dependent-issues-bot', 'mathlib4-merge-conflict-bot', 'robin-carlier'] |
nobody |
1-63276 1 day ago |
1-63276 1 day ago |
1-71498 1 day |
| 32803 |
erdOne author:erdOne |
feat(RIngTheory): more-linear version of `tensorKaehlerEquiv` |
---
[](https://gitpod.io/from-referrer/)
|
t-ring-theory |
74/0 |
Mathlib/RingTheory/Kaehler/TensorProduct.lean |
1 |
1 |
['github-actions'] |
nobody |
1-63168 1 day ago |
1-63207 1 day ago |
1-63207 1 day |
| 32795 |
fpvandoorn author:fpvandoorn |
perf: abv positivity extension |
Test performance of `abv` positivity extension
---
[](https://gitpod.io/from-referrer/)
|
t-algebra label:t-algebra$ |
8/2 |
Mathlib/Algebra/Order/AbsoluteValue/Basic.lean,Mathlib/Analysis/Normed/Algebra/GelfandMazur.lean,Mathlib/Tactic/Positivity/Basic.lean |
3 |
3 |
['fpvandoorn', 'github-actions', 'leanprover-radar'] |
nobody |
1-62824 1 day ago |
1-74701 1 day ago |
0-0 0 seconds |
| 32805 |
gasparattila author:gasparattila |
feat(Topology/UniformSpace/Closeds): continuity of closure |
---
[](https://gitpod.io/from-referrer/)
|
t-topology |
51/0 |
Mathlib/Topology/UniformSpace/Closeds.lean,Mathlib/Topology/UniformSpace/Defs.lean |
2 |
1 |
['github-actions'] |
nobody |
1-62140 1 day ago |
1-62143 1 day ago |
1-62177 1 day |
| 32806 |
erdOne author:erdOne |
feat(RingTheory): base change of ideal with flat quotients |
---
[](https://gitpod.io/from-referrer/)
|
t-ring-theory |
108/0 |
Mathlib/RingTheory/Flat/Equalizer.lean |
1 |
1 |
['github-actions'] |
nobody |
1-61401 1 day ago |
1-61408 1 day ago |
1-61439 1 day |
| 32802 |
erdOne author:erdOne |
feat(RingTheory): more ergonomic version of jacobi criterion for smoothness |
---
[](https://gitpod.io/from-referrer/)
|
t-ring-theory |
125/2 |
Mathlib/RingTheory/Extension/Basic.lean,Mathlib/RingTheory/Extension/Cotangent/Basic.lean,Mathlib/RingTheory/Smooth/Local.lean |
3 |
1 |
['github-actions'] |
nobody |
1-61320 1 day ago |
1-63678 1 day ago |
1-63710 1 day |
| 32562 |
YaelDillies author:YaelDillies |
chore(Data/Finsupp): rename the `toFun` projection to `apply` in `simps` |
This is the standard name for fun-like types.
---
[](https://gitpod.io/from-referrer/)
|
maintainer-merge
t-data
|
20/37 |
Counterexamples/CliffordAlgebraNotInjective.lean,Mathlib/Algebra/Group/Finsupp.lean,Mathlib/Algebra/Polynomial/Derivative.lean,Mathlib/Data/Finsupp/Basic.lean,Mathlib/Data/Finsupp/Defs.lean,Mathlib/Data/Finsupp/Interval.lean,Mathlib/Data/Finsupp/Weight.lean,Mathlib/LinearAlgebra/Dual/Basis.lean,Mathlib/RingTheory/AlgebraTower.lean,Mathlib/RingTheory/Flat/EquationalCriterion.lean,Mathlib/RingTheory/HahnSeries/HEval.lean |
11 |
4 |
['JovanGerb', 'github-actions', 'mathlib4-merge-conflict-bot'] |
pechersky assignee:pechersky |
1-60746 1 day ago |
1-60746 1 day ago |
6-32278 6 days |
| 32808 |
gasparattila author:gasparattila |
feat(Topology/Maps): add `IsClosedEmbedding.of_comp` |
---
[](https://gitpod.io/from-referrer/)
|
t-topology |
7/0 |
Mathlib/Topology/Maps/Basic.lean |
1 |
1 |
['github-actions'] |
nobody |
1-59870 1 day ago |
1-59870 1 day ago |
1-59910 1 day |
| 32798 |
fpvandoorn author:fpvandoorn |
perf: don't run positivityCanon if you already know nonnegative |
---
[](https://gitpod.io/from-referrer/)
|
t-meta |
11/3 |
Mathlib/Tactic/Positivity/Core.lean |
1 |
3 |
['fpvandoorn', 'github-actions', 'leanprover-radar'] |
nobody |
1-59746 1 day ago |
1-68104 1 day ago |
0-0 0 seconds |
| 32737 |
j-loreaux author:j-loreaux |
refactor: rename `MulAction` to `MonoidAction` |
Given that we now have [SemigroupAction](https://leanprover-community.github.io/mathlib4_docs/Mathlib/Algebra/Group/Action/Defs.html#SemigroupAction) we are in the unfortunate scenario that the name which seems to have less structure actually has *more* structure. This PR:
1. renames `MulAction` to `MonoidAction` to reflect this additional structure, as well as declarations referencing `MulAction` in their names.
2. does *not* rename modules with `MulAction` in the name
3. does *not* rename `DistribMulAction`, `SubMulAction`, `MulActionWithZero`, etc. If these need to happen, that can occur at a later time.
4. does *not* rename `SemigroupAction` to `MulAction`. Even if this rename is desired, because of the prevalence of `MulAction` in Mathlib, I think we should not conduct a move of this magnitude all at once. If we want to rename this to `MulAction`, we should wait for the 6 month embargo period during which time that name is deprecated, to give everyone downstream the opportunity to switch instead of silently breaking their builds.
Of course, another potential name is `MulOneAction`, but I don't think that's too helpful.
---
[](https://gitpod.io/from-referrer/)
|
|
1797/1745 |
Mathlib/Algebra/AddConstMap/Basic.lean,Mathlib/Algebra/AddTorsor/Basic.lean,Mathlib/Algebra/AddTorsor/Defs.lean,Mathlib/Algebra/Algebra/Equiv.lean,Mathlib/Algebra/Algebra/NonUnitalHom.lean,Mathlib/Algebra/Algebra/Subalgebra/Basic.lean,Mathlib/Algebra/Algebra/Subalgebra/Pointwise.lean,Mathlib/Algebra/Algebra/Tower.lean,Mathlib/Algebra/Algebra/Unitization.lean,Mathlib/Algebra/BigOperators/Group/Finset/Basic.lean,Mathlib/Algebra/BigOperators/Group/Finset/Defs.lean,Mathlib/Algebra/BigOperators/Group/Finset/Pi.lean,Mathlib/Algebra/BigOperators/Group/Finset/Preimage.lean,Mathlib/Algebra/BigOperators/GroupWithZero/Action.lean,Mathlib/Algebra/Category/ModuleCat/ChangeOfRings.lean,Mathlib/Algebra/Category/ModuleCat/FilteredColimits.lean,Mathlib/Algebra/Colimit/DirectLimit.lean,Mathlib/Algebra/Field/Subfield/Basic.lean,Mathlib/Algebra/FreeMonoid/Basic.lean,Mathlib/Algebra/GradedMonoid.lean,Mathlib/Algebra/GradedMulAction.lean,Mathlib/Algebra/Group/Action/Basic.lean,Mathlib/Algebra/Group/Action/Defs.lean,Mathlib/Algebra/Group/Action/End.lean,Mathlib/Algebra/Group/Action/Equidecomp.lean,Mathlib/Algebra/Group/Action/Faithful.lean,Mathlib/Algebra/Group/Action/Hom.lean,Mathlib/Algebra/Group/Action/Opposite.lean,Mathlib/Algebra/Group/Action/Option.lean,Mathlib/Algebra/Group/Action/Pi.lean,Mathlib/Algebra/Group/Action/Pointwise/Finset.lean,Mathlib/Algebra/Group/Action/Pointwise/Set/Basic.lean,Mathlib/Algebra/Group/Action/Pointwise/Set/Finite.lean,Mathlib/Algebra/Group/Action/Pretransitive.lean,Mathlib/Algebra/Group/Action/Prod.lean,Mathlib/Algebra/Group/Action/Sigma.lean,Mathlib/Algebra/Group/Action/Sum.lean,Mathlib/Algebra/Group/Action/TransferInstance.lean,Mathlib/Algebra/Group/Action/TypeTags.lean,Mathlib/Algebra/Group/Action/Units.lean,Mathlib/Algebra/Group/Conj.lean,Mathlib/Algebra/Group/End.lean,Mathlib/Algebra/Group/Equiv/Finite.lean,Mathlib/Algebra/Group/Nat/Range.lean,Mathlib/Algebra/Group/Pointwise/Finset/Basic.lean,Mathlib/Algebra/Group/Pointwise/Finset/Density.lean,Mathlib/Algebra/Group/Pointwise/Finset/Scalar.lean,Mathlib/Algebra/Group/Pointwise/Set/Basic.lean,Mathlib/Algebra/Group/Pointwise/Set/Card.lean,Mathlib/Algebra/Group/Pointwise/Set/Finite.lean,Mathlib/Algebra/Group/Pointwise/Set/Lattice.lean,Mathlib/Algebra/Group/Pointwise/Set/Scalar.lean,Mathlib/Algebra/Group/Shrink.lean,Mathlib/Algebra/Group/Subgroup/Actions.lean,Mathlib/Algebra/Group/Subgroup/Basic.lean,Mathlib/Algebra/Group/Subgroup/Pointwise.lean,Mathlib/Algebra/Group/Submonoid/Membership.lean,Mathlib/Algebra/Group/Submonoid/MulAction.lean,Mathlib/Algebra/Group/Submonoid/Pointwise.lean,Mathlib/Algebra/Group/TransferInstance.lean,Mathlib/Algebra/Group/TypeTags/Finite.lean,Mathlib/Algebra/GroupWithZero/Action/Basic.lean,Mathlib/Algebra/GroupWithZero/Action/ConjAct.lean,Mathlib/Algebra/GroupWithZero/Action/Defs.lean,Mathlib/Algebra/GroupWithZero/Action/End.lean,Mathlib/Algebra/GroupWithZero/Action/Faithful.lean,Mathlib/Algebra/GroupWithZero/Action/Opposite.lean,Mathlib/Algebra/GroupWithZero/Action/Pointwise/Finset.lean,Mathlib/Algebra/GroupWithZero/Action/Pointwise/Set.lean,Mathlib/Algebra/GroupWithZero/Action/Prod.lean,Mathlib/Algebra/GroupWithZero/Action/Units.lean,Mathlib/Algebra/GroupWithZero/NonZeroDivisors.lean,Mathlib/Algebra/GroupWithZero/Pointwise/Finset.lean,Mathlib/Algebra/GroupWithZero/Pointwise/Set/Basic.lean,Mathlib/Algebra/GroupWithZero/Pointwise/Set/Card.lean,Mathlib/Algebra/GroupWithZero/Subgroup.lean,Mathlib/Algebra/GroupWithZero/Submonoid/Pointwise.lean,Mathlib/Algebra/GroupWithZero/TransferInstance.lean,Mathlib/Algebra/GroupWithZero/Units/Lemmas.lean,Mathlib/Algebra/Module/Congruence/Defs.lean,Mathlib/Algebra/Module/Defs.lean,Mathlib/Algebra/Module/Equiv/Basic.lean,Mathlib/Algebra/Module/GradedModule.lean,Mathlib/Algebra/Module/LinearMap/Defs.lean,Mathlib/Algebra/Module/LinearMap/End.lean,Mathlib/Algebra/Module/PUnit.lean,Mathlib/Algebra/Module/PointwisePi.lean,Mathlib/Algebra/Module/Rat.lean,Mathlib/Algebra/Module/Submodule/Basic.lean,Mathlib/Algebra/Module/Submodule/Defs.lean,Mathlib/Algebra/Module/Submodule/Invariant.lean,Mathlib/Algebra/Module/Submodule/LinearMap.lean,Mathlib/Algebra/Module/Submodule/Pointwise.lean,Mathlib/Algebra/Module/ULift.lean,Mathlib/Algebra/Order/Group/Action.lean,Mathlib/Algebra/Order/Group/Action/End.lean,Mathlib/Algebra/Order/Group/Action/Flag.lean,Mathlib/Algebra/Order/Group/Action/Synonym.lean,Mathlib/Algebra/Order/Group/End.lean,Mathlib/Algebra/Order/Module/Defs.lean |
344 |
2 |
['github-actions', 'mathlib4-merge-conflict-bot'] |
nobody |
1-58190 1 day ago |
1-58572 1 day ago |
2-62357 2 days |
| 32807 |
WilliamCoram author:WilliamCoram |
feat: Define the Gauss norm for MvPowerSeries |
We adjust the current definition for Gauss norm on power series to work for multivariate power series.
If this seems acceptable I can refactor the single variable case.
---
[](https://gitpod.io/from-referrer/)
|
new-contributor
t-ring-theory
|
139/0 |
Mathlib.lean,Mathlib/RingTheory/MvPowerSeries/GaussNorm.lean |
2 |
7 |
['github-actions', 'vihdzp'] |
nobody |
1-57796 1 day ago |
1-61181 1 day ago |
1-61214 1 day |
| 31138 |
AntoineChambert-Loir author:AntoineChambert-Loir |
feat(LinearAlgebra/Transvection): auxiliary lemmas to compute the determinant of transvection in a module |
Auxiliary results towards the proof that the determinant of a transvection is equal to 1.
---
- [x] depends on: #31164
- [x] depends on: #31165
- [x] depends on: #30987
- [x] depends on: #31078
- [x] depends on: #31162
[](https://gitpod.io/from-referrer/)
|
t-algebra
large-import
label:t-algebra$ |
243/33 |
Mathlib/LinearAlgebra/Determinant.lean,Mathlib/LinearAlgebra/DirectSum/Finsupp.lean,Mathlib/LinearAlgebra/Finsupp/LinearCombination.lean,Mathlib/LinearAlgebra/SpecialLinearGroup.lean,Mathlib/LinearAlgebra/Transvection.lean,Mathlib/RingTheory/TensorProduct/IsBaseChangeFree.lean,Mathlib/RingTheory/TensorProduct/IsBaseChangeHom.lean |
7 |
26 |
['AntoineChambert-Loir', 'dagurtomas', 'github-actions', 'mathlib4-dependent-issues-bot', 'mathlib4-merge-conflict-bot', 'ocfnash'] |
dagurtomas assignee:dagurtomas |
1-53564 1 day ago |
1-53704 1 day ago |
3-69014 3 days |
| 25925 |
BoltonBailey author:BoltonBailey |
feat: file for lemmas about MvPolynomials over NoZeroDivisors |
This PR creates a new file for lemmas about `MvPolynomial`s over rings which are `NoZeroDivisors`, to make modified versions of lemmas like `degreeOf_C_mul`.
Notes to self:
* Can the results in this file be generalized?
* Perhaps to the assumption `IsCancelMulZero R`?
* Note that when `R` is a ring, `IsCancelMulZero R` is equivalent to
`NoZeroDivisors R`.
* When `R` is only a semiring, `NoZeroDivisors R` is implied by `IsCancelMulZero R`
(although this is not typeclass inferrable, see `IsLeftCancelMulZero.to_noZeroDivisors`),
* When `R` is only a semiring, `IsCancelMulZero R` is not implied by `NoZeroDivisors R`, see https://leanprover.zulipchat.com/#narrow/channel/116395-maths/topic/IsCancelMulZero.20and.20NoZeroDivisors.20for.20semirings/with/562333254
* Thus, we should see if the results in this file can be generalized to
`IsCancelMulZero R`.
* Note that `MvPolynomial.totalDegree_mul_of_isDomain` exists, which proves a related result
under the assumption `IsCancelMulZero R`.
* This seems weaker than it could be!
* I will try to open PR to generalize these results to `NoZeroDivisors R` in a new PR.
* Perhaps to more specific assumptions about cancellation on leadingCoeffs?
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
- [x] depends on: #25926 [We need this lemma to establish fact about degreeOf n (p + q)]
- [ ] depends on: #32558
|
awaiting-author
t-algebra
label:t-algebra$ |
121/3 |
Mathlib.lean,Mathlib/Algebra/MvPolynomial/Degrees.lean,Mathlib/Algebra/MvPolynomial/NoZeroDivisors.lean |
3 |
23 |
['BoltonBailey', 'erdOne', 'github-actions', 'mathlib4-dependent-issues-bot'] |
nobody |
1-53187 1 day ago |
3-57561 3 days ago |
8-21099 8 days |
| 32429 |
erdOne author:erdOne |
feat(RingTheory): `IsIntegrallyClosed R[X]` |
---
[](https://gitpod.io/from-referrer/)
|
t-ring-theory |
288/3 |
Mathlib.lean,Mathlib/RingTheory/IntegralClosure/IntegrallyClosed.lean,Mathlib/RingTheory/IntegralClosure/IsIntegral/AlmostIntegral.lean,Mathlib/RingTheory/Polynomial/IsIntegral.lean |
4 |
3 |
['github-actions', 'jcommelin'] |
alreadydone and mattrobball assignee:alreadydone assignee:mattrobball |
1-51832 1 day ago |
9-68125 9 days ago |
9-68278 9 days |
| 29829 |
vihdzp author:vihdzp |
draft: more stuff on `standardPart` |
---
- [ ] depends on #29687
[](https://gitpod.io/from-referrer/)
|
|
358/2 |
Mathlib.lean,Mathlib/Algebra/Order/CompleteField.lean,Mathlib/Algebra/Order/Ring/Archimedean.lean,Mathlib/Data/Real/StandardPart.lean,Mathlib/Order/Quotient.lean |
5 |
2 |
['github-actions', 'mathlib4-merge-conflict-bot'] |
nobody |
1-51693 1 day ago |
4-77359 4 days ago |
0-0 0 seconds |
| 32747 |
j-loreaux author:j-loreaux |
feat: integer inequalities from multiples in a strict ordered ring |
These were useful during the review of #32259.
---
[](https://gitpod.io/from-referrer/)
|
t-algebra
maintainer-merge
label:t-algebra$ |
38/0 |
Mathlib.lean,Mathlib/Algebra/Order/Ring/Interval.lean |
2 |
3 |
['github-actions', 'jsm28'] |
nobody |
1-49595 1 day ago |
1-49595 1 day ago |
2-62783 2 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
- [ ] depends on #29128 |
t-algebra
large-import
label:t-algebra$ |
440/7 |
Mathlib/Geometry/Euclidean/MongePoint.lean,Mathlib/Geometry/Euclidean/Simplex.lean,Mathlib/LinearAlgebra/AffineSpace/Simplex/Centroid.lean,docs/1000.yaml |
4 |
10 |
['github-actions', 'jsm28', 'mathlib4-merge-conflict-bot', 'zcyemi'] |
nobody |
1-49303 1 day ago |
2-12688 2 days ago |
28-6175 28 days |
| 32403 |
FLDutchmann author:FLDutchmann |
fix(FieldSimp): `declaration has free variables` kernel errors |
Fix a bug in `field_simp` that produces a `(kernel) declaration has free variables '_example'` error which was caused by a misconfigured `simp` call.
---
The first new test produces this error on the current version of mathlib. What I believe is happening is that the discharger is using the `x != 0` hypothesis in the `then` branch, at which point that result is cached by `simp` and used in the `else` branch.
```
import Mathlib
/- (kernel) declaration has free variables '_example' -/
example {x y : ℚ}: (if x ≠ 0 then x / x else x / x) = 1 := by
field_simp
/- ⊢ (if x ≠ 0 then 1 else 1) = 1 -/
sorry
```
Edit: As @__JovanGerb__ pointed out, the correct solution was to set the `wellBehavedDischarge` flag to false, so that `simp` clears the cache more agressively. We might also want to turn on `contextual` in the future, but this would change the behaviour of `field_simp` by adding additional lemmas to the simp context. For now I propose a fix with a minimal change in behaviour.
Marking the simp context that calls the discharger as contextual appears to fix the issue, presumably by more aggressively pruning the cache. What I don't understand at this point, is why the discharger ever even had access to that hypothesis, given that contextual was set to false.
cc @JovanGerb : You understand the simp cache much better than I. Is there another bug here that I'm missing?
[](https://gitpod.io/from-referrer/)
|
t-meta |
52/14 |
Mathlib/Tactic/Abel.lean,Mathlib/Tactic/FieldSimp.lean,Mathlib/Tactic/Ring/RingNF.lean,Mathlib/Util/AtomM/Recurse.lean,MathlibTest/FieldSimp.lean |
5 |
9 |
['FLDutchmann', 'JovanGerb', 'github-actions', 'leanprover-radar'] |
kim-em assignee:kim-em |
1-47876 1 day ago |
9-70837 9 days ago |
10-64938 10 days |
| 32190 |
vihdzp author:vihdzp |
chore(Algebra/Order/Ring/Archimedean): generalize theorems to `OrderHomClass` + `RingHomClass` |
---
[](https://gitpod.io/from-referrer/)
|
t-algebra label:t-algebra$ |
14/11 |
Mathlib/Algebra/Order/Hom/Ring.lean,Mathlib/Algebra/Order/Ring/Archimedean.lean |
2 |
2 |
['github-actions', 'mathlib4-merge-conflict-bot'] |
alreadydone assignee:alreadydone |
1-47541 1 day ago |
1-47565 1 day ago |
16-47706 16 days |
| 32813 |
erdOne author:erdOne |
feat(AlgebraicGeometry): relative normalization of schemes |
---
[](https://gitpod.io/from-referrer/)
|
t-algebraic-geometry |
356/0 |
Mathlib.lean,Mathlib/AlgebraicGeometry/IdealSheaf/Basic.lean,Mathlib/AlgebraicGeometry/Normalization.lean,Mathlib/AlgebraicGeometry/Properties.lean |
4 |
1 |
['github-actions'] |
nobody |
1-47286 1 day ago |
1-47286 1 day ago |
1-47323 1 day |
| 30131 |
fpvandoorn author:fpvandoorn |
feat: alias_in attribute |
* A small wrapper for adding an alias of a declaration in another namespace.
* application time `.afterCompilation` is necessary for `#eval` to work correctly
* Docstrings are copied, jump-to-definition works (no test in the test file, but tested locally)
* To be used for CW-complexes, where lemmas are frequently duplicated between `RelCWComplex` and `CWComplex`.
---
[](https://gitpod.io/from-referrer/)
cc @scholzhannah
|
t-meta |
113/0 |
Mathlib.lean,Mathlib/Util/AliasIn.lean,MathlibTest/Util/AliasIn.lean |
3 |
19 |
['JovanGerb', 'fpvandoorn', 'github-actions', 'mathlib4-merge-conflict-bot'] |
JovanGerb assignee:JovanGerb |
1-46825 1 day ago |
1-73627 1 day ago |
49-42987 49 days |
| 32809 |
erdOne author:erdOne |
feat(RingTheory): residue field of `I[X]` |
---
[](https://gitpod.io/from-referrer/)
|
t-ring-theory |
178/1 |
Mathlib.lean,Mathlib/FieldTheory/RatFunc/AsPolynomial.lean,Mathlib/FieldTheory/RatFunc/Basic.lean,Mathlib/RingTheory/Ideal/Quotient/Operations.lean,Mathlib/RingTheory/LocalRing/ResidueField/Polynomial.lean |
5 |
1 |
['github-actions'] |
nobody |
1-46802 1 day ago |
1-46802 1 day ago |
1-55551 1 day |
| 32237 |
joelriou author:joelriou |
feat(AlgebraicTopology): binary products of standard simplices |
We start the study of nondegenerate simplices in `Δ[p] ⊗ Δ[q]`. In particular, we show that it is of dimension `≤ p + q`.
From https://github.com/joelriou/topcat-model-category
---
- [x] depends on: #32201
- [x] depends on: #32202
[](https://gitpod.io/from-referrer/)
|
maintainer-merge
t-algebraic-topology
|
146/0 |
Mathlib.lean,Mathlib/AlgebraicTopology/SimplicialSet/Monoidal.lean,Mathlib/AlgebraicTopology/SimplicialSet/ProdStdSimplex.lean |
3 |
12 |
['github-actions', 'joelriou', 'mathlib4-dependent-issues-bot', 'mathlib4-merge-conflict-bot', 'robin-carlier'] |
nobody |
1-46213 1 day ago |
1-46213 1 day ago |
1-60890 1 day |
| 31717 |
thorimur author:thorimur |
chore: refactor `Type*` and `Sort*` to use `mkFreshLevelParam` |
Uses the API for creating new level parameters introduced in #30797.
---
- [ ] depends on: #30797
[](https://gitpod.io/from-referrer/)
|
t-meta
maintainer-merge
large-import
|
4/7 |
Mathlib/Tactic/TypeStar.lean |
1 |
5 |
['JovanGerb', 'github-actions', 'mathlib4-dependent-issues-bot', 'mathlib4-merge-conflict-bot'] |
dwrensha assignee:dwrensha |
1-46053 1 day ago |
1-46053 1 day ago |
12-15043 12 days |
| 30872 |
rudynicolop author:rudynicolop |
feat(Computability/NFA): NFA closure under concatenation |
This PR proves that regular languages are closed under concatenation via a direct construction on `NFA`s without `εNFA` nor ε-transitions. The main new definitions and results include:
- `M1.concat M2`, the concatenation of `NFA`s `M1` and `M2`, a direct construction without ε-transitions.
- Theorem `accepts_concat : (M1.concat M2).accepts = M1.accepts * M2.accepts`, showing the correctness of the construction.
- Theorem `IsRegular.mul`, showing that regular languages are closed under concatenation.
---
- [x] depends on: #31038
[](https://gitpod.io/from-referrer/)
|
new-contributor
t-computability
maintainer-merge
|
104/7 |
Mathlib/Computability/NFA.lean |
1 |
59 |
['YaelDillies', 'ctchou', 'github-actions', 'lambda-fairy', 'mathlib4-dependent-issues-bot', 'rudynicolop'] |
YaelDillies assignee:YaelDillies |
1-45382 1 day ago |
6-239 6 days ago |
15-81950 15 days |
| 32715 |
chiyunhsu author:chiyunhsu |
feat(Data/Nat/Factorization): add theorems about ordCompl |
Add theorems about ordCompl[p] n, the prime-to-p part of n, when n is a power of p. There are similar existing theorems in Data/Nat/Factorization/PrimePow.lean emphasizing isPrimePow. Motivation of PR is for a follow up PR on Combinatorial Proof of Euler's Partition Identity
---
[](https://gitpod.io/from-referrer/)
|
new-contributor
t-data
|
31/0 |
Mathlib/Data/Nat/BitIndices.lean,Mathlib/Data/Nat/Factorization/Basic.lean |
2 |
10 |
['chiyunhsu', 'github-actions', 'jcommelin'] |
nobody |
1-43762 1 day ago |
2-1914 2 days ago |
3-17304 3 days |
| 32820 |
gasparattila author:gasparattila |
feat(Topology/Sets): range of `(Nonempty)Compacts.map` |
---
[](https://gitpod.io/from-referrer/)
|
t-topology |
19/0 |
Mathlib/Topology/Sets/Compacts.lean |
1 |
1 |
['github-actions'] |
nobody |
1-41967 1 day ago |
1-41983 1 day ago |
1-42016 1 day |
| 32259 |
jsm28 author:jsm28 |
feat(Analysis/SpecialFunctions/Trigonometric/Angle): `toReal` addition lemmas |
Add two lemmas
```lean
lemma toReal_add_eq_toReal_add_toReal {θ ψ : Angle} (hθ : θ ≠ π) (hψ : ψ ≠ π)
(hs : θ.sign ≠ ψ.sign ∨ θ.sign = (θ + ψ).sign) : (θ + ψ).toReal = θ.toReal + ψ.toReal := by
```
```lean
lemma abs_toReal_add_eq_two_pi_sub_abs_toReal_add_abs_toReal {θ ψ : Angle} (hs : θ.sign = ψ.sign)
(hsa : θ.sign ≠ (θ + ψ).sign) : |(θ + ψ).toReal| = 2 * π - (|θ.toReal| + |ψ.toReal|) := by
```
about `(θ + ψ).toReal`. Also add a lemma `abs_toReal_neg` used in proving them, and lemmas `sign_two_nsmul_eq_neg_sign_iff` and `sign_two_zsmul_eq_neg_sign_iff` (analogous to existing `sign_two_nsmul_eq_sign_iff` and `sign_two_zsmul_eq_sign_iff`) that are of use together with the `toReal` lemmas in relating oriented and unoriented angle bisection results.
---
Feel free to golf.
---
[](https://gitpod.io/from-referrer/)
|
awaiting-author
t-analysis
|
97/0 |
Mathlib/Analysis/SpecialFunctions/Trigonometric/Angle.lean |
1 |
12 |
['github-actions', 'j-loreaux', 'jsm28', 'themathqueen'] |
j-loreaux assignee:j-loreaux |
1-41734 1 day ago |
3-5130 3 days ago |
11-17088 11 days |
| 32749 |
thorimur author:thorimur |
fix: respect visibility in `notation3` |
This PR makes sure that `notation3` respects visibility and does not introduce public declarations when preceded by `local`. In particular:
* we pass along the `attrKind` to `macro_rules`, thereby making them `local` when the `notation3` is (and therefore making sure their associated declaration under the hood is private)
* we use a `private aux_def` when the `attrKind` is `local` (and `public` otherwise, for `scoped` or none)
Note that, like `syntax` and `notation`, the declarations created by `notation3` will be `public` even when not in `public section`. Visibility for meta commands like these is controlled by `local`.
This was discovered because `local notation3` introduced public declarations which wrongly silenced the private module linter. We therefore include a test for the private module linter.
---
[](https://gitpod.io/from-referrer/)
|
t-meta |
42/3 |
Mathlib/Util/Notation3.lean,MathlibTest/PrivateModuleLinter/notation3.lean |
2 |
1 |
['github-actions'] |
nobody |
1-41577 1 day ago |
2-31713 2 days ago |
2-35895 2 days |
| 32560 |
AntoineChambert-Loir author:AntoineChambert-Loir |
feat(LinearAlgebra/Dimension/Constructions): construct a basis from one of submodule and quotient |
Let `V` be an `R`-module. Let `W` be a submodule of `V` with a basis `b` and `c` be a basis of the quotient module `V ⧸ W`.
`basisSum b c` is a basis of `V` indexed by the sum type of the index types of `b` and `c` that extends `b`and lifts `c`.
We apply this construction to a determinant equality: `LinearMap.det_eq_det_mul_det` shows that if a linear map `f : V →ₗ[R] V` stabilizes the submodule `W`,
then the determinant of `f` is the product of the determinants of the linear endomorphisms of `W` and `V ⧸ W` induced by `f`.
---
[](https://gitpod.io/from-referrer/)
|
t-algebra label:t-algebra$ |
126/0 |
Mathlib/LinearAlgebra/Determinant.lean,Mathlib/LinearAlgebra/Dimension/Constructions.lean |
2 |
12 |
['AntoineChambert-Loir', 'Vierkantor', 'github-actions'] |
Vierkantor assignee:Vierkantor |
1-40381 1 day ago |
1-51561 1 day ago |
6-28388 6 days |
| 32818 |
tb65536 author:tb65536 |
refactor(Algebra/Polynomial/Splits): continue deprecation |
This PR continues the deprecation in Splits.lean as we move over to the new API in Factors.lean.
---
[](https://gitpod.io/from-referrer/)
|
t-algebra label:t-algebra$ |
52/39 |
Mathlib/Algebra/Polynomial/Factors.lean,Mathlib/Algebra/Polynomial/Splits.lean,Mathlib/FieldTheory/Galois/Basic.lean,Mathlib/FieldTheory/IsAlgClosed/Basic.lean,Mathlib/FieldTheory/Isaacs.lean,Mathlib/FieldTheory/Normal/Basic.lean,Mathlib/RingTheory/Polynomial/GaussLemma.lean |
7 |
1 |
['github-actions'] |
nobody |
1-36318 1 day ago |
1-36318 1 day ago |
1-38097 1 day |
| 30240 |
luigi-massacci author:luigi-massacci |
feat(Analysis/Distribution/ContDiffMapSupportedIn): Add a wrapper for fderiv on D_K^n |
Add a wrapper for `fderiv` as a map from `D_K^n` to `D_K^(n-1)`.
Co-Authored by: @ADedecker
---
- [ ] depends on: #30239
- [ ] depends on: #30236
- [ ] depends on: #30202
- [ ] depends on: #30201
- [ ] depends on: #30199
- [ ] depends on: #30198
- [ ] depends on: #30197
[](https://gitpod.io/from-referrer/)
|
blocked-by-other-PR
t-analysis
|
379/16 |
Mathlib/Analysis/Distribution/ContDiffMapSupportedIn.lean |
1 |
6 |
['ADedecker', 'github-actions', 'mathlib4-dependent-issues-bot', 'mathlib4-merge-conflict-bot'] |
nobody |
21-78929 21 days ago |
24-83029 24 days ago |
0-546 9 minutes |
| 32210 |
ADedecker author:ADedecker |
feat: iteratedFDeriv as a linear map on test functions |
Add `TestFunction.iteratedFDeriv[WithOrder]LM`, analogous to [ContDiffMapSupportedIn.iteratedFDerivWithOrderLM](https://leanprover-community.github.io/mathlib4_docs/Mathlib/Analysis/Distribution/ContDiffMapSupportedIn.html#ContDiffMapSupportedIn.iteratedFDerivWithOrderLM) and [ContDiffMapSupportedIn.iteratedFDerivLM](https://leanprover-community.github.io/mathlib4_docs/Mathlib/Analysis/Distribution/ContDiffMapSupportedIn.html#ContDiffMapSupportedIn.iteratedFDerivLM)
---
Co-authored-by: @luigi-massacci
[](https://gitpod.io/from-referrer/)
|
t-analysis |
109/2 |
Mathlib/Analysis/Distribution/TestFunction.lean |
1 |
2 |
['github-actions', 'mathlib4-merge-conflict-bot'] |
nobody |
12-76256 12 days ago |
12-83561 12 days ago |
15-71358 15 days |
| 32521 |
j-loreaux author:j-loreaux |
refactor: generalize semicontinuity |
---
I will split this if the general idea receives approval.
[](https://gitpod.io/from-referrer/)
|
t-topology
file-removed
|
946/342 |
Mathlib.lean,Mathlib/Analysis/LocallyConvex/Barrelled.lean,Mathlib/MeasureTheory/Constructions/BorelSpace/Order.lean,Mathlib/MeasureTheory/Integral/Bochner/VitaliCaratheodory.lean,Mathlib/Topology/EMetricSpace/BoundedVariation.lean,Mathlib/Topology/Instances/EReal/Lemmas.lean,Mathlib/Topology/Semicontinuity/Basic.lean,Mathlib/Topology/Semicontinuity/Defs.lean,Mathlib/Topology/Semicontinuity/Hemicontinuity.lean |
9 |
4 |
['alreadydone', 'github-actions', 'mathlib4-merge-conflict-bot', 'vihdzp'] |
PatrickMassot assignee:PatrickMassot |
1-33932 1 day ago |
1-61605 1 day ago |
4-59044 4 days |
| 32591 |
YaelDillies author:YaelDillies |
chore(Algebra/MonoidAlgebra): scope `Algebra R[M] A[M]` instance |
It is currently local, but then the Prop-valued instances about it are not and therefore bring the (non-)instance back from the dead.
---
[](https://gitpod.io/from-referrer/)
|
t-algebra label:t-algebra$ |
11/5 |
Mathlib/Algebra/MonoidAlgebra/Basic.lean,Mathlib/RingTheory/TensorProduct/MonoidAlgebra.lean |
2 |
2 |
['JovanGerb', 'github-actions'] |
jcommelin assignee:jcommelin |
1-33931 1 day ago |
4-80736 4 days ago |
5-63479 5 days |
| 32600 |
PrParadoxy author:PrParadoxy |
feat(LinearAlgebra/Multilinear): composition of multilinear maps |
The composition of a multilinear map with a family of multilinear maps
is a multilinear map indexed by a dependent sum.
The result reduces to a lemma about the interaction of function
application, `Sigma.curry`, and `Function.update`. This variant of
`Function.apply_update` is included as `Sigma.apply_curry_update`.
---
Note to reviewers: If `apply_curry_update` is deemed too specialized for
the `Sigma` namespace, it could be included as a private lemma. An
optimized signature would obviate the need to work around a `DecidableEq`
diamond, and would reduce `map_update_add', map_update_mul'` to a single
`simp` call each.
[](https://gitpod.io/from-referrer/)
|
new-contributor |
40/0 |
Mathlib/Data/Sigma/Basic.lean,Mathlib/LinearAlgebra/Multilinear/Basic.lean |
2 |
4 |
['github-actions', 'goliath-klein', 'kbuzzard'] |
dwrensha assignee:dwrensha |
1-33930 1 day ago |
4-57795 4 days ago |
4-58056 4 days |
| 32617 |
erdOne author:erdOne |
feat(RingTheory): field extension over perfect fields are smooth |
---
[](https://gitpod.io/from-referrer/)
|
t-ring-theory |
149/18 |
Mathlib.lean,Mathlib/FieldTheory/IntermediateField/Adjoin/Algebra.lean,Mathlib/FieldTheory/IntermediateField/Adjoin/Defs.lean,Mathlib/FieldTheory/SeparableClosure.lean,Mathlib/FieldTheory/SeparablyGenerated.lean,Mathlib/RingTheory/EssentialFiniteness.lean,Mathlib/RingTheory/Smooth/Field.lean |
7 |
1 |
['github-actions'] |
chrisflav assignee:chrisflav |
1-33930 1 day ago |
5-20413 5 days ago |
5-23030 5 days |
| 32657 |
mattrobball author:mattrobball |
chore: clean up imports from #31746 |
#31746 added `Data.Int.Cast.Lemmas` as a new import to `LinearAlgebra.Matrix.Diagonal` to access `Int.cast_ite` but did not remove `Data.Int.Cast.Basic` and did not do a public import. Following `Nat.cast_ite`, we move `Data.Int.Cast.Basic` and remove the added import.
---
[](https://gitpod.io/from-referrer/)
|
t-data |
8/8 |
Mathlib/Data/Int/Cast/Basic.lean,Mathlib/Data/Int/Cast/Lemmas.lean,Mathlib/Data/Matrix/Diagonal.lean |
3 |
1 |
['github-actions'] |
TwoFX assignee:TwoFX |
1-33928 1 day ago |
4-56141 4 days ago |
4-56182 4 days |
| 32660 |
dagurtomas author:dagurtomas |
feat(Topology): sandwich lemmas for profinite sets |
We add two lemmas:
- `exists_clopen_of_closed_subset_open`: in a totally disconnected compact Hausdorff space `X`, if `Z ⊆ U` are subsets with `Z` closed and `U` open, there exists a clopen `C` with `Z ⊆ C ⊆ U`.
- `exists_clopen_partition_of_clopen_cover`: Let `X` be a totally disconnected compact Hausdorff space, `D i ⊆ X` a finite family of clopens, and `Z i ⊆ D i` closed. Assume that the `Z i` are pairwise disjoint. Then there exist clopens `Z i ⊆ C i ⊆ D i` with the `C i` disjoint, and such that `∪ D i ⊆ ∪ C i`.
These are required to prove injectivity of light profinite sets, see #31754
---
[](https://gitpod.io/from-referrer/)
|
t-topology |
94/0 |
Mathlib/Topology/Separation/Profinite.lean |
1 |
1 |
['github-actions'] |
PatrickMassot assignee:PatrickMassot |
1-33927 1 day ago |
4-45523 4 days ago |
4-45557 4 days |
| 32665 |
erdOne author:erdOne |
feat(RingTheory): quasi-finite algebras |
---
[](https://gitpod.io/from-referrer/)
|
t-ring-theory |
341/2 |
Mathlib.lean,Mathlib/RingTheory/LocalRing/ResidueField/Ideal.lean,Mathlib/RingTheory/QuasiFinite/Basic.lean |
3 |
1 |
['github-actions'] |
kbuzzard assignee:kbuzzard |
1-33926 1 day ago |
4-39360 4 days ago |
4-39380 4 days |
| 32823 |
erdOne author:erdOne |
feat(RingTheory): construct etale neighborhood that isolates point in fiber |
---
[](https://gitpod.io/from-referrer/)
|
t-ring-theory |
280/1 |
Mathlib.lean,Mathlib/Algebra/Polynomial/Monic.lean,Mathlib/RingTheory/Etale/QuasiFinite.lean,Mathlib/RingTheory/Polynomial/UniversalFactorizationRing.lean,Mathlib/RingTheory/Spectrum/Prime/Noetherian.lean,Mathlib/RingTheory/Spectrum/Prime/RingHom.lean,Mathlib/RingTheory/Spectrum/Prime/Topology.lean |
7 |
1 |
['github-actions'] |
nobody |
1-33842 1 day ago |
1-33842 1 day ago |
1-34047 1 day |
| 32811 |
erdOne author:erdOne |
feat(RingTheory): predicate on satisfying Zariski's main theorem |
---
[](https://gitpod.io/from-referrer/)
|
t-ring-theory |
169/0 |
Mathlib.lean,Mathlib/Algebra/Algebra/Subalgebra/Lattice.lean,Mathlib/RingTheory/Localization/Away/Basic.lean,Mathlib/RingTheory/ZariskisMainTheorem.lean |
4 |
2 |
['github-actions'] |
nobody |
1-33790 1 day ago |
1-52451 1 day ago |
1-52934 1 day |
| 32826 |
felixpernegger author:felixpernegger |
feat(Data/Tuple/Sort): Sort of perm is its inverse |
One can use this to easily prove a permutation is monotone iff it is the identity. However I'm still unsure in what file to put that theorem. |
new-contributor
t-data
|
10/0 |
Mathlib/Data/Fin/Tuple/Sort.lean |
1 |
1 |
['github-actions'] |
nobody |
1-27053 1 day ago |
1-27053 1 day ago |
1-27057 1 day |
| 32827 |
erdOne author:erdOne |
perf: `@[simp high]` on `*Hom.map_add` lemmas |
---
[](https://gitpod.io/from-referrer/)
|
t-algebra label:t-algebra$ |
10/0 |
Mathlib/Algebra/Module/Equiv/Defs.lean,Mathlib/Algebra/Module/LinearMap/Defs.lean,Mathlib/Algebra/Ring/Equiv.lean,Mathlib/Algebra/Ring/Hom/Defs.lean |
4 |
3 |
['erdOne', 'github-actions', 'leanprover-radar'] |
nobody |
1-24552 1 day ago |
1-27415 1 day ago |
0-0 0 seconds |
| 32264 |
jjtowery author:jjtowery |
feat(Bicategory): add lax slice bicategory |
---
In this PR, I define the lax slice bicategory for a lax functor over an object. I also give the change of slice strict pseudofunctor. These are from Section 7.1 of Johnson & Yau and are essential for their Whitehead theorem for bicategories (lax functor biequivalence iff essentially surjective, essentially full, and fully faithful), which I'd like to prove at some point.
[](https://gitpod.io/from-referrer/)
|
awaiting-author
t-category-theory
new-contributor
|
527/0 |
Mathlib.lean,Mathlib/CategoryTheory/Bicategory/LaxSlice.lean |
2 |
8 |
['dagurtomas', 'github-actions', 'jjtowery', 'robin-carlier'] |
dagurtomas assignee:dagurtomas |
1-23155 1 day ago |
8-51542 8 days ago |
0-0 0 seconds |
| 32825 |
erdOne author:erdOne |
perf(RingTheory): `attribute [irreducible] KaehlerDifferential` |
---
[](https://gitpod.io/from-referrer/)
|
t-ring-theory |
5/1 |
Mathlib/Algebra/Category/ModuleCat/Differentials/Basic.lean,Mathlib/AlgebraicGeometry/Morphisms/FormallyUnramified.lean,Mathlib/RingTheory/Kaehler/Basic.lean |
3 |
4 |
['erdOne', 'github-actions', 'leanprover-radar'] |
nobody |
1-22860 1 day ago |
1-27840 1 day ago |
0-0 0 seconds |
| 30640 |
SnirBroshi author:SnirBroshi |
feat(Combinatorics/SimpleGraph/Acyclic): define `reachabilitySet` + a maximally acyclic graph is a tree |
Define `reachabilitySet` as the set of all pairs that have a walk between them.
`reachabilitySet` is to `Reachable` what `edgeSet` is to `Adj` (both related by `Sym2.fromRel`).
Prove that a graph is maximally acyclic iff it is a tree.
---
The motivation for the set is making it easier to work with definitions that require `Sym2 V`, such as `IsBridge` and `deleteEdges` (see `isBridge_iff_mem_edgeSet_and_notMem_reachabilitySet_deleteEdges` and `mem_edgeSet_and_mem_reachabilitySet_deleteEdges_iff_exists_isCycle_and_mem_edges` at the bottom).
- [x] depends on: #30542
- [x] depends on: #30570
[](https://gitpod.io/from-referrer/)
|
t-combinatorics |
101/0 |
Mathlib/Combinatorics/SimpleGraph/Acyclic.lean,Mathlib/Combinatorics/SimpleGraph/Connectivity/Connected.lean |
2 |
3 |
['github-actions', 'mathlib4-dependent-issues-bot', 'mathlib4-merge-conflict-bot'] |
nobody |
1-19777 1 day ago |
1-19783 1 day ago |
5-13160 5 days |
| 32754 |
felixpernegger author:felixpernegger |
feat(Data/Set/Card): ncard of complement of set is Nat.card - ncard of set |
|
easy
new-contributor
maintainer-merge
t-data
|
4/0 |
Mathlib/Data/Set/Card.lean |
1 |
3 |
['felixpernegger', 'github-actions', 'tb65536'] |
nobody |
1-18569 1 day ago |
1-18569 1 day ago |
2-54472 2 days |
| 32776 |
pirapira author:pirapira |
feat: grind and aesop annotations for ZMod |
This PR adds some `grind` and `aesop` annotations to `ZMod`.
This PR is not meant to annotate exhaustively. (That requires `guard` feature of `grind_pattern`, which is only available in nightly).
This work is produced as part of Italean 2025 project "improving automation". |
new-contributor |
8/6 |
Mathlib/Algebra/Group/Defs.lean,Mathlib/Data/ZMod/Basic.lean,Mathlib/Data/ZMod/ValMinAbs.lean,Mathlib/NumberTheory/LegendreSymbol/ZModChar.lean |
4 |
5 |
['euprunin', 'github-actions', 'pirapira'] |
nobody |
1-14811 1 day ago |
1-14811 1 day ago |
0-59377 16 hours |
| 25822 |
ScottCarnahan author:ScottCarnahan |
WIP: experiments with vertex algebras |
This is a testbed for various attempts at things. Please don't bother reviewing.
---
[](https://gitpod.io/from-referrer/)
---
*This PR continues the work from #25821.*
*Original PR: https://github.com/leanprover-community/mathlib4/pull/25821* |
WIP
large-import
|
7810/290 |
Mathlib.lean,Mathlib/Algebra/Lie/Basic.lean,Mathlib/Algebra/Lie/ChevalleyEilenberg.lean,Mathlib/Algebra/Lie/Cochain.lean,Mathlib/Algebra/Lie/Cocycle.lean,Mathlib/Algebra/Lie/Extension.lean,Mathlib/Algebra/Lie/Extension/CentralExtension.lean,Mathlib/Algebra/Lie/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/Finsupp/PointwiseSMul.lean,Mathlib/Data/FunLike/Equiv.lean,Mathlib/Data/Prod/RevLex.lean,Mathlib/Data/Set/SMulAntidiagonal.lean,Mathlib/GroupTheory/GroupAction/Equiv.lean,Mathlib/GroupTheory/GroupAction/Hom.lean,Mathlib/RingTheory/Binomial.lean,Mathlib/RingTheory/DividedPowers/Cauchy.lean,Mathlib/RingTheory/FormalSeries.lean,Mathlib/RingTheory/HahnSeries/Addition.lean,Mathlib/RingTheory/HahnSeries/Basic.lean,Mathlib/RingTheory/HahnSeries/Binomial.lean,Mathlib/RingTheory/HahnSeries/HEval.lean,Mathlib/RingTheory/HahnSeries/Multiplication.lean,Mathlib/RingTheory/HahnSeries/PowerSeries.lean,Mathlib/RingTheory/HahnSeries/Summable.lean,Mathlib/RingTheory/LaurentSeries.lean,Mathlib/RingTheory/PowerSeries/Binomial.lean,Mathlib/RingTheory/PowerSeries/Eval.lean |
40 |
n/a |
['github-actions', 'leanprover-community-bot-assistant', 'mathlib4-merge-conflict-bot'] |
nobody |
1-12823 1 day ago |
unknown |
unknown |
| 30526 |
SnirBroshi author:SnirBroshi |
chore(Logic/Relation): use `Subrelation` to state theorems |
chore(Logic/Relation): replace every `∀ x y, r x y → r' x y` with `Subrelation r r'`
---
[](https://gitpod.io/from-referrer/)
|
t-logic
awaiting-zulip
|
79/73 |
Mathlib/CategoryTheory/IsConnected.lean,Mathlib/CategoryTheory/Limits/Types/Coequalizers.lean,Mathlib/CategoryTheory/Limits/Types/Filtered.lean,Mathlib/Data/Setoid/Basic.lean,Mathlib/GroupTheory/FreeGroup/Basic.lean,Mathlib/Logic/Relation.lean,Mathlib/Order/Interval/Finset/Basic.lean |
7 |
5 |
['SnirBroshi', 'github-actions', 'mathlib4-merge-conflict-bot', 'thorimur', 'vihdzp'] |
thorimur assignee:thorimur |
1-12466 1 day ago |
1-12466 1 day ago |
8-76821 8 days |
| 32828 |
Hagb author:Hagb |
feat(Algebra/Order/Group/Defs): add `IsOrderedAddMonoid.toIsOrderedCancelAddMonoid'` |
It is similar to `IsOrderedAddMonoid.toIsOrderedCancelAddMonoid`, while with different hypotheses.
The conclusion `IsOrderedCancelMonoid α` on
`IsOrderedAddMonoid.toIsOrderedCancelAddMonoid` still holds when the hypothesis `CommGroup α` is weakened to `CancelCommMonoid α` while `PartialOrder α` is strengthened to `LinearOrder α`.
---
[`IsOrderedAddMonoid.toIsOrderedCancelAddMonoid`](https://leanprover-community.github.io/mathlib4_docs/find/?pattern=IsOrderedAddMonoid.toIsOrderedCancelAddMonoid#doc) and `IsOrderedAddMonoid.toIsOrderedCancelAddMonoid'`:
https://github.com/leanprover-community/mathlib4/blob/97f78b1a4311fed1844b94f1c069219a48a098e1/Mathlib/Algebra/Order/Group/Defs.lean#L52-L62
[](https://gitpod.io/from-referrer/)
|
t-algebra label:t-algebra$ |
4/0 |
Mathlib/Algebra/Order/Group/Defs.lean |
1 |
1 |
['github-actions'] |
nobody |
1-10253 1 day ago |
1-23285 1 day ago |
1-23316 1 day |
| 32794 |
YuvalFilmus author:YuvalFilmus |
feat(Arcosh): continuity, differentiability, bijectivity |
We show that arcosh is continuous, differentiable, and continuously differentiable infinitely many times.
We also show that cosh and arcosh are bijective, injective, and surjective.
All of these, on the respective domains.
---
[](https://gitpod.io/from-referrer/)
|
t-analysis |
106/2 |
Mathlib/Analysis/SpecialFunctions/Arcosh.lean,Mathlib/Analysis/SpecialFunctions/Arsinh.lean |
2 |
8 |
['SnirBroshi', 'YuvalFilmus', 'github-actions', 'metakunt'] |
nobody |
1-7678 1 day ago |
1-75576 1 day ago |
1-75613 1 day |
| 32831 |
urkud author:urkud |
refactor(Besicovitch): redefine `SatelliteConfig` |
---
[](https://gitpod.io/from-referrer/)
|
t-measure-probability |
76/104 |
Mathlib/MeasureTheory/Covering/Besicovitch.lean,Mathlib/MeasureTheory/Covering/BesicovitchVectorSpace.lean |
2 |
1 |
['github-actions'] |
nobody |
1-5402 1 day ago |
1-5402 1 day ago |
0-0 0 seconds |
| 32231 |
grunweg author:grunweg |
chore: use the to_fun attribute |
Reduce code duplication using the to_fun attribute.
This is not exhaustive, neither does it constitute an endorsement "we always want to generate the applied form of a lemma".
---
This may also want to wait until copying doc-strings is supported (to avoid regressions on that front),
and until the generated declaration is hoverable (for easier migration to the attribute).
- [x] depends on: #31872
[](https://gitpod.io/from-referrer/)
|
|
78/261 |
Mathlib/Analysis/Analytic/Constructions.lean,Mathlib/Analysis/Meromorphic/Basic.lean |
2 |
7 |
['JovanGerb', 'github-actions', 'grunweg', 'mathlib4-dependent-issues-bot', 'mathlib4-merge-conflict-bot'] |
joneugster assignee:joneugster |
1-4770 1 day ago |
3-40287 3 days ago |
12-5144 12 days |
| 32760 |
grunweg author:grunweg |
feat: inclusion of an open submanifold is an immersion |
---
[](https://gitpod.io/from-referrer/)
|
t-differential-geometry |
49/6 |
Mathlib/Geometry/Manifold/ChartedSpace.lean,Mathlib/Geometry/Manifold/Immersion.lean,Mathlib/Topology/OpenPartialHomeomorph/Constructions.lean |
3 |
3 |
['github-actions', 'grunweg'] |
nobody |
1-4021 1 day ago |
1-4026 1 day ago |
1-3999 1 day |
| 32837 |
erdOne author:erdOne |
feat(RingTheory): noetherian model for etale algebras |
---
[](https://gitpod.io/from-referrer/)
|
large-import
t-ring-theory
|
173/12 |
Mathlib/RingTheory/Extension/Presentation/Core.lean,Mathlib/RingTheory/Smooth/NoetherianDescent.lean |
2 |
1 |
['github-actions'] |
nobody |
1-345 1 day ago |
1-345 1 day ago |
1-383 1 day |
| 30344 |
Deep0Thinking author:Deep0Thinking |
feat(MeasureTheory/Integral): add versions of `exists_eq_interval_average` and first mean value theorem for integrals |
Add the First mean value theorem for (unordered) interval integrals on ℝ.
- `exists_eq_const_mul_interval_integral_of_continuous_on_of_ae_nonneg`
- `exists_eq_const_mul_interval_integral_of_continuous_on_of_nonneg`
---
[](https://gitpod.io/from-referrer/)
|
awaiting-author
t-measure-probability
new-contributor
|
294/41 |
Mathlib.lean,Mathlib/MeasureTheory/Integral/IntervalAverage.lean,Mathlib/MeasureTheory/Integral/IntervalIntegral/MeanValue.lean |
3 |
11 |
['Deep0Thinking', 'github-actions', 'mathlib4-merge-conflict-bot', 'plp127', 'sgouezel'] |
kex-y and sgouezel assignee:sgouezel assignee:kex-y |
1-38 1 day ago |
1-38 1 day ago |
60-6056 60 days |
| 28796 |
grunweg author:grunweg |
feat: immersions are smooth |
The conventional textbook definition demands that an immersion be smooth.
When asking for the immersion to have local slice charts (as we do), this implies smoothness automatically.
---
- [x] depends on: #28701
- [x] depends on: #28793
- [x] depends on: #30356
- [x] depends on: #28853 (for simplicity)
The lemma `contMDiffOn_writtenInExtend_iff` should be generalised to a `ContMDiffWithinAt` statement, from which the `ContMDiffOn` lemma is deduced. That generalisation is sufficiently painful that I'd prefer doing so in a separate PR (#32677).
[](https://gitpod.io/from-referrer/)
|
awaiting-author
t-differential-geometry
|
194/11 |
Mathlib/Analysis/Calculus/ContDiff/Basic.lean,Mathlib/Geometry/Manifold/ContMDiff/Atlas.lean,Mathlib/Geometry/Manifold/Immersion.lean,Mathlib/Geometry/Manifold/IsManifold/ExtChartAt.lean,Mathlib/Geometry/Manifold/LocalSourceTargetProperty.lean,docs/overview.yaml |
6 |
16 |
['chrisflav', 'github-actions', 'grunweg', 'mathlib4-dependent-issues-bot', 'mathlib4-merge-conflict-bot'] |
nobody |
0-84284 23 hours ago |
3-83132 3 days ago |
0-7354 2 hours |
| 31141 |
peabrainiac author:peabrainiac |
feat(Analysis/Calculus): parametric integrals over smooth functions are smooth |
Show that for any smooth function `f : H × ℝ → E`, the parametric integral `fun x ↦ ∫ t in a..b, f (x, t) ∂μ` is smooth too.
The argument proceeds inductively, using the fact that derivatives of parametric integrals can themselves be computed as parametric integrals. The necessary lemmas on derivatives of parametric integrals already existed, but took some work to apply due to their generality; we state some convenient special cases.
---
- [x] depends on: #31077
[](https://gitpod.io/from-referrer/)
|
awaiting-author
t-analysis
|
202/5 |
Mathlib/Analysis/Calculus/ParametricIntegral.lean,Mathlib/Analysis/Calculus/ParametricIntervalIntegral.lean,Mathlib/MeasureTheory/Integral/DominatedConvergence.lean,Mathlib/MeasureTheory/Integral/IntegrableOn.lean |
4 |
15 |
['github-actions', 'mathlib4-dependent-issues-bot', 'mathlib4-merge-conflict-bot', 'peabrainiac', 'sgouezel'] |
sgouezel assignee:sgouezel |
0-83240 23 hours ago |
0-83240 23 hours ago |
16-15819 16 days |
| 32684 |
Parcly-Taxel author:Parcly-Taxel |
feat: a simple unit-distance embedding of the Heawood graph |
Cf. [Zulip](https://leanprover.zulipchat.com/#narrow/channel/287929-mathlib4/topic/A.20simple.20unit-distance.20embedding.20of.20the.20Heawood.20graph/near/562930187). The embedding is depicted below, with vertex labels as in the formalisation.
I originally found it in August 2025 – see https://github.com/Parcly-Taxel/Shibuya/commit/b5c86cbf1c8b2e1211b160f266480e7115a7e43a.
 |
t-combinatorics |
330/0 |
Counterexamples.lean,Counterexamples/HeawoodUnitDistance.lean,Mathlib.lean,Mathlib/Combinatorics/SimpleGraph/UnitDistance/Basic.lean,docs/references.bib |
5 |
22 |
['Parcly-Taxel', 'SnirBroshi', 'alreadydone', 'b-mehta', 'github-actions'] |
nobody |
0-83032 23 hours ago |
3-83994 3 days ago |
3-84036 3 days |
| 32841 |
0xTerencePrime author:0xTerencePrime |
feat(Analysis/Normed/Group/Seminorm): define SupSet instances |
## Summary
This PR implements `SupSet` instances for `GroupSeminorm` and `NonarchAddGroupSeminorm`, enabling computation of suprema over sets of seminorms.
## Changes
- **`GroupSeminorm`**: Added `SupSet` instance. For bounded sets, returns pointwise supremum; for unbounded/empty sets, returns zero seminorm.
- **`NonarchAddGroupSeminorm`**: Added analogous `SupSet` instance.
- **`GroupNorm`**: Added explanatory comment explaining why `SupSet` is not implemented (no canonical bottom element for `sSup ∅`).
## Implementation Notes
The implementation handles:
- Bounded non-empty sets: `⨆ p : s, p.1 x`
- Empty sets: `Real.sSup_empty` gives 0
- Unbounded sets: Returns zero seminorm
For `GroupNorm`, the zero function is not a valid norm (fails definiteness `p(x) = 0 ↔ x = 1`), and while a discrete norm could work, its proofs are complex. This is left as future work.
## Related Issues
Addresses part of #7987
## Verification
- [x] `lake build Mathlib.Analysis.Normed.Group.Seminorm` passes
- [x] `lake exe runLinter Mathlib.Analysis.Normed.Group.Seminorm` passes
- [x] Full `lake build` passes |
t-analysis
new-contributor
|
90/5 |
Mathlib/Analysis/Normed/Group/Seminorm.lean |
1 |
1 |
['github-actions'] |
nobody |
0-82296 22 hours ago |
0-82296 22 hours ago |
0-82334 22 hours |
| 32585 |
CBirkbeck author:CBirkbeck |
E2 transformation |
We show how E2 transforms under the slash action of SL2.
---
- [ ] depends on : #32584
[](https://gitpod.io/from-referrer/)
|
large-import |
839/7 |
Mathlib.lean,Mathlib/Analysis/Complex/IntegerCompl.lean,Mathlib/Analysis/Complex/UpperHalfPlane/Basic.lean,Mathlib/NumberTheory/ModularForms/EisensteinSeries/E2/Defs.lean,Mathlib/NumberTheory/ModularForms/EisensteinSeries/E2/Summable.lean,Mathlib/NumberTheory/ModularForms/EisensteinSeries/E2/Transform.lean,Mathlib/NumberTheory/ModularForms/EisensteinSeries/Summable.lean,Mathlib/NumberTheory/ModularForms/Identities.lean,Mathlib/NumberTheory/TsumDivsorsAntidiagonal.lean,Mathlib/Topology/Algebra/InfiniteSum/NatInt.lean |
10 |
1 |
['github-actions'] |
nobody |
5-75389 5 days ago |
5-80939 5 days ago* |
0-0 0 seconds* |
| 32838 |
YaelDillies author:YaelDillies |
feat(Algebra): localising a torsion-free module at regular elements |
---
[](https://gitpod.io/from-referrer/)
|
t-algebra label:t-algebra$ |
28/1 |
Mathlib/Algebra/Module/LocalizedModule/Basic.lean |
1 |
1 |
['github-actions'] |
nobody |
0-79500 22 hours ago |
1-215 1 day ago |
1-244 1 day |
| 32712 |
erdOne author:erdOne |
feat(Logic/Equiv): `Option α × β ≃ β ⊕ α × β` |
---
[](https://gitpod.io/from-referrer/)
|
t-logic |
40/6 |
Mathlib/Logic/Equiv/Prod.lean |
1 |
2 |
['github-actions', 'vihdzp'] |
nobody |
0-79340 22 hours ago |
3-25823 3 days ago |
3-25863 3 days |
| 32584 |
CBirkbeck author:CBirkbeck |
feat(NumberTheory/EisensteinSeries/E2): Define the Eisenstein series E2 |
We define the Eisenstein series E2 and prove some basic results which will be needed in #32585 to prove how it transforms under the slash action of SL2.
---
[](https://gitpod.io/from-referrer/)
|
t-number-theory
maintainer-merge
large-import
|
224/5 |
Mathlib.lean,Mathlib/NumberTheory/ModularForms/EisensteinSeries/E2/Defs.lean,Mathlib/NumberTheory/ModularForms/EisensteinSeries/E2/Summable.lean,Mathlib/Topology/Algebra/InfiniteSum/ConditionalInt.lean |
4 |
25 |
['CBirkbeck', 'github-actions', 'loefflerd'] |
nobody |
0-78939 21 hours ago |
0-83213 23 hours ago |
4-2934 4 days |
| 32300 |
bjornsolheim author:bjornsolheim |
feat(Geometry/Convex/Cone): define and characterize generating convex cone |
Define the notion of a generating convex cone.
Prove some initial simple lemmas about generating cones.
---
[](https://gitpod.io/from-referrer/)
|
new-contributor
maintainer-merge
t-convex-geometry
|
90/0 |
Mathlib/Geometry/Convex/Cone/Basic.lean |
1 |
17 |
['bjornsolheim', 'github-actions', 'ocfnash'] |
nobody |
0-78651 21 hours ago |
0-78651 21 hours ago |
11-77304 11 days |
| 32843 |
YaelDillies author:YaelDillies |
chore(GroupTheory/Torsion): delete deprecated declarations |
These are on my way for #30563.
---
[](https://gitpod.io/from-referrer/)
|
t-group-theory |
0/135 |
Mathlib/GroupTheory/Torsion.lean |
1 |
1 |
['github-actions'] |
nobody |
0-78632 21 hours ago |
0-78638 21 hours ago |
0-78674 21 hours |
| 32254 |
YaelDillies author:YaelDillies |
feat(Algebra/MonoidAlgebra): complete the map API |
Add congruence isomorphisms in both the ring and monoid arguments. Move `mapRangeRingHom` from `Algebra.MonoidAlgebra.Lift` to `Algebra.MonoidAlgebra.MapDomain` and make its proofs additivisable (by not using `lift`). Make `mapDomainRingHom` take a `MonoidHom` rather than `MonoidHomClass`.
---
- [x] depends on: #32486
[](https://gitpod.io/from-referrer/)
|
t-algebra label:t-algebra$ |
236/118 |
Mathlib/Algebra/MonoidAlgebra/Basic.lean,Mathlib/Algebra/MonoidAlgebra/Lift.lean,Mathlib/Algebra/MonoidAlgebra/MapDomain.lean,Mathlib/Algebra/Polynomial/Laurent.lean,Mathlib/RingTheory/Polynomial/Opposites.lean |
5 |
25 |
['YaelDillies', 'eric-wieser', 'github-actions', 'jcommelin', 'mathlib4-dependent-issues-bot', 'mathlib4-merge-conflict-bot'] |
nobody |
0-78164 21 hours ago |
0-79934 22 hours ago |
7-73367 7 days |
| 32845 |
jonasvanderschaaf author:jonasvanderschaaf |
feat(CategoryTheory): Finite coproducts are preserved |
Yoneda preserves finite coproducts for certain subcanonical sites.
---
Co-authored-by: Dagur Asgeirsson
[](https://gitpod.io/from-referrer/)
|
new-contributor |
65/0 |
Mathlib/CategoryTheory/Sites/Coherent/PreservesCoproducts.lean,Mathlib/CategoryTheory/Sites/Subcanonical.lean,Mathlib/Condensed/Light/Functors.lean |
3 |
1 |
['github-actions'] |
nobody |
0-76157 21 hours ago |
0-76352 21 hours ago |
0-0 0 seconds |
| 32846 |
jonasvanderschaaf author:jonasvanderschaaf |
feat(CategoryTheory): Prove thin categories with finite/countable objects are countable |
Prove thin categories with finite/countable objects are countable.
---
[](https://gitpod.io/from-referrer/)
|
t-category-theory
new-contributor
large-import
|
8/1 |
Mathlib/CategoryTheory/Countable.lean,Mathlib/CategoryTheory/FinCategory/Basic.lean |
2 |
1 |
['github-actions'] |
nobody |
0-74903 20 hours ago |
0-74911 20 hours ago |
0-74945 20 hours |
| 7596 |
alreadydone author:alreadydone |
feat: covering maps from properly discontinuous actions and discrete subgroups |
---
- [x] depends on: #23236
- [x] depends on: #32681
- [x] depends on: #32693
- [x] depends on: #32691
[](https://gitpod.io/from-referrer/)
|
t-topology |
448/18 |
Mathlib.lean,Mathlib/Algebra/Group/Action/Pointwise/Set/Basic.lean,Mathlib/Algebra/Group/Submonoid/MulAction.lean,Mathlib/Analysis/SpecialFunctions/Complex/Circle.lean,Mathlib/GroupTheory/GroupAction/SubMulAction.lean,Mathlib/Tactic/Translate/ToAdditive.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/Quotient.lean,Mathlib/Topology/Instances/AddCircle/Defs.lean |
12 |
44 |
['ADedecker', 'alreadydone', 'digama0', 'github-actions', 'grunweg', 'leanprover-community-bot-assistant', 'mathlib4-dependent-issues-bot', 'mathlib4-merge-conflict-bot', 'ocfnash', 'tb65536'] |
ocfnash assignee:ocfnash |
0-74833 20 hours ago |
2-9465 2 days ago |
76-45455 76 days |
| 32603 |
themathqueen author:themathqueen |
chore(Algebra/Azumaya/Basic): clean up imports |
Follow-up to #28100.
---
[](https://gitpod.io/from-referrer/)
|
t-algebra label:t-algebra$ |
4/5 |
Mathlib/Algebra/Azumaya/Basic.lean |
1 |
1 |
['github-actions'] |
dagurtomas assignee:dagurtomas |
0-72687 20 hours ago |
5-51358 5 days ago |
5-51648 5 days |
| 32847 |
gasparattila author:gasparattila |
feat: `SetRel.(pre)image` of `iUnion` and `sUnion` |
---
[](https://gitpod.io/from-referrer/)
|
easy
t-data
|
12/0 |
Mathlib/Data/Rel.lean |
1 |
2 |
['gasparattila', 'github-actions'] |
nobody |
0-71754 19 hours ago |
0-71756 19 hours ago |
0-71794 19 hours |
| 32804 |
vihdzp author:vihdzp |
feat: more lemmas on `LinearOrderedAddCommGroupWithTop` |
---
[](https://gitpod.io/from-referrer/)
|
t-algebra label:t-algebra$ |
29/17 |
Mathlib/Algebra/Order/AddGroupWithTop.lean |
1 |
1 |
['github-actions', 'wwylele'] |
nobody |
0-71132 19 hours ago |
1-62426 1 day ago |
1-62463 1 day |
| 32830 |
loefflerd author:loefflerd |
refactor: use "@[to_fun]" to generate some lemmas |
---
[](https://gitpod.io/from-referrer/)
|
WIP |
82/262 |
Mathlib/Analysis/Analytic/Constructions.lean,Mathlib/Analysis/Calculus/Deriv/Add.lean,Mathlib/Analysis/Calculus/FDeriv/Add.lean,Mathlib/Probability/HasLaw.lean |
4 |
3 |
['github-actions', 'grunweg', 'loefflerd'] |
nobody |
0-70310 19 hours ago |
1-10871 1 day ago |
0-1 1 second |
| 28546 |
Sfgangloff author:Sfgangloff |
feat(SymbolicDynamics): basic setup of Zd, full shift, cylinders, pat… |
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).
|
awaiting-author
t-dynamics
new-contributor
|
750/1 |
Mathlib.lean,Mathlib/Dynamics/SymbolicDynamics/Basic.lean,Mathlib/Tactic/Translate/ToAdditive.lean |
3 |
153 |
['Sfgangloff', 'eric-wieser', 'github-actions', 'kckennylau', 'mathlib4-merge-conflict-bot', 'sgouezel'] |
sgouezel assignee:sgouezel |
0-69050 19 hours ago |
16-74046 16 days ago |
76-18097 76 days |
| 32832 |
0xTerencePrime author:0xTerencePrime |
fix(Order/Interval): simplify Ioo lemmas under DenselyOrdered + LocallyFinite |
## Summary
This PR addresses part of #7987 by simplifying lemmas that have contradictory assumptions (`DenselyOrdered` + `LocallyFiniteOrder`).
## Changes
### `Mathlib/Order/Interval/Finset/Basic.lean`
- Added `Ioo_eq_empty_of_denselyOrdered_of_locallyFinite` lemma
- Simplified `nonempty_Ioo` to `(Ioo a b).Nonempty ↔ False`
- Simplified `Ioo_eq_empty_iff` to `Ioo a b = ∅ ↔ True`
- Removed TODO comments
### `Mathlib/Order/Interval/Multiset.lean`
- Updated `Ioo_eq_zero_iff` to match new Finset semantics
- Fixed implicit argument inference in `Ico_filter_lt_*` lemmas
## Mathematical Background
A type cannot be both `DenselyOrdered` and `LocallyFiniteOrder` with distinct elements. The existing `not_lt_of_denselyOrdered_of_locallyFinite` proves `¬ a < b`, which this PR uses to simplify related lemmas.
## Verification
- [x] `lake build` passes (7741 jobs)
- [x] `lake exe runLinter` passes |
t-order
new-contributor
|
28/16 |
Mathlib/Order/Interval/Finset/Basic.lean,Mathlib/Order/Interval/Multiset.lean |
2 |
1 |
['github-actions'] |
nobody |
0-68721 19 hours ago |
1-4909 1 day ago |
1-4943 1 day |
| 32215 |
jonasvanderschaaf author:jonasvanderschaaf |
feat(ModelTheory/Types): Construct a topology on CompleteType and prove the space is TotallySeparated |
---
- [x] depends on: #32213
[](https://gitpod.io/from-referrer/)
|
awaiting-author
new-contributor
|
119/0 |
Mathlib.lean,Mathlib/ModelTheory/Topology/Types.lean,Mathlib/ModelTheory/Types.lean,Mathlib/Tactic/Linter/DirectoryDependency.lean,Mathlib/Topology/Compactness/Compact.lean |
5 |
8 |
['Vierkantor', 'github-actions', 'jonasvanderschaaf', 'mathlib4-dependent-issues-bot', 'plp127'] |
dagurtomas assignee:dagurtomas |
0-65749 18 hours ago |
2-65648 2 days ago |
7-5167 7 days |
| 29687 |
vihdzp author:vihdzp |
feat: standard part in non-Archimedean field |
We define `ArchimedeanClass.standardPart x` as the unique real number with an infinitesimal difference from `x`. This generalizes `Hyperreal.st` for a general (non-)archimedean field.
---
- [x] depends on: #29611
- [x] depends on: #29685
- [x] depends on: #29735
- [x] depends on: #30486
- [x] depends on: #32212
[](https://gitpod.io/from-referrer/)
|
t-algebra label:t-algebra$ |
320/1 |
Mathlib.lean,Mathlib/Algebra/Order/Ring/Archimedean.lean,Mathlib/Algebra/Order/Ring/StandardPart.lean,Mathlib/Order/Quotient.lean |
4 |
52 |
['YaelDillies', 'github-actions', 'mathlib4-dependent-issues-bot', 'mathlib4-merge-conflict-bot', 'plp127', 'vihdzp', 'wwylele'] |
joneugster assignee:joneugster |
0-65443 18 hours ago |
0-75742 21 hours ago |
11-54847 11 days |
| 31576 |
kim-em author:kim-em |
feat: in a semilocally simply connected, locally path-connected space, the quotient of paths by homotopy has the discrete topology |
This is closely related to, but not quite the same, as the quotient path space with fixed initial point being an even covering (under the endpoint map).
Depends on
- [ ] #31449
- [ ] #31525
- [x] #31574
- [ ] #31575.
Claude wrote most of the text, under my prompting.
|
|
1469/0 |
Mathlib.lean,Mathlib/AlgebraicTopology/FundamentalGroupoid/Basic.lean,Mathlib/AlgebraicTopology/FundamentalGroupoid/SemilocallySimplyConnected.lean,Mathlib/Topology/Connected/PathConnected.lean,Mathlib/Topology/Homotopy/Path.lean,Mathlib/Topology/Path.lean,Mathlib/Topology/UnitInterval.lean |
7 |
3 |
['github-actions', 'mathlib4-merge-conflict-bot'] |
nobody |
5-32161 5 days ago |
5-32183 5 days ago |
0-0 0 seconds |
| 32792 |
plp127 author:plp127 |
feat(Topology): uniformity has linearly ordered basis implies completely normal |
Prove if the uniformity has linearly ordered basis then the space is completely normal. Golf a proof, and reduce imports.
---
[](https://gitpod.io/from-referrer/)
|
t-topology |
45/17 |
Mathlib/MeasureTheory/Measure/Regular.lean,Mathlib/Topology/GDelta/MetrizableSpace.lean,Mathlib/Topology/UniformSpace/Separation.lean |
3 |
1 |
['github-actions'] |
nobody |
0-62022 17 hours ago |
1-83459 1 day ago |
1-83439 1 day |
| 31807 |
edegeltje author:edegeltje |
feat(CategoryTheory/Cat/Basic): Turning 1- and 2-morphisms in Cat into a 1-field structure |
This PR defines `Cat.Hom` and `Cat.Hom₂`, which are 1-field structures wrapping `Functor` and `NatTrans` respectively.
In addition, it changes the `Bicategory` instance for `Cat` to use these wrappers instead.
This PR adds such definitions as `NatTrans.toCatHom2`, `Cat.Hom.toFunctor`, `Cat.Hom₂.toNatTrans`, `Cat.Hom.isoMk` as well as simp lemmas for normalizing these to operations.
---
[](https://gitpod.io/from-referrer/)
|
t-category-theory |
737/596 |
Mathlib/Algebra/Category/ModuleCat/Pseudofunctor.lean,Mathlib/AlgebraicTopology/Quasicategory/StrictBicategory.lean,Mathlib/AlgebraicTopology/SimplicialSet/HomotopyCat.lean,Mathlib/AlgebraicTopology/SimplicialSet/Nerve.lean,Mathlib/AlgebraicTopology/SimplicialSet/NerveAdjunction.lean,Mathlib/CategoryTheory/Bicategory/CatEnriched.lean,Mathlib/CategoryTheory/Bicategory/Functor/Cat.lean,Mathlib/CategoryTheory/Bicategory/Grothendieck.lean,Mathlib/CategoryTheory/Category/Cat.lean,Mathlib/CategoryTheory/Category/Cat/Adjunction.lean,Mathlib/CategoryTheory/Category/Cat/AsSmall.lean,Mathlib/CategoryTheory/Category/Cat/CartesianClosed.lean,Mathlib/CategoryTheory/Category/Cat/Limit.lean,Mathlib/CategoryTheory/Category/Cat/Op.lean,Mathlib/CategoryTheory/Category/Cat/Terminal.lean,Mathlib/CategoryTheory/Category/Grpd.lean,Mathlib/CategoryTheory/Category/Quiv.lean,Mathlib/CategoryTheory/Category/ReflQuiv.lean,Mathlib/CategoryTheory/CodiscreteCategory.lean,Mathlib/CategoryTheory/Comma/Over/Basic.lean,Mathlib/CategoryTheory/Comma/StructuredArrow/Final.lean,Mathlib/CategoryTheory/Comma/StructuredArrow/Functor.lean,Mathlib/CategoryTheory/Elements.lean,Mathlib/CategoryTheory/FiberedCategory/Grothendieck.lean,Mathlib/CategoryTheory/Filtered/Grothendieck.lean,Mathlib/CategoryTheory/Functor/KanExtension/Adjunction.lean,Mathlib/CategoryTheory/Grothendieck.lean,Mathlib/CategoryTheory/Groupoid/FreeGroupoidOfCategory.lean,Mathlib/CategoryTheory/IsomorphismClasses.lean,Mathlib/CategoryTheory/Join/Pseudofunctor.lean,Mathlib/CategoryTheory/Limits/Final.lean,Mathlib/CategoryTheory/Limits/Shapes/Grothendieck.lean,Mathlib/CategoryTheory/Monoidal/Cartesian/Cat.lean,Mathlib/CategoryTheory/SingleObj.lean,Mathlib/CategoryTheory/Sites/Descent/DescentData.lean,Mathlib/CategoryTheory/Sites/Descent/IsPrestack.lean,Mathlib/CategoryTheory/Sites/PseudofunctorSheafOver.lean,Mathlib/CategoryTheory/WithTerminal/Basic.lean,Mathlib/Order/Category/Preord.lean,Mathlib/Tactic/CategoryTheory/ToApp.lean,MathlibTest/CategoryTheory/ToApp.lean |
41 |
51 |
['callesonne', 'dagurtomas', 'edegeltje', 'github-actions', 'joelriou', 'mathlib4-merge-conflict-bot'] |
erdOne assignee:erdOne |
0-61514 17 hours ago |
0-61515 17 hours ago |
14-46490 14 days |
| 32849 |
plp127 author:plp127 |
feat: `UniformSpace.subset_countable_closure_of_almost_dense_set` |
Add the new theorem `UniformSpace.subset_countable_closure_of_almost_dense_set` and golf the `PseudoEMetricSpace` version with it. Move some stuff around:
- `IsSeparable.exists_countable_dense_subset` and `IsSeparable.separableSpace` are generalized to pseudometrizable spaces and moved to `Metrizable/Basic`.
- `TotallyBounded.isSeparable` is moved to `UniformSpace/Cauchy`
- `EMetric.subset_countable_closure_of_almost_dense_set` is moved to `EMetric/Basic`
---
[](https://gitpod.io/from-referrer/)
|
t-topology |
93/89 |
Mathlib/Topology/EMetricSpace/Basic.lean,Mathlib/Topology/EMetricSpace/Defs.lean,Mathlib/Topology/MetricSpace/Pseudo/Basic.lean,Mathlib/Topology/Metrizable/Basic.lean,Mathlib/Topology/Metrizable/Uniformity.lean,Mathlib/Topology/UniformSpace/Basic.lean,Mathlib/Topology/UniformSpace/Cauchy.lean |
7 |
1 |
['github-actions'] |
nobody |
0-60276 16 hours ago |
0-60276 16 hours ago |
0-61208 17 hours |
| 32814 |
joelriou author:joelriou |
feat(Algebra/Homology): equivOfIsKInjective |
We construct a bijection `CohomologyClass K L n ≃ SmallShiftedHom.{w} (HomologicalComplex.quasiIso C (.up ℤ)) K L n` when `K` and `L` are cochain complexes, and `L` is `K`-injective, or `K` is `K`-projective.
---
[](https://gitpod.io/from-referrer/)
|
t-category-theory
large-import
|
96/5 |
Mathlib/Algebra/Homology/DerivedCategory/KInjective.lean,Mathlib/Algebra/Homology/DerivedCategory/KProjective.lean,Mathlib/Algebra/Homology/Embedding/IsSupported.lean,Mathlib/CategoryTheory/Abelian/Injective/Extend.lean,Mathlib/CategoryTheory/Abelian/Projective/Extend.lean |
5 |
5 |
['github-actions', 'joelriou', 'mathlib4-merge-conflict-bot', 'metakunt'] |
nobody |
0-58169 16 hours ago |
0-58193 16 hours ago |
1-40649 1 day |
| 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
---
- [x] depends on: #27520
- [x] depends on: #27538
- [x] depends on: #27510
- [x] depends on: #32472
[](https://gitpod.io/from-referrer/)
|
awaiting-author
large-import
t-ring-theory
|
123/0 |
Mathlib/Order/KrullDimension.lean,Mathlib/RingTheory/Ideal/Height.lean,Mathlib/RingTheory/KrullDimension/Polynomial.lean,Mathlib/RingTheory/Localization/AtPrime/Basic.lean |
4 |
n/a |
['erdOne', 'github-actions', 'mathlib4-dependent-issues-bot', 'mathlib4-merge-conflict-bot'] |
nobody |
0-56951 15 hours ago |
unknown |
unknown |
| 32835 |
vasnesterov author:vasnesterov |
fix(Tactic/Order): equal but not syntactically equal types |
When collecting atoms, `order` relies only on syntactic equality of types. This PR replaces this with defeq check and adds a test that failed before.
---
[](https://gitpod.io/from-referrer/)
|
bug
t-meta
|
18/1 |
Mathlib/Tactic/Order/CollectFacts.lean,MathlibTest/order.lean |
2 |
1 |
['artie2000', 'github-actions'] |
nobody |
0-56068 15 hours ago |
0-76083 21 hours ago |
0-76070 21 hours |
| 31505 |
dsfxcimk author:dsfxcimk |
feat: Add some oangle theorems |
Add several theorems relating oriented angles and affine independence / collinearity, together with auxiliary lemmas about the equality and sign of oriented angles.
Main additions
`oangle_ne_zero_and_ne_pi_iff_not_collinear`
– An oriented angle is neither `0` nor `π` if and only if the three points are not collinear.
`affineIndependent_iff_of_oangle_eq`
– If two oriented angles are equal, then the corresponding triples of points are affinely independent simultaneously.
`not_collinear_iff_of_angle_eq`
– If two oriented angles are equal, one triple is collinear if and only if the other is.
`oangle_eq_or_eq_neg_of_angle_eq`
– The oriented angles are equal or opposite if the unoriented angles are equal.
`angle_eq_neg_of_two_zsmul_angle_eq`
– If `2 • a = 2 • b` and the signs are opposite, then `a = b + π.`
`two_zsmul_eq_iff_eq`
– Characterizes equality of doubled angles when signs are equal.
`oangle_sub_oangle_ne_pi_of_not_collinear`
– If the signs of two oriented angles are equal and the points are not collinear, their difference is not `π`. |
t-euclidean-geometry
new-contributor
maintainer-merge
|
55/0 |
Mathlib/Analysis/SpecialFunctions/Trigonometric/Angle.lean,Mathlib/Geometry/Euclidean/Angle/Oriented/Affine.lean |
2 |
35 |
['dsfxcimk', 'github-actions', 'jsm28'] |
nobody |
0-55381 15 hours ago |
0-55381 15 hours ago |
3-65203 3 days |
| 32836 |
YaelDillies author:YaelDillies |
feat(Algebra): characterise when a submodule constructor is equal to `⊥` |
---
[](https://gitpod.io/from-referrer/)
|
awaiting-author
t-algebra
label:t-algebra$ |
32/1 |
Mathlib/Algebra/Group/Submonoid/Defs.lean,Mathlib/Algebra/Group/Subsemigroup/Defs.lean,Mathlib/Algebra/Module/Submodule/Lattice.lean |
3 |
7 |
['YaelDillies', 'erdOne', 'github-actions'] |
nobody |
0-54979 15 hours ago |
0-54979 15 hours ago |
0-32098 8 hours |
| 32703 |
chrisflav author:chrisflav |
chore(RingTheory): rename `RingHom.specComap` to `PrimeSpectrum.comap` |
and remove the old `PrimeSpectrum.comap`, which was `RingHom.specComap` bundled as a continuous map.
Having both `RingHom.specComap` and `PrimeSpectrum.comap` leads to two ways of writing the same thing, with every lemma written before the topology-on-`PrimeSpectrum`-barrier stated in terms of `RingHom.specComap` and most lemmas after it stated in terms of `PrimeSpectrum.comap`. Since the bundled continuous map version is not useful, because the topology library rarely takes continuous maps as input, we remove the bundled version, but keep the name `PrimeSpectrum.comap` for the unbundled one.
---
[](https://gitpod.io/from-referrer/)
|
maintainer-merge
t-ring-theory
|
195/182 |
Mathlib/AlgebraicGeometry/GammaSpecAdjunction.lean,Mathlib/AlgebraicGeometry/IdealSheaf/Basic.lean,Mathlib/AlgebraicGeometry/Morphisms/OpenImmersion.lean,Mathlib/AlgebraicGeometry/Morphisms/UniversallyClosed.lean,Mathlib/AlgebraicGeometry/Scheme.lean,Mathlib/AlgebraicGeometry/Spec.lean,Mathlib/AlgebraicGeometry/StructureSheaf.lean,Mathlib/RingTheory/Flat/FaithfullyFlat/Algebra.lean,Mathlib/RingTheory/Ideal/GoingDown.lean,Mathlib/RingTheory/Ideal/KrullsHeightTheorem.lean,Mathlib/RingTheory/KrullDimension/Polynomial.lean,Mathlib/RingTheory/LocalRing/ResidueField/Fiber.lean,Mathlib/RingTheory/RingHom/FaithfullyFlat.lean,Mathlib/RingTheory/Spectrum/Maximal/Localization.lean,Mathlib/RingTheory/Spectrum/Prime/Chevalley.lean,Mathlib/RingTheory/Spectrum/Prime/ChevalleyComplexity.lean,Mathlib/RingTheory/Spectrum/Prime/ConstructibleSet.lean,Mathlib/RingTheory/Spectrum/Prime/FreeLocus.lean,Mathlib/RingTheory/Spectrum/Prime/Homeomorph.lean,Mathlib/RingTheory/Spectrum/Prime/Polynomial.lean,Mathlib/RingTheory/Spectrum/Prime/RingHom.lean,Mathlib/RingTheory/Spectrum/Prime/TensorProduct.lean,Mathlib/RingTheory/Spectrum/Prime/Topology.lean,docs/1000.yaml |
24 |
9 |
['chrisflav', 'erdOne', 'github-actions', 'leanprover-radar'] |
nobody |
0-54727 15 hours ago |
0-54727 15 hours ago |
3-43656 3 days |
| 32801 |
Hagb author:Hagb |
feat(RingTheory/MvPolynomial/Ideal): `sPolynomial` preserves ideal membership |
It will be used by Buchberger's Criterion (in #29203).
---
[](https://gitpod.io/from-referrer/)
|
maintainer-merge
t-ring-theory
|
10/0 |
Mathlib/RingTheory/MvPolynomial/Ideal.lean |
1 |
2 |
['erdOne', 'github-actions'] |
nobody |
0-54504 15 hours ago |
0-54504 15 hours ago |
1-64429 1 day |
| 32479 |
WenrongZou author:WenrongZou |
feat(RingTheory/PowerSeries/Substitution): add `le_order_subst` |
I add a theorem saying multiplication of order less than the order of substitution. I tried to put at the file `PowerSeries.Order`, but it seems like in this file we already import `PowerSeries.Substitution`.
---
[](https://gitpod.io/from-referrer/)
|
new-contributor
maintainer-merge
t-ring-theory
|
71/0 |
Mathlib/RingTheory/MvPowerSeries/Substitution.lean,Mathlib/RingTheory/PowerSeries/Order.lean,Mathlib/RingTheory/PowerSeries/Substitution.lean |
3 |
22 |
['AntoineChambert-Loir', 'WenrongZou', 'erdOne', 'github-actions'] |
chrisflav assignee:chrisflav |
0-54044 15 hours ago |
0-54988 15 hours ago |
7-45455 7 days |
| 32559 |
WenrongZou author:WenrongZou |
feat(RingTheory/PowerSeries): toSubring and ofSubring for MvPowerSeries |
define MvPowerSeries.toSubring and MvPowerSeries.ofSubring, and prove their order and weighted order are equal. (same for PowerSeries.)
---
[](https://gitpod.io/from-referrer/)
|
new-contributor
t-ring-theory
|
71/0 |
Mathlib/RingTheory/MvPowerSeries/Basic.lean,Mathlib/RingTheory/MvPowerSeries/Order.lean,Mathlib/RingTheory/PowerSeries/Basic.lean,Mathlib/RingTheory/PowerSeries/Order.lean |
4 |
8 |
['WenrongZou', 'erdOne', 'github-actions'] |
mariainesdff assignee:mariainesdff |
0-53212 14 hours ago |
0-53225 14 hours ago |
6-45308 6 days |
| 31013 |
vihdzp author:vihdzp |
chore: deprecate `AsLinearOrder` |
This goes back to Lean 3 (https://github.com/leanprover-community/mathlib3/pull/4037). It was used to prove two results about "linearly ordered lattices" [`le_sup_iff`](https://leanprover-community.github.io/mathlib4_docs/Mathlib/Order/Lattice.html#le_sup_iff) and [`inf_le_iff`](https://leanprover-community.github.io/mathlib4_docs/Mathlib/Order/Lattice.html#inf_le_iff) which have long since been turned into theorems on linear orders. The proper way to deal with a totally ordered partial order is to just write a `LinearOrder` instance, so there is no need for this.
---
See some brief [Zulip](https://leanprover.zulipchat.com/#narrow/channel/287929-mathlib4/topic/AsLinearOrder/near/547525036) discussion.
[](https://gitpod.io/from-referrer/)
|
t-order |
7/5 |
Mathlib/Order/Basic.lean |
1 |
3 |
['artie2000', 'github-actions', 'j-loreaux', 'urkud'] |
bryangingechen assignee:bryangingechen |
0-51567 14 hours ago |
9-7864 9 days ago |
9-11134 9 days |
| 32242 |
vihdzp author:vihdzp |
feat: missing instances for `OrderDual`/`Lex`/`Colex` |
---
The `Nonempty` and `Inhabited` instances for `OrderDual` exist in `Order.Basic` already.
[](https://gitpod.io/from-referrer/)
|
t-order |
12/14 |
Mathlib/Order/Synonym.lean |
1 |
2 |
['artie2000', 'github-actions', 'mathlib4-merge-conflict-bot'] |
pechersky assignee:pechersky |
0-50978 14 hours ago |
7-45901 7 days ago |
10-15440 10 days |
| 32852 |
artie2000 author:artie2000 |
refactor(Algebra): Generalise `support` from `Subsemiring` to `AddSubmonoid` |
* Generalise `support(Add)Subgroup`, `support` and `HasIdealSupport` from `Subsemiring` to `(Add)Submonoid`, moving the material to a new file
* Add documentation about supports
* Renamed declarations were not deprecated as the syntax for accessing them throughdot notation remains identical
This PR is one in a series for unbundling `RingCone` and `RingPreordering`
---
[](https://gitpod.io/from-referrer/)
|
t-algebra label:t-algebra$ |
147/66 |
Mathlib.lean,Mathlib/Algebra/Group/Submonoid/Support.lean,Mathlib/Algebra/Order/Ring/Ordering/Basic.lean,Mathlib/Algebra/Order/Ring/Ordering/Defs.lean |
4 |
1 |
['github-actions'] |
nobody |
0-49635 13 hours ago |
0-51838 14 hours ago |
0-51871 14 hours |
| 32789 |
harahu author:harahu |
doc(RingTheory): fix typos |
Typos found and fixed by Codex.
---
[](https://gitpod.io/from-referrer/)
|
maintainer-merge
t-ring-theory
|
29/30 |
Mathlib/RingTheory/AdicCompletion/AsTensorProduct.lean,Mathlib/RingTheory/AdicCompletion/Basic.lean,Mathlib/RingTheory/AdicCompletion/RingHom.lean,Mathlib/RingTheory/Conductor.lean,Mathlib/RingTheory/Congruence/Hom.lean,Mathlib/RingTheory/DedekindDomain/Factorization.lean,Mathlib/RingTheory/DividedPowers/Basic.lean,Mathlib/RingTheory/Etale/StandardEtale.lean,Mathlib/RingTheory/Extension/Generators.lean,Mathlib/RingTheory/Extension/Presentation/Basic.lean,Mathlib/RingTheory/FiniteType.lean,Mathlib/RingTheory/Flat/Basic.lean,Mathlib/RingTheory/Ideal/Over.lean,Mathlib/RingTheory/Ideal/Quotient/Operations.lean,Mathlib/RingTheory/Localization/LocalizationLocalization.lean,Mathlib/RingTheory/MvPolynomial/MonomialOrder.lean,Mathlib/RingTheory/MvPowerSeries/Trunc.lean,Mathlib/RingTheory/NonUnitalSubring/Basic.lean,Mathlib/RingTheory/NonUnitalSubsemiring/Basic.lean,Mathlib/RingTheory/Polynomial/Cyclotomic/Basic.lean,Mathlib/RingTheory/SimpleRing/Congr.lean,Mathlib/RingTheory/Valuation/Basic.lean,Mathlib/RingTheory/Valuation/ValuativeRel/Basic.lean |
23 |
4 |
['erdOne', 'github-actions', 'harahu'] |
nobody |
0-48823 13 hours ago |
0-48823 13 hours ago |
2-1000 2 days |
| 32492 |
bjornsolheim author:bjornsolheim |
feat(LinearAlgebra/TensorProduct): explicit tensor product decomposition in a finite basis |
* Given a finite basis `ℬ` for `M`, any tensor `x ∈ M ⊗ N` decomposes as `∑ᵢ ℬᵢ ⊗ₜ nᵢ`
where the `N`-component `nᵢ` is obtained by applying `ℬ.coord i ⊗ id` to `x` and then
identifying `R ⊗ N ≃ N` via `lid`.
* Similarly for the right hand tensor product component version.
---
[](https://gitpod.io/from-referrer/)
|
t-algebra
new-contributor
label:t-algebra$ |
20/0 |
Mathlib/LinearAlgebra/TensorProduct/Basis.lean |
1 |
16 |
['bjornsolheim', 'erdOne', 'github-actions', 'robin-carlier', 'themathqueen'] |
erdOne assignee:erdOne |
0-56965 15 hours ago |
1-44715 1 day ago |
7-82632 7 days |
| 31161 |
AntoineChambert-Loir author:AntoineChambert-Loir |
feat(RingTheory/MvPolynomial/IrrQuadratic): irreducibility of sum X_i Y_i |
The quadratic polynomial $$\sum_i c_i X_i Y_i$$ is irreducible, provided the following three conditions holds:
* the ground ring is a domain
* there are at least 2 nonzero $$c_i$$
* only units of $$R$$ divide all $$c_i$$.
This was used in the initial proof that the transvections have determinant 1. Now,
a more general result is proved there and this PR is no more needed.
I believe that it remains of independent interest (irreducibility of quadrics in algebraic geometry) but the maintainers might want that the general one.
---
- [x] depends on: #32226
[](https://gitpod.io/from-referrer/)
|
awaiting-author
t-ring-theory
|
315/3 |
Mathlib.lean,Mathlib/Algebra/MvPolynomial/Equiv.lean,Mathlib/Algebra/Polynomial/RingDivision.lean,Mathlib/Data/Finsupp/Defs.lean,Mathlib/Logic/Nontrivial/Defs.lean,Mathlib/RingTheory/MvPolynomial/IrreducibleQuadratic.lean,Mathlib/RingTheory/MvPolynomial/MonomialOrder/DegLex.lean,Mathlib/RingTheory/Polynomial/Nilpotent.lean |
8 |
58 |
['AntoineChambert-Loir', 'erdOne', 'github-actions', 'jcommelin', 'joelriou', 'mathlib4-dependent-issues-bot', 'mathlib4-merge-conflict-bot', 'ocfnash'] |
joelriou assignee:joelriou |
0-47267 13 hours ago |
0-47267 13 hours ago |
33-4712 33 days |
| 32671 |
themathqueen author:themathqueen |
chore(LinearAlgebra/GeneralLinearGroup/AlgEquiv): slightly generalize |
Also adds `trace (f x) = trace x` and `det (f x) = det x` for (star-)algebra equivalence `f`.
---
[](https://gitpod.io/from-referrer/)
|
t-algebra label:t-algebra$ |
61/17 |
Mathlib/LinearAlgebra/Determinant.lean,Mathlib/LinearAlgebra/GeneralLinearGroup/AlgEquiv.lean,Mathlib/LinearAlgebra/Trace.lean |
3 |
5 |
['erdOne', 'github-actions', 'themathqueen'] |
nobody |
0-47046 13 hours ago |
0-76163 21 hours ago |
4-17940 4 days |
| 32854 |
themathqueen author:themathqueen |
chore(LinearAlgebra/TensorProduct/Basic): some API for `lTensor` and `rTensor` |
---
This came up during review of #32492.
[](https://gitpod.io/from-referrer/)
|
t-algebra label:t-algebra$ |
18/0 |
Mathlib/LinearAlgebra/TensorProduct/Basic.lean |
1 |
1 |
['github-actions'] |
nobody |
0-46673 12 hours ago |
0-49201 13 hours ago |
0-49236 13 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.
---
- [x] depends on: #26457
- [x] depends on: #26282
- [x] depends on: #26281
- [x] depends on: #26280
- [x] depends on: #26279
[](https://gitpod.io/from-referrer/)
|
t-group-theory |
527/145 |
Mathlib.lean,Mathlib/Data/Set/Card.lean,Mathlib/GroupTheory/GroupAction/MultiplePrimitivity.lean,Mathlib/GroupTheory/GroupAction/MultipleTransitivity.lean,Mathlib/GroupTheory/Perm/MaximalSubgroups.lean,Mathlib/GroupTheory/SpecificGroups/Alternating.lean,Mathlib/GroupTheory/SpecificGroups/Alternating/MaximalSubgroups.lean |
7 |
n/a |
['AntoineChambert-Loir', 'adomani', 'github-actions', 'leanprover-community-bot-assistant', 'mathlib4-dependent-issues-bot', 'mathlib4-merge-conflict-bot', 'tb65536'] |
tb65536 assignee:tb65536 |
0-46221 12 hours ago |
unknown |
unknown |
| 32787 |
Hagb author:Hagb |
feat(RingTheory/MvPolynomial/MonomialOrder): add several lemmas about `leadingTerm` and inequality on degree |
Some of them were abstracted from a proof of Buchberger's Criterion (#29203).
---
[](https://gitpod.io/from-referrer/)
|
maintainer-merge
t-ring-theory
|
34/0 |
Mathlib/RingTheory/MvPolynomial/MonomialOrder.lean |
1 |
3 |
['erdOne', 'github-actions'] |
nobody |
0-46093 12 hours ago |
0-46093 12 hours ago |
2-2847 2 days |
| 32306 |
plp127 author:plp127 |
fix(depRewrite): make `rw!` cleanup casts correctly |
The tactic `rw!` runs a round of `dsimp` with a minimal configuration, intended to cleanup casts. This minimal configuration is not always enough to fully reduce the casts, and may have other side effects. This PR reimplements the cast cleanup in a way not involving `dsimp` that will fully reduce casts introduced by depRewrite and will not touch other parts of the expression.
---
[](https://gitpod.io/from-referrer/)
|
t-meta |
140/51 |
Mathlib/Tactic/DepRewrite.lean,MathlibTest/depRewrite.lean |
2 |
6 |
['Vtec234', 'adamtopaz', 'github-actions'] |
adamtopaz assignee:adamtopaz |
0-81487 22 hours ago |
12-75843 12 days ago |
12-75826 12 days |
| 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
[](https://gitpod.io/from-referrer/)
|
blocked-by-other-PR
large-import
t-ring-theory
|
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 |
115-85849 3 months ago |
131-3099 4 months ago |
0-1757 29 minutes |
| 32857 |
gasparattila author:gasparattila |
feat: isometric equivalences of `WithLp` products |
This PR adds several equivalences of type `IsometryEquiv` and `LinearIsometryEquiv` for `WithLp p (_ × _)`, including commutativity, associativity and identity.
---
[](https://gitpod.io/from-referrer/)
|
|
167/2 |
Mathlib/Algebra/Group/Prod.lean,Mathlib/Analysis/Normed/Lp/ProdLp.lean,Mathlib/Topology/MetricSpace/Isometry.lean |
3 |
2 |
['gasparattila', 'github-actions'] |
nobody |
0-43102 11 hours ago |
0-43205 11 hours ago |
0-43178 11 hours |
| 30047 |
ooovi author:ooovi |
feat(Combinatorics/SimpleGraph): edge labellings |
Add edge labellings for `SimpleGraph` as well as some basic lemmata.
---
This is mostly a cleaned up part of @b-mehta's lean4 port of their [formalisation of an exponentially better upper bound on Ramsey numbers ](https://github.com/b-mehta/ExponentialRamsey/). I need these definitions for another project on Ramsey theory.
[](https://gitpod.io/from-referrer/)
|
delegated
t-combinatorics
|
232/3 |
Mathlib.lean,Mathlib/Combinatorics/SimpleGraph/Basic.lean,Mathlib/Combinatorics/SimpleGraph/EdgeLabeling.lean,Mathlib/Combinatorics/SimpleGraph/Regularity/Increment.lean,Mathlib/Combinatorics/SimpleGraph/Triangle/Counting.lean,Mathlib/Data/Sym/Sym2.lean |
6 |
80 |
['SnirBroshi', 'YaelDillies', 'b-mehta', 'github-actions', 'grunweg', 'mathlib-bors', 'mathlib4-merge-conflict-bot', 'ocfnash', 'ooovi', 'vlad902'] |
b-mehta and ocfnash assignee:ocfnash assignee:b-mehta |
0-42598 11 hours ago |
1-60275 1 day ago |
34-83940 34 days |
| 29257 |
harahu author:harahu |
doc: attach "pre", "pseudo", "semi" and "sub" as a prefixes where they are now free-standing |
These are all examples of [bound morphemes](https://en.wikipedia.org/wiki/Bound_and_free_morphemes) and should be attached, either in closed form or by hyphen, to some other construct.
Whether to write the resulting words in closed form or with a hyphen is a stylistic choice and I am open to discussing the specifics, should that be of interest. I've made choices based on existing literature and what I personally found natural, but other opinions are welcome.
---
[](https://gitpod.io/from-referrer/)
|
t-meta |
27/27 |
Mathlib/Algebra/Star/NonUnitalSubsemiring.lean,Mathlib/MeasureTheory/Measure/Regular.lean,Mathlib/Topology/EMetricSpace/Basic.lean,Mathlib/Topology/EMetricSpace/Defs.lean,Mathlib/Topology/MetricSpace/IsometricSMul.lean,Mathlib/Topology/MetricSpace/ThickenedIndicator.lean,Mathlib/Topology/MetricSpace/Thickening.lean,Mathlib/Topology/Metrizable/Uniformity.lean,scripts/autolabel.lean |
9 |
8 |
['euprunin', 'github-actions', 'harahu', 'mathlib4-merge-conflict-bot'] |
nobody |
0-40659 11 hours ago |
2-50566 2 days ago |
0-0 0 seconds |
| 32664 |
harahu author:harahu |
doc: fix articles a/an |
Use the correct article “an” before certain single-letter code terms that are pronounced with a vowel (`N`, `R`, `S`, `n` and `r`).
---
[](https://gitpod.io/from-referrer/)
|
|
73/72 |
Mathlib/Algebra/Algebra/Operations.lean,Mathlib/Algebra/Category/ModuleCat/ChangeOfRings.lean,Mathlib/Algebra/Category/ModuleCat/LeftResolution.lean,Mathlib/Algebra/CharP/LinearMaps.lean,Mathlib/Algebra/Homology/DerivedCategory/Ext/Linear.lean,Mathlib/Algebra/Homology/ShortComplex/Linear.lean,Mathlib/Algebra/Module/FinitePresentation.lean,Mathlib/Algebra/Module/Presentation/Differentials.lean,Mathlib/Algebra/Module/Torsion/Basic.lean,Mathlib/Algebra/Module/Torsion/Free.lean,Mathlib/Algebra/MvPolynomial/Basic.lean,Mathlib/Algebra/Polynomial/Module/AEval.lean,Mathlib/AlgebraicGeometry/Over.lean,Mathlib/AlgebraicGeometry/RationalMap.lean,Mathlib/AlgebraicGeometry/SpreadingOut.lean,Mathlib/AlgebraicTopology/SimplicialSet/StrictSegal.lean,Mathlib/Analysis/Convex/Cone/Basic.lean,Mathlib/CategoryTheory/Center/Linear.lean,Mathlib/CategoryTheory/Localization/Linear.lean,Mathlib/CategoryTheory/Quotient/Linear.lean,Mathlib/Combinatorics/SimpleGraph/ConcreteColorings.lean,Mathlib/Data/Fin/Tuple/Take.lean,Mathlib/Data/Rel/Separated.lean,Mathlib/FieldTheory/KummerExtension.lean,Mathlib/FieldTheory/Minpoly/IsConjRoot.lean,Mathlib/Geometry/Convex/Cone/Basic.lean,Mathlib/NumberTheory/Cyclotomic/PrimitiveRoots.lean,Mathlib/NumberTheory/NumberField/Cyclotomic/Basic.lean,Mathlib/NumberTheory/NumberField/Cyclotomic/Embeddings.lean,Mathlib/RingTheory/Bialgebra/Basic.lean,Mathlib/RingTheory/Extension/Generators.lean,Mathlib/RingTheory/FilteredAlgebra/Basic.lean,Mathlib/RingTheory/Flat/Basic.lean,Mathlib/RingTheory/Kaehler/Basic.lean,Mathlib/RingTheory/KrullDimension/Module.lean,Mathlib/RingTheory/LaurentSeries.lean,Mathlib/RingTheory/Localization/NormTrace.lean,Mathlib/RingTheory/PicardGroup.lean,Mathlib/RingTheory/PolynomialLaw/Basic.lean,Mathlib/RingTheory/TensorProduct/Free.lean,Mathlib/RingTheory/Unramified/Finite.lean |
41 |
6 |
['github-actions', 'harahu', 'plp127', 'vihdzp'] |
JovanGerb assignee:JovanGerb |
1-33927 1 day ago |
4-40081 4 days ago |
4-40681 4 days |
| 32692 |
WilliamCoram author:WilliamCoram |
feat: define multivariate restricted power series |
We define multivariate restricted power series over a normed ring R, and show the properties that they form a ring when R has the ultrametric property.
This work generalises my previous work in #26089 which will need to be refactored.
---
[](https://gitpod.io/from-referrer/)
|
awaiting-author
t-number-theory
new-contributor
t-ring-theory
|
208/0 |
Mathlib.lean,Mathlib/RingTheory/MvPowerSeries/Restricted.lean |
2 |
11 |
['WilliamCoram', 'erdOne', 'github-actions'] |
nobody |
0-40133 11 hours ago |
0-40133 11 hours ago |
3-33718 3 days |
| 26483 |
metakunt author:metakunt |
feat(RingTheory/RootsOfUnity/PrimitiveRoots): add equivPrimitiveRootsOfCoprimePow |
Adds equivalence of r-th primitive roots by a coprime e. |
awaiting-author
new-contributor
t-ring-theory
|
38/0 |
Mathlib/RingTheory/RootsOfUnity/PrimitiveRoots.lean |
1 |
30 |
['Citronhat', 'Ruben-VandeVelde', 'erdOne', 'github-actions', 'metakunt'] |
erdOne assignee:erdOne |
0-40068 11 hours ago |
0-40068 11 hours ago |
35-3811 35 days |
| 32640 |
vihdzp author:vihdzp |
feat: cardinality of Hahn series |
This is a very preliminary development; most of the PR is really just lemmas about `HahnSeries.support`. This will be needed in the CGT repo, to define surreal Hahn series as the subfield of real, small Hahn series over their own order dual.
---
[](https://gitpod.io/from-referrer/)
|
t-algebra
maintainer-merge
t-ring-theory
label:t-algebra$ |
148/35 |
Mathlib.lean,Mathlib/RingTheory/HahnSeries/Addition.lean,Mathlib/RingTheory/HahnSeries/Basic.lean,Mathlib/RingTheory/HahnSeries/Cardinal.lean,Mathlib/RingTheory/HahnSeries/Multiplication.lean,Mathlib/RingTheory/HahnSeries/Summable.lean |
6 |
8 |
['erdOne', 'github-actions', 'mathlib4-merge-conflict-bot', 'vihdzp', 'wwylele'] |
nobody |
0-39724 11 hours ago |
0-39724 11 hours ago |
4-67083 4 days |
| 32788 |
Hagb author:Hagb |
feat(RingTheory/MvPolynomial/MonomialOrder): add some variants of `sPolynomial_mul_monomial` |
This commit adds a variant `sPolynomial_mul_monomial'`, using `m.degree (monomial d c * p)` instead of `d + m.degree p`, which are different in the edge case that one of `c` and `p` is 0.
A pair of variants about `leadingTerm` instead of `monomial` are also added.
---
[](https://gitpod.io/from-referrer/)
|
maintainer-merge
t-ring-theory
|
30/0 |
Mathlib/RingTheory/MvPolynomial/MonomialOrder.lean |
1 |
3 |
['erdOne', 'github-actions'] |
nobody |
0-39629 11 hours ago |
0-39629 11 hours ago |
2-1958 2 days |
| 32118 |
alreadydone author:alreadydone |
feat(Algebra): prerequisites for #31919 |
+ Extract a lemma `exists_aeval_invOf_eq_zero_of_ideal_map_adjoin_add_span_eq_top` that was used in the proof of [stacks#00IB](https://stacks.math.columbia.edu/tag/00IB) and are used to prove both parts of [stacks#090P](https://stacks.math.columbia.edu/tag/090P)
+ Add lemmas on units in a submonoid of a DivisionMonoid/Group(WithZero)
+ Add instances for `integralClosure` and API for integrally closed subrings
+ Add a lemma on `trailingCoeff` of polynomials
+ Fix a statement in `local_hom_TFAE` and rename to `isLocalHom_tfae`
+ Unify the instances `Algebra.ofSubsemiring` and `Algebra.ofSubring`
+ Move `NonUnitalSub(semi)ringClass` instance on `Ideal` to from Ideal/Operations to Defs
+ Upgrade `ValuationSubring.nonunits` from `Subsemigroup` to `NonUnitalSubring`
---
[](https://gitpod.io/from-referrer/)
|
t-algebra
maintainer-merge
t-ring-theory
label:t-algebra$ |
161/39 |
Mathlib/Algebra/Algebra/Basic.lean,Mathlib/Algebra/Polynomial/Degree/TrailingDegree.lean,Mathlib/NumberTheory/Padics/PadicIntegers.lean,Mathlib/RingTheory/Ideal/Nonunits.lean,Mathlib/RingTheory/IntegralClosure/IntegrallyClosed.lean,Mathlib/RingTheory/LocalRing/LocalSubring.lean,Mathlib/RingTheory/LocalRing/RingHom/Basic.lean,Mathlib/RingTheory/Polynomial/Basic.lean,Mathlib/RingTheory/Polynomial/Ideal.lean,Mathlib/RingTheory/Valuation/AlgebraInstances.lean,Mathlib/RingTheory/Valuation/Integers.lean,Mathlib/RingTheory/Valuation/ValuationSubring.lean |
12 |
39 |
['alreadydone', 'erdOne', 'github-actions', 'jcommelin', 'leanprover-bot', 'leanprover-community-mathlib4-bot', 'leanprover-radar'] |
mattrobball assignee:mattrobball |
0-39333 10 hours ago |
0-39333 10 hours ago |
10-43496 10 days |
| 32116 |
LessnessRandomness author:LessnessRandomness |
feat(Geometry/Euclidean/Angle/Unoriented/TriangleInequality): Add criterion for equality case |
The PR fills `proof_wanted` in the file `TriangleInequality.lean` (criterion for equality in the triangle inequality for angles).
---
- [x] depends on: #32100
[](https://gitpod.io/from-referrer/)
|
awaiting-author
t-euclidean-geometry
|
137/33 |
Mathlib/Geometry/Euclidean/Angle/Unoriented/TriangleInequality.lean |
1 |
28 |
['JovanGerb', 'LessnessRandomness', 'Ruben-VandeVelde', 'github-actions', 'mathlib4-dependent-issues-bot', 'mathlib4-merge-conflict-bot', 'themathqueen'] |
jsm28 assignee:jsm28 |
1-69143 1 day ago |
2-47861 2 days ago |
13-38208 13 days |
| 32774 |
Hagb author:Hagb |
feat(Algebra/GroupWithZero/NonZeroDivisors): add a lemma about product |
Product of non-zero divisors is also a non-zero divisors.
It's similar with `IsRegular.prod`, while requiring non-zero divisors instead of regular elements.
---
`IsRegular.prod`:
https://github.com/leanprover-community/mathlib4/blob/c671bc4215d64bd9cc8a84fdec9a12bd33fdcd26/Mathlib/Algebra/Regular/Pow.lean#L36-L37
[](https://gitpod.io/from-referrer/)
|
t-algebra
large-import
label:t-algebra$ |
6/0 |
Mathlib/Algebra/GroupWithZero/NonZeroDivisors.lean |
1 |
1 |
['github-actions'] |
nobody |
0-38605 10 hours ago |
2-15292 2 days ago |
2-15344 2 days |
| 32855 |
harahu author:harahu |
doc: fix file references |
This PR fixes some defective file references. I've verified that all the updated references are pointing to files that existed when this PR was created. I don't make any promises in terms of the files still containing what they are claimed to contain in the relevant context.
---
[](https://gitpod.io/from-referrer/)
|
|
55/51 |
Archive/Examples/MersennePrimes.lean,Mathlib/Algebra/Polynomial/Eval/Algebra.lean,Mathlib/AlgebraicGeometry/ProjectiveSpectrum/Basic.lean,Mathlib/AlgebraicGeometry/ProjectiveSpectrum/Scheme.lean,Mathlib/Analysis/Calculus/FDeriv/Add.lean,Mathlib/Analysis/Calculus/FDeriv/Comp.lean,Mathlib/Analysis/Calculus/FDeriv/Equiv.lean,Mathlib/Analysis/Calculus/FDeriv/Linear.lean,Mathlib/Analysis/Calculus/FDeriv/Prod.lean,Mathlib/Analysis/Calculus/FDeriv/RestrictScalars.lean,Mathlib/Analysis/Calculus/FDeriv/Star.lean,Mathlib/CategoryTheory/EffectiveEpi/Basic.lean,Mathlib/CategoryTheory/Limits/ConeCategory.lean,Mathlib/CategoryTheory/Limits/HasLimits.lean,Mathlib/CategoryTheory/Limits/Preserves/Finite.lean,Mathlib/CategoryTheory/Limits/Shapes/Equalizers.lean,Mathlib/CategoryTheory/Limits/Shapes/Kernels.lean,Mathlib/CategoryTheory/Sites/Coherent/SheafComparison.lean,Mathlib/Data/Finsupp/Option.lean,Mathlib/Data/Matrix/Invertible.lean,Mathlib/GroupTheory/GroupExtension/Defs.lean,Mathlib/LinearAlgebra/Dimension/RankNullity.lean,Mathlib/LinearAlgebra/Matrix/GeneralLinearGroup/Basic.lean,Mathlib/LinearAlgebra/Trace.lean,Mathlib/MeasureTheory/Measure/GiryMonad.lean,Mathlib/NumberTheory/LucasLehmer.lean,Mathlib/Probability/Independence/Conditional.lean,Mathlib/Probability/Kernel/CondDistrib.lean,Mathlib/RepresentationTheory/Homological/GroupCohomology/LowDegree.lean,Mathlib/RepresentationTheory/Homological/GroupCohomology/Shapiro.lean,Mathlib/RepresentationTheory/Homological/Resolution.lean,Mathlib/RingTheory/AlgebraTower.lean,Mathlib/RingTheory/Spectrum/Prime/TensorProduct.lean,Mathlib/SetTheory/Cardinal/Arithmetic.lean,Mathlib/Tactic/Linter/TextBased.lean,Mathlib/Tactic/SetLike.lean,Mathlib/Topology/Instances/Matrix.lean,Mathlib/Topology/Sheaves/SheafOfFunctions.lean,MathlibTest/FieldSimp.lean |
39 |
1 |
['github-actions'] |
nobody |
0-38151 10 hours ago |
0-47699 13 hours ago |
0-47672 13 hours |
| 32555 |
ksenono author:ksenono |
feat(Combinatorics/SimpleGraph/Matching): maximum and maximal matchings for Konig's theorem |
---
[](https://gitpod.io/from-referrer/)
|
t-combinatorics
new-contributor
|
63/0 |
Mathlib/Combinatorics/SimpleGraph/Matching.lean |
1 |
8 |
['SnirBroshi', 'github-actions', 'ksenono'] |
awainverse assignee:awainverse |
0-37739 10 hours ago |
6-49621 6 days ago |
6-49650 6 days |
| 32824 |
Vilin97 author:Vilin97 |
Prove that the diameter of a Euclidean ball is twice its radius. |
feat(Analysis/InnerProductSpace/EuclideanDist): prove that the diameter of an open Euclidean ball is twice its radius
Prove the same statement about the closed ball, and two related lemmas.
All lemmas and theorems: `image_closedBall_eq_metric_closedBall`, `diam_closed_ball_eq_two_mul_radius'`, `diam_closed_ball_eq_two_mul_radius`, `diam_ball_eq_two_mul_radius`
@Aristotle-Harmonic gave the initial version of the proofs.
Co-authored-by: Leo Mayer leomayer@uw.edu
---
[](https://gitpod.io/from-referrer/)
|
t-analysis
new-contributor
|
47/0 |
Mathlib/Analysis/InnerProductSpace/EuclideanDist.lean |
1 |
5 |
['github-actions', 'themathqueen'] |
nobody |
0-37251 10 hours ago |
1-33101 1 day ago |
1-33131 1 day |
| 27664 |
pechersky author:pechersky |
feat(Topology,Analysis): discrete topology metric space and normed groups |
Explicit construction of the discrete topology metric space and normed groups where `dist x y = 1` for all `x != y`
Provide PseudoMetricSpace, MetricSpace, Seminormed(Add)Group, and Normed(Add)Group constructions
---
[](https://gitpod.io/from-referrer/)
|
awaiting-author
t-topology
|
124/0 |
Mathlib/Analysis/Normed/Group/Basic.lean,Mathlib/Topology/MetricSpace/Basic.lean,Mathlib/Topology/MetricSpace/Pseudo/Constructions.lean |
3 |
13 |
['github-actions', 'kckennylau', 'mathlib4-merge-conflict-bot', 'pechersky', 'plp127'] |
urkud assignee:urkud |
0-34007 9 hours ago |
22-69151 22 days ago |
114-37138 114 days |
| 28175 |
dsfxcimk author:dsfxcimk |
feat: 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
[](https://gitpod.io/from-referrer/)
|
t-euclidean-geometry
new-contributor
|
9/0 |
Mathlib/Geometry/Euclidean/Triangle.lean,docs/1000.yaml |
2 |
24 |
['FrankieNC', 'JovanGerb', 'dsfxcimk', 'github-actions', 'grunweg', 'mathlib4-merge-conflict-bot', 'themathqueen'] |
jsm28 assignee:jsm28 |
0-33920 9 hours ago |
3-57071 3 days ago |
32-29220 32 days |
| 26608 |
vihdzp author:vihdzp |
feat(SetTheory/Cardinal/Aleph): `o.card ≤ ℵ_ o` and variants |
---
[](https://gitpod.io/from-referrer/)
|
t-set-theory |
24/0 |
Mathlib/SetTheory/Cardinal/Aleph.lean |
1 |
3 |
['github-actions', 'kckennylau', 'leanprover-community-bot-assistant'] |
alreadydone assignee:alreadydone |
0-33920 9 hours ago |
4-2967 4 days ago |
27-66339 27 days |
| 28972 |
themathqueen author:themathqueen |
feat(LinearAlgebra/Matrix): star-algebra automorphisms on matrices are unitarily inner |
Characterization of star-algebra automorphisms on matrices: for any star-algebra automorphism `f` on matrices, there exists a unitary matrix `U` such that `f x = U * x * star U`.
---
- [x] depends on: #28100
- [x] depends on: #28182
- [x] depends on: #28881
[](https://gitpod.io/from-referrer/)
|
t-algebra label:t-algebra$ |
118/0 |
Mathlib.lean,Mathlib/Analysis/Matrix/StarAlgEquiv.lean |
2 |
4 |
['github-actions', 'mathlib4-dependent-issues-bot', 'mathlib4-merge-conflict-bot', 'themathqueen'] |
dagurtomas assignee:dagurtomas |
0-33919 9 hours ago |
5-43307 5 days ago |
5-43688 5 days |
| 30898 |
vihdzp author:vihdzp |
feat: characterization of `List.splitBy` |
---
- [x] depends on: #30892
Moved from #16837.
[](https://gitpod.io/from-referrer/)
|
t-data |
109/10 |
Mathlib/Data/List/Flatten.lean,Mathlib/Data/List/SplitBy.lean |
2 |
4 |
['github-actions', 'mathlib4-dependent-issues-bot', 'mathlib4-merge-conflict-bot', 'vihdzp'] |
TwoFX assignee:TwoFX |
0-33917 9 hours ago |
4-2720 4 days ago |
4-5208 4 days |
| 32440 |
thorimur author:thorimur |
feat: make the `unusedDecidableInType` linter fire when `Decidable*` instances are used only inside of proofs in the type |
This PR adjusts the `unusedDecidableInType` to prevent false negatives on declarations that only use `Decidable*` hypotheses in proofs that appear in the type. That is, the linter now fires when the `Decidable*` linter is unused outside of proofs.
This PR also changes the warning message to be more direct, and indicates when the instance appears only in a proof (vs. not appearing at all).
We exempt some deprecated lemmas in `Mathlib.Analysis.Order.Matrix` which the linter now fires on. (Presumably, most prior violations had been cleaned up by #10235, which also detected such lemmas.)
Note that this took some tinkering to achieve sufficient performance. We use the following novel(?) "dolorous telescope" strategy (so named due to introducing `sorry`s) to avoid traversing the whole type:
- when encountering an instance binder of concern, telescope to create an fvar.
- when encountering any other binder, instantiate it with `sorry`.
- as we proceed, collect the free variables from these expressions which do not appear in proofs. Since the instances of concern are the only free variables, free variable collection avoids traversing many subexpressions by checking for `hasFVar`, which is a computed field accessible in constant time.
Perhaps surprisingly, this is (on net) more performant than using `eraseProofs` and then detecting dependence via bvars.
We also implement an `Expr`-level early exit for most types by checking if they bind any instance of concern first. (This adds a very small overhead to types which *do* have an instance of concern, but the check is very fast.)
This also adds a profiler category to this linter.
Note: we still have yet to optimize (pre)-infotree traversal performance, and have yet to avoid proofs that appear in the value of definitions. However, this PR sets us up to do so.
---
## Notes on performance
You might be wondering if this *is* actually a faster strategy, seeing as the bench is quite noisy. To determine this, I made a copy of the linter which I could vary without rebuilding mathlib, and profiled the relevant component locally on all imported declarations in Mathlib by linting the `eoi` token:
```lean
module
public meta import Lean
public import Mathlib.Tactic.Linter.UnusedInstancesInTypeCopy
import all Mathlib.Tactic.Linter.UnusedInstancesInTypeCopy
open Lean Meta Elab Term Command Mathlib.Linter.UnusedInstancesInType
meta section
local instance : Insert Name NameSet where
insert := fun n s => s.insert n
def runCopy : Linter where run stx := do
if stx.isOfKind ``Parser.Command.eoi then
let opts := (← getOptions).setBool `profiler true
let consts := (← getEnv).constants.map₁
-- The following expose private decls in their types, so break `MetaM` methods:
let badRecs : NameSet := {`IO.Promise.casesOn, `IO.Promise.recOn, `IO.Promise.rec}
profileitM Exception "control" opts do
for (n,_) in consts do
liftTermElabM do unless n.isInternalDetail || badRecs.contains n do pure ()
profileitM Exception "bench" opts do
for (n,cinfo) in consts do
unless n.isInternalDetail || badRecs.contains n do
cinfo.toConstantVal.onUnusedInstancesInTypeWhere isDecidableVariant
fun _ _ => pure ()
initialize addLinter runCopy
```
(This could have been done in a `run_cmd`, but I wanted to replicate the circumstances of linting as closely as possible, just in case it introduced mysterious async effects.)
Then, in a separate file, I imported `Mathlib` and the above linter, and cycled through reading out the result and editing the underlying component then rebuilding. The control was reliably ~1.07-1.12s. The different strategies came out as follows (the following values are not averaged, but are representative):
| | without early exit | with early exit |
| ---: | :---: | :---: |
| `eraseProofs` | 97.4s | 6.82s |
| dolorous telescope | 20.3s | 3.99s |
As you can see, the early exit cuts the absolute value (and therefore the absolute difference) down dramatically. But seeing as this lays the groundwork for linting defs and will be used for more linters (with wider scopes, and less early exit opportunities), I think we should opt for the more performant version even though there's some extra complexity. :)
[](https://gitpod.io/from-referrer/)
|
t-linter |
199/51 |
Mathlib/Analysis/Matrix/Order.lean,Mathlib/Lean/Expr/Basic.lean,Mathlib/Tactic/Linter/UnusedInstancesInType.lean,MathlibTest/UnusedInstancesInType.lean |
4 |
29 |
['github-actions', 'grunweg', 'leanprover-radar', 'thorimur'] |
joneugster assignee:joneugster |
0-33913 9 hours ago |
5-20358 5 days ago |
8-51637 8 days |
| 32589 |
grunweg author:grunweg |
feat: smooth embeddings |
Define smooth embeddings between smooth manifolds: a map is a smooth embedding iff it is both a smooth immersion and a topological embedding. We also prove basic properties (such as being stable under products); stronger results will be added in future PRs.
Note that unlike smooth immersions, we do not add definitions for
- being a smooth embedding on a set (as this doesn't exist in the topological category either),
- being an embedding at a point (being an embedding is a global notion; moreover, every immersion is locally an embedding anyway, so "being an immersion at x" is sufficient to state this)
- variants with respect to a fixed complement: the motivation for immersions (considering the equivalent local descriptions of smooth submanifolds) do not apply to this global notion.
-----
- [x] depends on: #28853
---
[](https://gitpod.io/from-referrer/)
|
t-differential-geometry |
94/3 |
Mathlib.lean,Mathlib/Geometry/Manifold/Immersion.lean,Mathlib/Geometry/Manifold/SmoothEmbedding.lean |
3 |
19 |
['chrisflav', 'github-actions', 'grunweg', 'mathlib4-dependent-issues-bot', 'peabrainiac'] |
PatrickMassot assignee:PatrickMassot |
0-33912 9 hours ago |
3-36082 3 days ago |
4-4323 4 days |
| 32639 |
euprunin author:euprunin |
chore: golf using `grind`. add `grind` annotations. |
---
Trace profiling results (shown if ≥10 ms before or after):
* `Finset.filter_product_card`: 39 ms before, 114 ms after
* `Finset.sym2_eq_image`: 13 ms before, 67 ms after
* `List.sublist_iff_exists_fin_orderEmbedding_get_eq`: 125 ms before, 148 ms after
* `Equiv.Perm.isThreeCycle_swap_mul_swap_same`: 51 ms before, 79 ms after
* `Polynomial.gaussNorm_monomial`: 12 ms before, 12 ms after 🎉
This golfing PR is batched under the following guidelines:
* Up to ~5 changed files per PR
* Up to ~25 changed declarations per PR
* Up to ~100 changed lines per PR
---
[](https://gitpod.io/from-referrer/)
|
|
23/57 |
Mathlib/Algebra/MvPolynomial/Basic.lean,Mathlib/Algebra/MvPolynomial/CommRing.lean,Mathlib/Algebra/Polynomial/Basic.lean,Mathlib/Combinatorics/SimpleGraph/Subgraph.lean,Mathlib/Data/Finset/Prod.lean,Mathlib/Data/Finset/Sym.lean,Mathlib/Data/Finsupp/Defs.lean,Mathlib/Data/List/NodupEquivFin.lean,Mathlib/Data/List/Sym.lean,Mathlib/Data/Sym/Sym2.lean,Mathlib/GroupTheory/Perm/Cycle/Type.lean,Mathlib/Order/Hom/Basic.lean,Mathlib/RingTheory/Polynomial/GaussNorm.lean |
13 |
9 |
['euprunin', 'github-actions', 'leanprover-radar', 'vihdzp'] |
nobody |
3-33418 3 days ago |
3-55156 3 days ago |
4-29418 4 days |
| 32645 |
vihdzp author:vihdzp |
feat(SetTheory/Cardinal): formulas for `sum (fun n : ℕ ↦ x ^ n)` |
---
[](https://gitpod.io/from-referrer/)
|
t-set-theory |
23/5 |
Mathlib/SetTheory/Cardinal/Arithmetic.lean,Mathlib/SetTheory/Cardinal/Basic.lean,Mathlib/SetTheory/Cardinal/Defs.lean |
3 |
2 |
['artie2000', 'github-actions'] |
b-mehta assignee:b-mehta |
0-33911 9 hours ago |
4-82202 4 days ago |
4-82244 4 days |
| 32668 |
kim-em author:kim-em |
feat(TacticAnalysis): copy args when replacing linarith with grind |
This PR modifies `grindReplacementWith` to accept an `extractArgs` function that can extract term arguments from the original tactic syntax. When arguments are found, they are converted to `grindParam` syntax and included in the replacement `grind` call. Further, if an argument is a global identifier, we wrap it in `id` to ensure `grind` interprets it as a term (rather than trying to find a trigger pattern).
This makes the regression linter more useful - instead of just trying `grind`, it now tries `grind [X, Y]` when the original was `linarith [X, Y]`.
Example output before:
```
fail_if_success grind
linarith [Finset.mem_antidiagonal.mp hij, Real.pi_pos]
```
Example output after:
```
fail_if_success grind [Finset.mem_antidiagonal.mp hij, id Real.pi_pos]
linarith [Finset.mem_antidiagonal.mp hij, Real.pi_pos]
```
🤖 Prepared with Claude Code |
t-meta |
57/1 |
Mathlib/Tactic/TacticAnalysis/Declarations.lean |
1 |
1 |
['github-actions'] |
dwrensha assignee:dwrensha |
0-33910 9 hours ago |
4-26451 4 days ago |
4-26481 4 days |
| 32673 |
CoolRmal author:CoolRmal |
feat: an open subset of a Baire space is Baire |
This PR proves the following lemmas:
1. If `f : X → Y` is an open quotient map and `X` is a Baire space, then `Y` is Baire.
2. As a corollary of the first lemma, a homeomorphism maps a Baire space to a Baire space.
3. An open subset of a Baire space is Baire.
Formalized with help from Aristotle.
---
[](https://gitpod.io/from-referrer/)
|
t-topology
large-import
|
49/1 |
Mathlib/Topology/Baire/Lemmas.lean,Mathlib/Topology/Homeomorph/Lemmas.lean,Mathlib/Topology/Maps/OpenQuotient.lean |
3 |
2 |
['CoolRmal', 'github-actions'] |
dagurtomas assignee:dagurtomas |
0-33909 9 hours ago |
4-13065 4 days ago |
4-13104 4 days |
| 32675 |
kebekus author:kebekus |
feat: meromorphic functions are measurable |
Show that meromorphic functions are measurable.
This material is used in [Project VD](https://github.com/kebekus/ProjectVD), which aims to formalize Value Distribution Theory for meromorphic functions on the complex plane.
---
[](https://gitpod.io/from-referrer/)
|
t-analysis
large-import
|
34/2 |
Mathlib/Analysis/Meromorphic/Basic.lean |
1 |
1 |
['github-actions'] |
j-loreaux assignee:j-loreaux |
0-33908 9 hours ago |
3-62151 3 days ago |
4-10839 4 days |
| 32678 |
harahu author:harahu |
doc(MeasureTheory): fix typos |
Fix a collection of simple typos in `Mathlib/MeasureTheory`.
---
Typos found and fixed by Codex.
[](https://gitpod.io/from-referrer/)
|
t-measure-probability |
22/22 |
Mathlib/MeasureTheory/Category/MeasCat.lean,Mathlib/MeasureTheory/Constructions/Cylinders.lean,Mathlib/MeasureTheory/Constructions/Pi.lean,Mathlib/MeasureTheory/Function/ConditionalExpectation/PullOut.lean,Mathlib/MeasureTheory/Function/UniformIntegrable.lean,Mathlib/MeasureTheory/Integral/Bochner/Basic.lean,Mathlib/MeasureTheory/Integral/IntervalIntegral/FundThmCalculus.lean,Mathlib/MeasureTheory/Integral/IntervalIntegral/Periodic.lean,Mathlib/MeasureTheory/Integral/RieszMarkovKakutani/NNReal.lean,Mathlib/MeasureTheory/Integral/RieszMarkovKakutani/Real.lean,Mathlib/MeasureTheory/Measure/Regular.lean,Mathlib/MeasureTheory/Measure/SeparableMeasure.lean |
12 |
1 |
['github-actions'] |
kex-y assignee:kex-y |
0-33907 9 hours ago |
4-2626 4 days ago |
4-2657 4 days |
| 32679 |
YaelDillies author:YaelDillies |
chore(Data/Sym2): improve defeq of `diagSet` |
#30559 introduced a regression on the defeqs in the `SimpleGraph` API. This PR fixes it.
From LeanCamCombi
---
I personally think this new `diagSet` definition is unnecessary: `{e | e.IsDiag}` is not much longer to write than `Sym2.diagSet` and more transparent, but whatever.
[](https://gitpod.io/from-referrer/)
|
t-data |
51/41 |
Mathlib/Combinatorics/SimpleGraph/Basic.lean,Mathlib/Combinatorics/SimpleGraph/DeleteEdges.lean,Mathlib/Combinatorics/SimpleGraph/Operations.lean,Mathlib/Data/Sym/Card.lean,Mathlib/Data/Sym/Sym2.lean |
5 |
6 |
['SnirBroshi', 'YaelDillies', 'github-actions', 'vihdzp'] |
pechersky assignee:pechersky |
0-33906 9 hours ago |
4-2046 4 days ago |
4-2234 4 days |
| 32696 |
YuvalFilmus author:YuvalFilmus |
feat(SpecialFunctions/Artanh): basic definition and partial equivalence |
Definition of `artanh`, and proof that it is an inverse of `tanh`.
---
[](https://gitpod.io/from-referrer/)
|
t-analysis
new-contributor
|
155/1 |
Mathlib.lean,Mathlib/Analysis/SpecialFunctions/Arcosh.lean,Mathlib/Analysis/SpecialFunctions/Artanh.lean,Mathlib/Data/Real/Sqrt.lean |
4 |
15 |
['SnirBroshi', 'YuvalFilmus', 'github-actions', 'j-loreaux', 'mathlib4-merge-conflict-bot'] |
j-loreaux assignee:j-loreaux |
0-33905 9 hours ago |
3-47005 3 days ago |
3-54990 3 days |
| 32704 |
euprunin author:euprunin |
chore: remove use of `erw` |
---
[](https://gitpod.io/from-referrer/)
|
|
20/26 |
Mathlib/Algebra/Category/ModuleCat/ChangeOfRings.lean,Mathlib/AlgebraicTopology/DoldKan/Homotopies.lean,Mathlib/CategoryTheory/Adjunction/PartialAdjoint.lean,Mathlib/CategoryTheory/Preadditive/AdditiveFunctor.lean,Mathlib/CategoryTheory/Triangulated/Opposite/Basic.lean,Mathlib/MeasureTheory/VectorMeasure/Decomposition/RadonNikodym.lean,Mathlib/Topology/Homotopy/Product.lean |
7 |
14 |
['bryangingechen', 'euprunin', 'github-actions', 'grunweg', 'leanprover-radar'] |
MichaelStollBayreuth assignee:MichaelStollBayreuth |
0-33904 9 hours ago |
3-42522 3 days ago |
3-42494 3 days |
| 32850 |
gasparattila author:gasparattila |
feat(Topology/UniformSpace): add `isRefl_of_mem_uniformity` |
This PR adds a lemma to directly obtain `U.IsRefl` for an entourage `U` of a uniform space.
---
[](https://gitpod.io/from-referrer/)
|
t-topology |
11/8 |
Mathlib/Dynamics/TopologicalEntropy/NetEntropy.lean,Mathlib/Topology/UniformSpace/Basic.lean,Mathlib/Topology/UniformSpace/Closeds.lean,Mathlib/Topology/UniformSpace/Defs.lean |
4 |
1 |
['github-actions'] |
nobody |
0-32183 8 hours ago |
0-32183 8 hours ago |
0-60694 16 hours |
| 32371 |
KaiErikNiermann author:KaiErikNiermann |
fix: minor error in comment of example for natural transformation |
---
[](https://gitpod.io/from-referrer/)
|
easy
new-contributor
|
2/2 |
Mathlib/CategoryTheory/NatTrans.lean |
1 |
2 |
['LLaurance', 'artie2000', 'github-actions'] |
nobody |
0-59406 16 hours ago |
11-10976 11 days ago |
11-45848 11 days |
| 32862 |
JovanGerb author:JovanGerb |
chore(Order/Iterate): avoid `to_dual existing` |
This PR adds a few uses of `to_dual`. Unfortunately many declarations cannot yet really be handled by `to_dual` because `Monotone` isn't supported yet.
---
[](https://gitpod.io/from-referrer/)
|
t-order |
3/9 |
Mathlib/Order/Iterate.lean |
1 |
1 |
['github-actions'] |
nobody |
0-30033 8 hours ago |
0-30041 8 hours ago |
0-30075 8 hours |
| 32863 |
JovanGerb author:JovanGerb |
feat(to_dual): don't translate the order on `Set` |
This PR adds the tag `attribute [to_dual_dont_translate] Set`, as discussed in https://leanprover.zulipchat.com/#narrow/channel/287929-mathlib4/topic/Order.20dual.20tactic/near/560952736
It is not obvious where this tag should go, since `Set` and `to_dual` don't import eachother. A natural place seems to be the place where the `sInf`/`sSup` notations are declared for `Set`, since this is where one could start trying to use `to_dual` for translating the order on `Set`.
---
[](https://gitpod.io/from-referrer/)
|
t-order |
2/0 |
Mathlib/Order/SetNotation.lean |
1 |
1 |
['github-actions'] |
nobody |
0-29258 8 hours ago |
0-29263 8 hours ago |
0-29295 8 hours |
| 32864 |
JovanGerb author:JovanGerb |
doc(grw): explicitly mention backwards rewriting |
Multiple people have expressed confusion about the backwards rewriting in the `grw` tactic, so I've added it to the doc-string. Let me know if it can be explained more clearly.
---
[](https://gitpod.io/from-referrer/)
|
t-meta |
10/1 |
Mathlib/Tactic/GRewrite/Elab.lean |
1 |
1 |
['github-actions'] |
nobody |
0-28760 7 hours ago |
0-28763 7 hours ago |
0-28795 7 hours |
| 32851 |
tdwag123 author:tdwag123 |
feat(MeasureTheory/Measure/Hausdorff) add `exists_accPt_of_pos_hausdorffMeasure ` |
feat(MeasureTheory/Measure/Hausdorff): Added a theorem that states if a set has positive s-dimensional Hausdorff measure, then it has an accumulation point, along with necessary proofs.
Theorem added: `exists_accPt_of_pos_hausdorffMeasure`
**Harmonic's Aristotle gave the initial version of the proofs.**
`---`
[](https://gitpod.io/from-referrer/)
|
t-measure-probability
new-contributor
|
58/0 |
Mathlib/MeasureTheory/Measure/Hausdorff.lean |
1 |
2 |
['github-actions'] |
nobody |
0-28345 7 hours ago |
0-49799 13 hours ago |
0-51101 14 hours |
| 32861 |
JovanGerb author:JovanGerb |
feat: avoid `private irreducible_def` using module system |
This PR removes the instances of `private irreducible_def`, replacing them with a module system based solution, using `@[no_expose]` to not expose the definition. This helps make proofs shorter, while still not exporting the value of the definition.
Two cases require `set_option backward.proofsInPublic false` to work. Note that this is turning off the backwards option that is globally set to `true`. The eventual aim is to have it globally `false`, so setting it to `false` locally is not a problem.
In this refactor, I locally set
```
set_option backward.proofsInPublic false
set_option backward.privateInPublic false
```
to guide the refactor, so that the module system is happy with the new version.
In one proof `gcongr` now managed to solve the goal entirely. This is arguably because the `gcongr` discharger is reducing too strongly. But I won't complain about that for now.
---
[](https://gitpod.io/from-referrer/)
|
bench-after-CI |
130/220 |
Mathlib/Algebra/Polynomial/Basic.lean,Mathlib/Algebra/RingQuot.lean,Mathlib/Algebra/SkewMonoidAlgebra/Basic.lean,Mathlib/Algebra/Star/RingQuot.lean,Mathlib/Analysis/SpecialFunctions/Gaussian/GaussianIntegral.lean,Mathlib/Data/Finsupp/Defs.lean,Mathlib/Data/Real/Basic.lean |
7 |
1 |
['github-actions'] |
nobody |
0-27738 7 hours ago |
0-31172 8 hours ago |
0-31162 8 hours |
| 32860 |
johnrathgeber author:johnrathgeber |
feat: IMO 1998 Q3 |
---
[](https://gitpod.io/from-referrer/)
|
new-contributor
IMO
|
623/0 |
Archive.lean,Archive/Imo/Imo1998Q3.lean |
2 |
9 |
['SnirBroshi', 'github-actions', 'johnrathgeber'] |
nobody |
0-28366 7 hours ago |
0-32368 8 hours ago |
0-32405 9 hours |
| 31361 |
alreadydone author:alreadydone |
feat(Algebra/Order): convex subgroups |
---
[](https://gitpod.io/from-referrer/)
|
awaiting-author
t-algebra
t-order
label:t-algebra$ |
408/0 |
Mathlib.lean,Mathlib/Algebra/Order/Archimedean/Class.lean,Mathlib/Algebra/Order/Group/Convex.lean,Mathlib/Order/Birkhoff.lean,Mathlib/Order/Quotient.lean |
5 |
13 |
['alreadydone', 'github-actions', 'kckennylau', 'mathlib4-merge-conflict-bot', 'vihdzp', 'wwylele'] |
Vierkantor assignee:Vierkantor |
0-26518 7 hours ago |
1-73042 1 day ago |
11-66060 11 days |
| 32866 |
JovanGerb author:JovanGerb |
fix(to_fun): fix the `@[to_fun]` attribute when the proof is not by reflexivity |
This PR fixes the bug in `@[to_fun]` reported in https://leanprover.zulipchat.com/#narrow/channel/287929-mathlib4/topic/.60to_fun.60.20tactic/with/563623809
---
[](https://gitpod.io/from-referrer/)
|
t-meta |
21/2 |
Mathlib/Tactic/ToFun.lean,MathlibTest/ToFun.lean |
2 |
1 |
['github-actions'] |
nobody |
0-25615 7 hours ago |
0-25615 7 hours ago |
0-25654 7 hours |
| 32262 |
alreadydone author:alreadydone |
feat(Algebra): stably finite rings |
+ Show finite semirings are stably-finite.
+ Show stable finiteness is left-right symmetric.
+ Prove matrix characterizations of rank condition and invariant basis number; as consequences, show both properties are left-right symmetric.
+ Show stable finiteness implies the rank condition, generalizing [rankCondition_of_nontrivial_of_commSemiring](https://leanprover-community.github.io/mathlib4_docs/Mathlib/LinearAlgebra/Matrix/InvariantBasisNumber.html#rankCondition_of_nontrivial_of_commSemiring).
+ Reformulate a lemma as saying division rings are stably finite.
---
- [ ] depends on: #32610
[](https://gitpod.io/from-referrer/)
|
awaiting-author
t-algebra
t-ring-theory
label:t-algebra$ |
270/76 |
Mathlib/Data/Matrix/Basic.lean,Mathlib/Data/Matrix/Composition.lean,Mathlib/Data/Matrix/Mul.lean,Mathlib/LinearAlgebra/FiniteDimensional/Basic.lean,Mathlib/LinearAlgebra/InvariantBasisNumber.lean,Mathlib/LinearAlgebra/Matrix/BaseChange.lean,Mathlib/LinearAlgebra/Matrix/InvariantBasisNumber.lean,Mathlib/LinearAlgebra/Matrix/NonsingularInverse.lean,Mathlib/LinearAlgebra/Matrix/SchurComplement.lean,Mathlib/LinearAlgebra/Matrix/SemiringInverse.lean,Mathlib/LinearAlgebra/Matrix/ToLin.lean |
11 |
56 |
['Garmelon', 'alreadydone', 'artie2000', 'erdOne', 'github-actions', 'leanprover-bot', 'leanprover-community-mathlib4-bot', 'leanprover-radar', 'mathlib4-dependent-issues-bot'] |
erdOne assignee:erdOne |
0-56528 15 hours ago |
0-58080 16 hours ago |
7-14133 7 days |
| 32856 |
stepan2698-cpu author:stepan2698-cpu |
feat: definition of an irreducible representation |
Define irreducible monoid representations over a field and prove that a monoid representation is irreducible iff the corresponding module over the monoid algebra is simple. |
t-algebra
new-contributor
label:t-algebra$ |
165/4 |
Mathlib.lean,Mathlib/RepresentationTheory/Irreducible.lean,Mathlib/RepresentationTheory/Subrepresentation.lean |
3 |
8 |
['Whysoserioushah', 'github-actions'] |
nobody |
0-23333 6 hours ago |
0-45352 12 hours ago |
0-45386 12 hours |
| 32412 |
Brian-Nugent author:Brian-Nugent |
feat: add Artinian schemes |
Added the definition of Artinian Schemes and proved basic facts about them.
---
[](https://gitpod.io/from-referrer/)
|
t-algebraic-geometry
new-contributor
|
183/0 |
Mathlib.lean,Mathlib/AlgebraicGeometry/Artinian.lean,Mathlib/Topology/KrullDimension.lean |
3 |
58 |
['Brian-Nugent', 'alreadydone', 'erdOne', 'github-actions'] |
erdOne assignee:erdOne |
0-23330 6 hours ago |
0-23330 6 hours ago |
6-73942 6 days |
| 32868 |
kim-em author:kim-em |
fix(scripts): make missing local tag a warning in verify_version_tags.py |
This PR fixes an issue where `verify_version_tags.py` fails when run from `release_checklist.py` because there's no local mathlib4 checkout with tags fetched.
The script was failing with "Tag not found locally" even though all real verification checks passed (GitHub tag exists, toolchain correct, cache works, build verification passes).
This change makes the missing local tag a warning instead of an error, since the GitHub API check already verifies the tag exists remotely.
🤖 Prepared with Claude Code |
CI |
8/1 |
scripts/verify_version_tags.py |
1 |
2 |
['github-actions', 'kim-em'] |
nobody |
0-19110 5 hours ago |
0-19124 5 hours ago |
0-19157 5 hours |
| 32552 |
ksenono author:ksenono |
feat(SetTheory/Cardinal): helpers for Konig's theorem |
---
[](https://gitpod.io/from-referrer/)
|
new-contributor
t-set-theory
|
70/0 |
Mathlib/SetTheory/Cardinal/Arithmetic.lean,Mathlib/SetTheory/Cardinal/Basic.lean |
2 |
32 |
['SnirBroshi', 'b-mehta', 'github-actions', 'ksenono', 'staroperator', 'vihdzp'] |
b-mehta assignee:b-mehta |
0-41405 11 hours ago |
6-50899 6 days ago |
6-50938 6 days |
| 32865 |
robertmaxton42 author:robertmaxton42 |
(WIP) Separation axioms |
---
[](https://gitpod.io/from-referrer/)
|
large-import |
4832/3 |
Mathlib.lean,Mathlib/CategoryTheory/LiftingProperties/Basic.lean,Mathlib/CategoryTheory/Limits/Shapes/ConcreteCategory.lean,Mathlib/Data/Set/Basic.lean,Mathlib/Data/Set/Disjoint.lean,Mathlib/Data/Set/Operations.lean,Mathlib/Order/BooleanAlgebra/Set.lean,Mathlib/Topology/Category/Lifting/Defs.lean,Mathlib/Topology/Category/Lifting/Separation.lean,Mathlib/Topology/Category/TopCat/Basic.lean,Mathlib/Topology/Category/TopCat/Limits/Pullbacks.lean,Mathlib/Topology/Category/UProp.lean,Mathlib/Topology/Coherent.lean,Mathlib/Topology/ContinuousMap/Basic.lean,Mathlib/Topology/ContinuousMap/Constructions.lean,Mathlib/Topology/Maps/Basic.lean |
16 |
1 |
['github-actions'] |
nobody |
0-17812 4 hours ago |
0-26998 7 hours ago |
0-0 0 seconds |
| 32360 |
YuvalFilmus author:YuvalFilmus |
feat(Chebyshev): degree, leadingCoeff, eval_neg |
Calculated the degree and leading coefficients of Chebyshev T and U, as well as formulas for T(-x) and U(-x).
---
[](https://gitpod.io/from-referrer/)
|
new-contributor
maintainer-merge
t-ring-theory
|
152/2 |
Mathlib/RingTheory/Polynomial/Chebyshev.lean |
1 |
11 |
['LLaurance', 'YuvalFilmus', 'erdOne', 'github-actions'] |
kbuzzard assignee:kbuzzard |
0-13872 3 hours ago |
0-45790 12 hours ago |
9-46214 9 days |
| 32791 |
luisacicolini author:luisacicolini |
chore: `grind` tags for `Logic/Relation` |
This PR annotates `Logic/Relation` to enable its results being user by `grind`. |
ready-to-merge
t-logic
new-contributor
|
17/6 |
Mathlib/Logic/Relation.lean |
1 |
20 |
['Ruben-VandeVelde', 'b-mehta', 'chenson2018', 'euprunin', 'github-actions', 'luisacicolini', 'mathlib-bors'] |
nobody |
0-12681 3 hours ago |
1-70659 1 day ago |
0-14525 4 hours |
| 32744 |
NoneMore author:NoneMore |
feat(ModelTheory/Definablity): add `DefinableFun` definition and lemmas |
This PR adds two basic shapes of definable sets and `DefinableFun` definition with relevant lemmas.
The main result is `definable_preimage_of_definableMap` asserting that the preimage of a definable set under a definable map is definable.
There are also some tool lemmas derived by the preimage lemma.
Not sure if it's necessary to create a new module `DefinableFun`.
---
[](https://gitpod.io/from-referrer/)
|
t-logic
new-contributor
|
134/0 |
Mathlib/ModelTheory/Definability.lean |
1 |
37 |
['NoneMore', 'github-actions', 'staroperator'] |
nobody |
0-8347 2 hours ago |
2-18584 2 days ago |
2-63886 2 days |
| 32853 |
euprunin author:euprunin |
chore: golf using `grind` and `simp` |
---
Trace profiling results (shown if ≥10 ms before or after):
* `Finset.filter_product_card`: 38 ms before, 107 ms after
* `List.Nat.antidiagonalTuple_pairwise_pi_lex`: 72 ms before, 162 ms after
* `RingHom.finitePresentation_isStableUnderBaseChange`: 207 ms before, 16 ms after 🎉
* `RingHom.finite_isStableUnderBaseChange`: 339 ms before, 36 ms after 🎉
* `ZSpan.fundamentalDomain_reindex`: 17 ms before, 11 ms after 🎉
This golfing PR is batched under the following guidelines:
* Up to ~5 changed files per PR
* Up to ~25 changed declarations per PR
* Up to ~100 changed lines per PR
---
[](https://gitpod.io/from-referrer/)
|
|
12/29 |
Mathlib/Algebra/Module/ZLattice/Basic.lean,Mathlib/Data/Fin/Tuple/NatAntidiagonal.lean,Mathlib/Data/Finset/Prod.lean,Mathlib/RingTheory/RingHom/Finite.lean,Mathlib/RingTheory/RingHom/FinitePresentation.lean |
5 |
7 |
['euprunin', 'github-actions', 'themathqueen'] |
nobody |
0-8265 2 hours ago |
0-50667 14 hours ago |
0-50640 14 hours |
| 31908 |
YaelDillies author:YaelDillies |
feat: Bernoulli random variables |
Define the product distribution of `p`-Bernoulli random variables a measure on `Set ι`.
It is important in applications to be able to restrict the product to a subset `u` of `ι`, eg in #31364 I define the `G(V, p)` distribution of binomial random graphs by setting `ι := Sym2 V` and `u := {e |¬ e.IsDiag}`.
---
- [x] depends on: #31909
- [x] depends on: #31911
- [x] depends on: #32096
- [x] depends on: #32287
[](https://gitpod.io/from-referrer/)
|
awaiting-author
t-measure-probability
|
149/7 |
Mathlib.lean,Mathlib/Probability/Distributions/Bernoulli.lean,Mathlib/Probability/HasLaw.lean |
3 |
10 |
['DavidLedvinka', 'RemyDegenne', 'YaelDillies', 'github-actions', 'mathlib4-dependent-issues-bot', 'mathlib4-merge-conflict-bot', 'sgouezel'] |
sgouezel assignee:sgouezel |
0-6047 1 hour ago |
0-6047 1 hour ago |
16-52178 16 days |
| 32043 |
thomaskwaring author:thomaskwaring |
feat(Combinatorics/SimpleGraph/Acyclic): characterise maximal acyclic subgraphs |
We characterise subgraphs `H ≤ G` which are maximal among acyclic subgraphs of `G` as those for which `H.Reachable = G.Reachable`. We also prove that if `G` is acyclic and `x` and `y` are not reachable in `G`, then `G ⊔ fromEdgeSet {s(x,y)}` is acyclic.
---
|
t-combinatorics
new-contributor
|
111/0 |
Mathlib/Combinatorics/SimpleGraph/Acyclic.lean,Mathlib/Combinatorics/SimpleGraph/Connectivity/Connected.lean |
2 |
1 |
['github-actions'] |
b-mehta assignee:b-mehta |
0-5275 1 hour ago |
20-383 20 days ago |
20-417 20 days |
| 32869 |
felixpernegger author:felixpernegger |
feat(RingTheory): lemmas around ```Ring.choose``` |
Various small lemmas around Ring.choose.
In particular this should cover all statements from .Data.Nat.Choose.Basic which have a meaningful generalization to arbitrary rings. |
new-contributor
t-ring-theory
|
170/0 |
Mathlib/RingTheory/Binomial.lean,Mathlib/RingTheory/Polynomial/Pochhammer.lean |
2 |
1 |
['github-actions'] |
nobody |
0-4412 1 hour ago |
0-4412 1 hour ago |
0-0 0 seconds |
| 30576 |
smmercuri author:smmercuri |
feat: `adicCompletion` for `Rat` is uniform isomorphic to `Padic` |
---
- [x] depends on: #30133
- [x] depends on: #30574
- [x] depends on: #30363
- [x] depends on: #30171
- [x] depends on: #31845
[](https://gitpod.io/from-referrer/)
|
|
282/1 |
Mathlib.lean,Mathlib/NumberTheory/Padics/HeightOneSpectrum.lean,Mathlib/RingTheory/DedekindDomain/Ideal/Lemmas.lean,Mathlib/Topology/Algebra/Algebra/Equiv.lean,Mathlib/Topology/Algebra/Valued/WithVal.lean |
5 |
5 |
['github-actions', 'mathlib4-dependent-issues-bot', 'mathlib4-merge-conflict-bot'] |
nobody |
0-3249 54 minutes ago |
4-53593 4 days ago |
4-53574 4 days |
| 32672 |
tb65536 author:tb65536 |
feat: haar measures on short exact sequences |
---
[](https://gitpod.io/from-referrer/)
|
t-measure-probability |
344/0 |
Mathlib.lean,Mathlib/MeasureTheory/Measure/Haar/Extension.lean |
2 |
2 |
['RemyDegenne', 'github-actions'] |
nobody |
0-2696 44 minutes ago |
3-9197 3 days ago |
3-17978 3 days |
| 32281 |
ajirving author:ajirving |
feat(NumberTheory.Chebyshev): prove connection between prime counting and theta |
Uses Abel summation to express the prime counting function in terms of the Chebyshev theta function. This upstreams some results from PrimeNumberTheoremAnd.
---
- [x] depends on: #32247
[](https://gitpod.io/from-referrer/)
|
t-number-theory
new-contributor
large-import
|
221/1 |
Mathlib/NumberTheory/Chebyshev.lean |
1 |
6 |
['ajirving', 'github-actions', 'mathlib4-dependent-issues-bot', 'mathlib4-merge-conflict-bot'] |
nobody |
1-1227 1 day ago |
1-1248 1 day ago |
4-15578 4 days |
| 31092 |
FlAmmmmING author:FlAmmmmING |
feat(Algebra/Group/ForwardDiff.lean): Add theorem `sum_shift_eq_fwdDiff_iter`. |
---
[](https://gitpod.io/from-referrer/)
|
t-algebra
new-contributor
label:t-algebra$ |
15/1 |
Mathlib/Algebra/Group/ForwardDiff.lean |
1 |
15 |
['FlAmmmmING', 'Ruben-VandeVelde', 'dagurtomas', 'github-actions', 'mathlib4-merge-conflict-bot'] |
dagurtomas assignee:dagurtomas |
3-30269 3 days ago |
3-30311 3 days ago |
22-44262 22 days |
| 32867 |
JohnnyTeutonic author:JohnnyTeutonic |
feat(Data/Matrix/Cartan): add explicit forms for B, C, D |
Add explicit matrix representations for small Cartan matrices:
- B_two: B Cartan matrix
- C_two: C Cartan matrix
- D_four: D Cartan matrix (minimal rank for type D)
---
[](https://gitpod.io/from-referrer/)
|
new-contributor
t-data
|
13/0 |
Mathlib/Data/Matrix/Cartan.lean |
1 |
1 |
['github-actions'] |
nobody |
0-1532 25 minutes ago |
0-23232 6 hours ago |
0-23274 6 hours |
| 14720 |
eric-wieser author:eric-wieser |
refactor: change `CliffordAlgebra.lift` to use quadratic maps |
This works towards addressing a footnote on [page 152](https://eric-wieser.github.io/thesis/eric-wieser-thesis.pdf#page=164) of my thesis.
---
[](https://gitpod.io/from-referrer/)
|
WIP
merge-conflict
t-algebra
label:t-algebra$ |
200/167 |
Mathlib/LinearAlgebra/CliffordAlgebra/Basic.lean,Mathlib/LinearAlgebra/CliffordAlgebra/Equivs.lean,Mathlib/LinearAlgebra/CliffordAlgebra/Prod.lean,Mathlib/LinearAlgebra/QuadraticForm/Complex.lean,Mathlib/LinearAlgebra/QuadraticForm/Dual.lean,Mathlib/LinearAlgebra/QuadraticForm/Isometry.lean,Mathlib/LinearAlgebra/QuadraticForm/IsometryEquiv.lean,Mathlib/LinearAlgebra/QuadraticForm/Prod.lean,Mathlib/LinearAlgebra/QuadraticForm/QuadraticModuleCat.lean,Mathlib/LinearAlgebra/QuadraticForm/Real.lean,Mathlib/LinearAlgebra/QuadraticForm/TensorProduct/Isometries.lean |
11 |
1 |
['github-actions'] |
nobody |
501-7978 1 year ago |
514-85373 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
[](https://gitpod.io/from-referrer/)
|
awaiting-author
merge-conflict
t-algebraic-geometry
t-algebra
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 |
501-7977 1 year ago |
534-34674 1 year ago |
0-0 0 seconds |
| 14036 |
adomani author:adomani |
Test/decl diff in lean |
---
[](https://gitpod.io/from-referrer/)
|
merge-conflict |
465/1040 |
.github/workflows/Lean_decl_diff.yml,.github/workflows/bors.yml,.github/workflows/build.yml,.github/workflows/build.yml.in,.github/workflows/build_fork.yml,.github/workflows/mk_build_yml.sh,scripts/decls_diff_hybrid.sh,scripts/list_decls.lean |
8 |
1 |
['github-actions'] |
nobody |
501-7977 1 year ago |
539-6268 1 year ago |
0-0 0 seconds |
| 14167 |
alreadydone author:alreadydone |
feat: Group scheme structure on Weierstrass curve |
---
[](https://gitpod.io/from-referrer/)
|
WIP
merge-conflict
t-algebraic-geometry
workshop-AIM-AG-2024
|
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 |
501-7977 1 year ago |
513-81988 1 year ago |
0-0 0 seconds |
| 13512 |
adomani author:adomani |
test: count all |
---
[](https://gitpod.io/from-referrer/)
|
merge-conflict |
85/0 |
Mathlib.lean,Mathlib/Tactic.lean,Mathlib/Tactic/Linter.lean,Mathlib/Tactic/Linter/Tally.lean |
4 |
0 |
[] |
nobody |
501-7976 1 year ago |
543-2758 1 year ago |
0-0 0 seconds |
| 13297 |
urkud author:urkud |
feat(Semicontinuous): add `comp` lemma |
---
[](https://gitpod.io/from-referrer/) |
awaiting-author
merge-conflict
t-topology
t-order
|
31/13 |
Mathlib/Topology/Semicontinuous.lean |
1 |
3 |
['sgouezel', 'urkud'] |
nobody |
501-7976 1 year ago |
512-72107 1 year ago |
0-18175 5 hours |
| 13372 |
adomani author:adomani |
dev: generic replacement |
---
[](https://gitpod.io/from-referrer/)
|
merge-conflict |
446/0 |
Mathlib.lean,Mathlib/Tactic.lean,Mathlib/Tactic/Linter/ReplaceRefine.lean,Mathlib/Tactic/Replacements.lean |
4 |
4 |
['adomani', 'github-actions'] |
nobody |
501-7976 1 year ago |
543-2885 1 year ago |
0-0 0 seconds |
| 12416 |
adomani author:adomani |
chore: remove some cdots |
---
[](https://gitpod.io/from-referrer/)
|
merge-conflict |
3830/3239 |
Archive/Imo/Imo1972Q5.lean,Archive/Imo/Imo2006Q5.lean,Archive/Imo/Imo2008Q2.lean,Archive/Imo/Imo2021Q1.lean,Archive/Wiedijk100Theorems/AbelRuffini.lean,Archive/Wiedijk100Theorems/BallotProblem.lean,Archive/Wiedijk100Theorems/BirthdayProblem.lean,Archive/Wiedijk100Theorems/BuffonsNeedle.lean,Archive/Wiedijk100Theorems/CubingACube.lean,Archive/Wiedijk100Theorems/FriendshipGraphs.lean,Archive/Wiedijk100Theorems/Partition.lean,Counterexamples/Cyclotomic105.lean,Counterexamples/DirectSumIsInternal.lean,Mathlib.lean,Mathlib/Algebra/Algebra/Spectrum.lean,Mathlib/Algebra/BigOperators/Finprod.lean,Mathlib/Algebra/BigOperators/List/Basic.lean,Mathlib/Algebra/Category/GroupCat/Colimits.lean,Mathlib/Algebra/Category/ModuleCat/Images.lean,Mathlib/Algebra/Category/Ring/Constructions.lean,Mathlib/Algebra/CharP/Quotient.lean,Mathlib/Algebra/ContinuedFractions/Computation/Approximations.lean,Mathlib/Algebra/DirectLimit.lean,Mathlib/Algebra/DirectSum/Internal.lean,Mathlib/Algebra/GCDMonoid/Finset.lean,Mathlib/Algebra/GeomSum.lean,Mathlib/Algebra/Group/UniqueProds.lean,Mathlib/Algebra/GroupPower/Order.lean,Mathlib/Algebra/GroupWithZero/WithZero.lean,Mathlib/Algebra/Homology/Exact.lean,Mathlib/Algebra/Homology/HomotopyCategory/HomComplex.lean,Mathlib/Algebra/Homology/HomotopyCategory/Triangulated.lean,Mathlib/Algebra/Homology/LocalCohomology.lean,Mathlib/Algebra/Homology/TotalComplex.lean,Mathlib/Algebra/Lie/DirectSum.lean,Mathlib/Algebra/Lie/IdealOperations.lean,Mathlib/Algebra/Lie/Nilpotent.lean,Mathlib/Algebra/Lie/Weights/Basic.lean,Mathlib/Algebra/Module/DedekindDomain.lean,Mathlib/Algebra/Module/LinearMap/End.lean,Mathlib/Algebra/Module/LocalizedModule.lean,Mathlib/Algebra/Module/PID.lean,Mathlib/Algebra/Module/Submodule/Bilinear.lean,Mathlib/Algebra/Module/Torsion.lean,Mathlib/Algebra/Module/Zlattice/Basic.lean,Mathlib/Algebra/MonoidAlgebra/Basic.lean,Mathlib/Algebra/MonoidAlgebra/Degree.lean,Mathlib/Algebra/MonoidAlgebra/Ideal.lean,Mathlib/Algebra/MvPolynomial/Variables.lean,Mathlib/Algebra/Order/Archimedean.lean,Mathlib/Algebra/Order/BigOperators/Group/List.lean,Mathlib/Algebra/Order/CauSeq/BigOperators.lean,Mathlib/Algebra/Order/CompleteField.lean,Mathlib/Algebra/Order/Field/Basic.lean,Mathlib/Algebra/Order/Group/Abs.lean,Mathlib/Algebra/Order/Group/Int.lean,Mathlib/Algebra/Order/Group/MinMax.lean,Mathlib/Algebra/Order/Interval/Basic.lean,Mathlib/Algebra/Order/Pointwise.lean,Mathlib/Algebra/Order/Sub/Defs.lean,Mathlib/Algebra/Polynomial/BigOperators.lean,Mathlib/Algebra/Polynomial/Degree/Definitions.lean,Mathlib/Algebra/Polynomial/Derivative.lean,Mathlib/Algebra/Polynomial/Div.lean,Mathlib/Algebra/Polynomial/FieldDivision.lean,Mathlib/Algebra/Polynomial/Module/Basic.lean,Mathlib/Algebra/Polynomial/PartialFractions.lean,Mathlib/Algebra/Polynomial/Reverse.lean,Mathlib/Algebra/Polynomial/RingDivision.lean,Mathlib/Algebra/Polynomial/UnitTrinomial.lean,Mathlib/Algebra/Quandle.lean,Mathlib/Algebra/Quaternion.lean,Mathlib/AlgebraicGeometry/AffineScheme.lean,Mathlib/AlgebraicGeometry/EllipticCurve/Affine.lean,Mathlib/AlgebraicGeometry/FunctionField.lean,Mathlib/AlgebraicGeometry/Gluing.lean,Mathlib/AlgebraicGeometry/Morphisms/Basic.lean,Mathlib/AlgebraicGeometry/Morphisms/QuasiCompact.lean,Mathlib/AlgebraicGeometry/Morphisms/QuasiSeparated.lean,Mathlib/AlgebraicGeometry/Morphisms/RingHomProperties.lean,Mathlib/AlgebraicGeometry/OpenImmersion.lean,Mathlib/AlgebraicGeometry/ProjectiveSpectrum/Scheme.lean,Mathlib/AlgebraicGeometry/Properties.lean,Mathlib/AlgebraicGeometry/Pullbacks.lean,Mathlib/AlgebraicGeometry/StructureSheaf.lean,Mathlib/AlgebraicTopology/SimplexCategory.lean,Mathlib/AlgebraicTopology/SplitSimplicialObject.lean,Mathlib/Analysis/Analytic/Composition.lean,Mathlib/Analysis/Analytic/IsolatedZeros.lean,Mathlib/Analysis/BoundedVariation.lean,Mathlib/Analysis/BoxIntegral/Box/Basic.lean,Mathlib/Analysis/BoxIntegral/Partition/Basic.lean,Mathlib/Analysis/Calculus/ContDiff/Basic.lean,Mathlib/Analysis/Calculus/Deriv/Slope.lean,Mathlib/Analysis/Calculus/FDeriv/Basic.lean,Mathlib/Analysis/Calculus/FDeriv/Extend.lean,Mathlib/Analysis/Calculus/InverseFunctionTheorem/ApproximatesLinearOn.lean,Mathlib/Analysis/Calculus/LocalExtr/Basic.lean,Mathlib/Analysis/Calculus/ParametricIntegral.lean,Mathlib/Analysis/Calculus/TangentCone.lean |
608 |
0 |
[] |
nobody |
501-7975 1 year ago |
593-9973 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`.
---
[](https://gitpod.io/from-referrer/)
|
merge-conflict
t-meta
t-algebra
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 |
501-7975 1 year ago |
522-75075 1 year ago |
0-0 0 seconds |
| 12608 |
eric-wieser author:eric-wieser |
feat: allow `nsmul` / `zsmul` to be omitted again, with a warning |
---
[](https://gitpod.io/from-referrer/)
|
awaiting-author
merge-conflict
t-meta
t-algebra
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 |
501-7975 1 year ago |
550-3039 1 year ago |
5-72414 5 days |
| 12588 |
adomani author:adomani |
remove trailingDegree |
---
[](https://gitpod.io/from-referrer/)
|
merge-conflict |
1280/979 |
Mathlib.lean,Mathlib/Algebra/MonoidAlgebra/Basic.lean,Mathlib/Algebra/Polynomial/Degree/Definitions.lean,Mathlib/Algebra/Polynomial/Degree/TrailingDegree.lean,Mathlib/Algebra/Polynomial/Div.lean,Mathlib/Algebra/Polynomial/Mirror.lean,Mathlib/Order/WithBot.lean,Mathlib/Tactic.lean,Mathlib/Tactic/MinMax.lean,Mathlib/Tactic/MinMaxTwo.lean,test/MinMax.lean |
11 |
0 |
[] |
nobody |
501-7975 1 year ago |
589-11551 1 year ago |
0-0 0 seconds |
| 12528 |
adomani author:adomani |
test: autotranslations Bot --> Top |
---
[](https://gitpod.io/from-referrer/)
|
merge-conflict |
350/294 |
Mathlib.lean,Mathlib/Order/WithBot.lean,Mathlib/Tactic.lean,Mathlib/Tactic/MinMax.lean,test/MinMax.lean |
5 |
0 |
[] |
nobody |
501-7975 1 year ago |
571-8117 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.
---
[](https://gitpod.io/from-referrer/)
|
help-wanted
awaiting-author
merge-conflict
|
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 |
501-7975 1 year ago |
514-17572 1 year ago |
1-73101 1 day |
| 12465 |
rosborn author:rosborn |
style: Change Subtype.val to (↑) |
---
This is a test to see replacing `Subtype.val` with `(↑)` where appropriate.
After performing the rewrite, some of the types subtly changed in a difficult to detect manner.
Before the change, `openEmbedding' _` had type `OpenEmbedding Subtype.val` where `Subtype.val` expanded as `@Subtype.val α fun x ↦ x ∈ U : ↥U → α`. After the change, `Subtype.val` expands to `@Subtype.val α fun x ↦ x ∈ ↑U : { x // x ∈ ↑U } → α`. This caused some later proofs to fail due to the different definition.
In a similar case, within the proof of `mfderiv_coe_sphere_injective` on line 553 `Subtype.val` expanded as `@Subtype.val E fun x ↦ x ∈ (Submodule.span ℝ {↑(-v)})ᗮ : ↥(Submodule.span ℝ {↑(-v)})ᗮ → E`.
After changing to `(↑)`, it expanded to `@Subtype.val E fun x ↦ x ∈ ↑(Submodule.span ℝ {↑(-v)})ᗮ : { x // x ∈ ↑(Submodule.span ℝ {↑(-v)})ᗮ } → E`. One benefit to using `(↑)` was that it lead to a shorter proof as `ContinuousLinearEquiv.coe_coe` could be removed on line 559.
In general, this subtle change in types is basically impossible to detect without a tool like leaff.
[](https://gitpod.io/from-referrer/)
|
merge-conflict |
50/50 |
Mathlib/Analysis/InnerProductSpace/Basic.lean,Mathlib/Analysis/Normed/Group/Hom.lean,Mathlib/CategoryTheory/Generator.lean,Mathlib/CategoryTheory/Limits/Shapes/Types.lean,Mathlib/CategoryTheory/Subobject/Types.lean,Mathlib/Data/Fin/Basic.lean,Mathlib/Data/Set/Function.lean,Mathlib/Data/Set/Image.lean,Mathlib/Data/Setoid/Basic.lean,Mathlib/Geometry/Manifold/ContMDiff/Basic.lean,Mathlib/Geometry/Manifold/Instances/Sphere.lean,Mathlib/Geometry/Manifold/LocalInvariantProperties.lean,Mathlib/GroupTheory/Subsemigroup/Operations.lean,Mathlib/LinearAlgebra/LinearIndependent.lean,Mathlib/Order/Directed.lean,Mathlib/Order/RelIso/Basic.lean,Mathlib/Order/RelIso/Set.lean,Mathlib/RingTheory/Artinian.lean,Mathlib/SetTheory/Cardinal/Cofinality.lean,Mathlib/SetTheory/Game/Basic.lean,Mathlib/SetTheory/Game/PGame.lean,Mathlib/SetTheory/Surreal/Basic.lean,Mathlib/Topology/Bornology/Constructions.lean,Mathlib/Topology/EMetricSpace/Lipschitz.lean,Mathlib/Topology/Germ.lean,Mathlib/Topology/UniformSpace/Basic.lean,Mathlib/Topology/UniformSpace/UniformConvergenceTopology.lean,Mathlib/Topology/UniformSpace/UniformEmbedding.lean |
28 |
1 |
['eric-wieser', 'rosborn'] |
nobody |
501-7975 1 year ago |
589-70166 1 year ago |
0-0 0 seconds |
| 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.
---
[](https://gitpod.io/from-referrer/)
|
WIP
merge-conflict
|
57/14 |
Mathlib/NumberTheory/RamificationInertia.lean |
1 |
3 |
['MichaelStollBayreuth', 'github-actions', 'leanprover-bot'] |
nobody |
501-7975 1 year ago |
558-53520 1 year ago |
0-0 0 seconds |
| 12473 |
adomani author:adomani |
first translations |
---
[](https://gitpod.io/from-referrer/)
|
merge-conflict |
424/265 |
Mathlib.lean,Mathlib/Order/Lattice.lean,Mathlib/Order/WithBot.lean,Mathlib/Tactic.lean,Mathlib/Tactic/MinMax.lean |
5 |
0 |
[] |
nobody |
501-7975 1 year ago |
571-8118 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.
---
[](https://gitpod.io/from-referrer/)
|
awaiting-author
merge-conflict
|
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 |
501-7975 1 year ago |
514-17566 1 year ago |
0-55655 15 hours |
| 12192 |
Ruben-VandeVelde author:Ruben-VandeVelde |
feat: generalize isLittleO_const_id_atTop/atBot |
From PNT+.
---
[](https://gitpod.io/from-referrer/)
|
awaiting-author
merge-conflict
t-analysis
|
10/4 |
Mathlib/Analysis/Asymptotics/Asymptotics.lean |
1 |
6 |
['Ruben-VandeVelde', 'llllvvuu', 'urkud'] |
nobody |
501-7974 1 year ago |
512-72241 1 year ago |
1-21749 1 day |
| 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.
---
[](https://gitpod.io/from-referrer/)
|
awaiting-author
merge-conflict
t-logic
|
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 |
501-7974 1 year ago |
623-46104 1 year ago |
1-12270 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.
---
[](https://gitpod.io/from-referrer/)
|
awaiting-author
merge-conflict
t-analysis
|
58/42 |
Mathlib/Analysis/NormedSpace/BoundedLinearMaps.lean |
1 |
3 |
['github-actions', 'j-loreaux', 'urkud'] |
nobody |
501-7973 1 year ago |
608-22035 1 year ago |
1-29105 1 day |
| 11100 |
eric-wieser author:eric-wieser |
feat(CategoryTheory/Limits): add `Functor.mapBinaryBiconeInv` |
---
- [ ] depends on: #11130
[](https://gitpod.io/from-referrer/)
It's tempting to try to prove something like
```lean
theorem Functor.mapBinaryBiconeInv_toCone [Limits.HasZeroMorphisms C]
[Limits.HasZeroMorphisms D]
(e : D ⥤ C) [IsEquivalence e] {X Y : D} (b : BinaryBicone (e.obj X) (e.obj Y)) :
(e.mapBinaryBiconeInv b).toCone =
(e.mapConeInv <| (Cones.postcompose (pairComp X Y e).symm.hom).obj b.toCone) := by
simp
sorry
theorem Functor.mapBinaryBiconeInv_toCocone [Limits.HasZeroMorphisms C]
[Limits.HasZeroMorphisms D]
(e : D ⥤ C) [IsEquivalence e] {X Y : D} (b : BinaryBicone (e.obj X) (e.obj Y)) :
(e.mapBinaryBiconeInv b).toCocone =
(e.mapCoconeInv <| (Cocones.precompose (pairComp X Y e).hom).obj b.toCocone) := by
sorry
```
but maybe equality is evil here |
merge-conflict
awaiting-CI
t-category-theory
|
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 |
501-7973 1 year ago |
522-75075 1 year ago |
0-0 0 seconds |
| 10024 |
ADedecker author:ADedecker |
feat: rename `connectedComponentOfOne` to `identityComponent`, prove that it is normal and open |
---
[](https://gitpod.io/from-referrer/)
|
merge-conflict
awaiting-CI
t-topology
|
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 |
501-7973 1 year ago |
512-72830 1 year ago |
0-832 13 minutes |
| 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.
---
[](https://gitpod.io/from-referrer/)
|
WIP
merge-conflict
t-meta
|
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 |
501-7973 1 year ago |
562-31632 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
[](https://gitpod.io/from-referrer/) |
merge-conflict
t-order
t-logic
|
123/50 |
Mathlib.lean,Mathlib/Algebra/Order/Hom/Ring.lean,Mathlib/Data/DFinsupp/Order.lean,Mathlib/Data/Finsupp/Order.lean,Mathlib/Data/FunLike/Basic.lean,Mathlib/Dynamics/Circle/RotationNumber/TranslationNumber.lean,Mathlib/GroupTheory/Congruence.lean,Mathlib/Order/FunLike.lean,Mathlib/Order/Heyting/Hom.lean,Mathlib/Order/Hom/Basic.lean,Mathlib/Order/Hom/Bounded.lean,Mathlib/Order/Hom/CompleteLattice.lean,Mathlib/Topology/Order/Hom/Basic.lean |
13 |
48 |
['YaelDillies', 'dupuisf', 'leanprover-community-mathlib4-bot', 'urkud'] |
nobody |
501-7973 1 year ago |
522-75075 1 year ago |
64-12826 64 days |
| 10845 |
Shamrock-Frost author:Shamrock-Frost |
Refactor: Make MonoidalFunctor carry the data of an inverse |
We change the definition of a strong monoidal functor from a lax monoidal functor for which the unitor and tensorator are `IsIso` to a lax monoidal functor with the data of inverses for the unitor and tensorator. This requires fixing a lot of knock on effects.
---
This is a **draft PR**. I would like to talk with people on zulip before merging it, and plan ahead to when we have oplax/colax monoidal functors as well. I'm not sure the approach I took here where `MonoidalFunctor` inherits from `LaxMonoidalFunctor` is a good choice if we want to be lax/oplax symmetric.
[](https://gitpod.io/from-referrer/)
|
WIP
merge-conflict
RFC
t-category-theory
|
3799/1589 |
Mathlib/Algebra/Category/ModuleCat/Adjunctions.lean,Mathlib/Algebra/Homology/HomotopyCategory/DegreewiseSplit.lean,Mathlib/CategoryTheory/Adjunction/Basic.lean,Mathlib/CategoryTheory/Adjunction/Mates.lean,Mathlib/CategoryTheory/Adjunction/Opposites.lean,Mathlib/CategoryTheory/Adjunction/Prod.lean,Mathlib/CategoryTheory/Adjunction/Whiskering.lean,Mathlib/CategoryTheory/Bicategory/End.lean,Mathlib/CategoryTheory/Bicategory/SingleObj.lean,Mathlib/CategoryTheory/CatCommSq.lean,Mathlib/CategoryTheory/CatSquares.lean,Mathlib/CategoryTheory/Enriched/Basic.lean,Mathlib/CategoryTheory/Equivalence.lean,Mathlib/CategoryTheory/Iso.lean,Mathlib/CategoryTheory/Monoidal/Adjunction.lean,Mathlib/CategoryTheory/Monoidal/Braided.lean,Mathlib/CategoryTheory/Monoidal/Category.lean,Mathlib/CategoryTheory/Monoidal/Center.lean,Mathlib/CategoryTheory/Monoidal/CommMon_.lean,Mathlib/CategoryTheory/Monoidal/Discrete.lean,Mathlib/CategoryTheory/Monoidal/End.lean,Mathlib/CategoryTheory/Monoidal/Free/Basic.lean,Mathlib/CategoryTheory/Monoidal/Functor.lean,Mathlib/CategoryTheory/Monoidal/Limits.lean,Mathlib/CategoryTheory/Monoidal/Mon_.lean,Mathlib/CategoryTheory/Monoidal/NaturalTransformation.lean,Mathlib/CategoryTheory/Monoidal/Opposite.lean,Mathlib/CategoryTheory/Monoidal/Rigid/FunctorCategory.lean,Mathlib/CategoryTheory/Monoidal/Rigid/OfEquivalence.lean,Mathlib/CategoryTheory/Monoidal/Subcategory.lean,Mathlib/CategoryTheory/Monoidal/Transport.lean,Mathlib/CategoryTheory/Monoidal/Types/Basic.lean,Mathlib/CategoryTheory/Opposites.lean,Mathlib/CategoryTheory/Products/Associator.lean,Mathlib/CategoryTheory/Products/Basic.lean,Mathlib/CategoryTheory/Shift/Basic.lean,Mathlib/CategoryTheory/Shift/Pullback.lean,Mathlib/CategoryTheory/Whiskering.lean,Mathlib/RepresentationTheory/Action/Monoidal.lean,Mathlib/RepresentationTheory/GroupCohomology/Resolution.lean,Mathlib/RepresentationTheory/Rep.lean |
41 |
7 |
['Shamrock-Frost', 'joelriou'] |
nobody |
501-7973 1 year ago |
656-32506 1 year ago |
0-0 0 seconds |
| 8616 |
eric-wieser author:eric-wieser |
feat(Algebra/FreeAlgebra): add right action and `IsCentralScalar` |
---
- [ ] depends on: #8652
[](https://gitpod.io/from-referrer/)
|
merge-conflict
awaiting-CI
t-algebra
label:t-algebra$ |
30/8 |
Mathlib/Algebra/FreeAlgebra.lean |
1 |
1 |
['leanprover-community-mathlib4-bot'] |
nobody |
501-7972 1 year ago |
522-75075 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
---
[](https://gitpod.io/from-referrer/)
|
awaiting-author
merge-conflict
t-algebra
label:t-algebra$ |
80/18 |
Mathlib/GroupTheory/Congruence.lean,Mathlib/RingTheory/Congruence.lean |
2 |
6 |
['YaelDillies', 'eric-wieser'] |
nobody |
501-7972 1 year ago |
550-73026 1 year ago |
29-65537 29 days |
| 8582 |
eric-wieser author:eric-wieser |
wip |
---
[](https://gitpod.io/from-referrer/)
|
merge-conflict |
3/7 |
Mathlib/Algebra/Category/AlgebraCat/Monoidal.lean,Mathlib/LinearAlgebra/TensorProduct.lean |
2 |
4 |
['eric-wieser', 'leanprover-bot'] |
nobody |
501-7972 1 year ago |
751-81228 2 years 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]
[](https://gitpod.io/from-referrer/)
|
awaiting-author
merge-conflict
t-algebra
label:t-algebra$ |
45/1 |
Mathlib/Algebra/Category/ModuleCat/Basic.lean,Mathlib/Algebra/Module/Injective.lean,Mathlib/LinearAlgebra/Basic.lean,Mathlib/LinearAlgebra/BilinearMap.lean |
4 |
21 |
['AntoineChambert-Loir', 'alreadydone', 'jjaassoonn', 'leanprover-community-mathlib4-bot'] |
nobody |
501-7972 1 year ago |
602-44101 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
[](https://gitpod.io/from-referrer/)
|
merge-conflict
t-algebra
label:t-algebra$ |
237/4 |
Mathlib.lean,Mathlib/Algebra/DirectSum/Internal.lean,Mathlib/Algebra/GradedMonoid.lean,Mathlib/Algebra/Module/GradeZeroModule.lean,Mathlib/RingTheory/GradedAlgebra/Basic.lean,Mathlib/RingTheory/GradedAlgebra/Noetherian.lean |
6 |
4 |
['FMLJohn', 'github-actions', 'leanprover-community-mathlib4-bot'] |
nobody |
501-7972 1 year ago |
534-82274 1 year ago |
0-0 0 seconds |
| 9252 |
FR-vdash-bot author:FR-vdash-bot |
chore: remove redundant covariance instances, add priority |
I noticed that the following code is surprisingly slow.
``` lean
import Mathlib
count_heartbeats in
example {n : ℕ} : CovariantClass (Fin (n + 1)) (Fin (n + 1)) (· + ·) (· < ·) := by
try infer_instance
sorry
```
This PR removed some redundant instances. The heartbeats have dropped from 19118 to 11450 (still too slow).
Lean4 still seems to make some redundant attempts. See also https://github.com/leanprover-community/mathlib4/issues/6646#issuecomment-1691792488.
---
[](https://gitpod.io/from-referrer/)
|
WIP
awaiting-author
merge-conflict
t-algebra
t-order
slow-typeclass-synthesis
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 |
501-7972 1 year ago |
559-51397 1 year ago |
0-0 0 seconds |
| 8961 |
eric-wieser author:eric-wieser |
refactor: use the coinduced topology on ULift |
---
- [x] depends on: #8958
[](https://gitpod.io/from-referrer/)
|
awaiting-author
please-adopt
merge-conflict
awaiting-CI
|
46/14 |
Mathlib/Analysis/Normed/Group/Basic.lean,Mathlib/Topology/Bornology/Constructions.lean,Mathlib/Topology/Constructions.lean |
3 |
6 |
['eric-wieser', 'github-actions', 'leanprover-community-mathlib4-bot', 'urkud'] |
nobody |
501-7972 1 year ago |
689-216 1 year ago |
0-0 0 seconds |
| 9146 |
laughinggas author:laughinggas |
feat(Data/ZMod/Defs): Topological structure on `ZMod` |
Added a discrete topology structure to `ZMod n` for all `n`
---
[](https://gitpod.io/from-referrer/)
|
awaiting-author
merge-conflict
t-topology
t-algebra
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 |
501-7972 1 year ago |
682-16100 1 year ago |
7-6153 7 days |
| 9229 |
eric-wieser author:eric-wieser |
refactor(Algebra/GradedMonoid): Use `HMul` to define `GMul` |
This make the notation much nicer, but I'm pretty sure this is a bad idea for performance / ambiguity reasons.
---
[](https://gitpod.io/from-referrer/)
|
WIP
merge-conflict
t-algebra
label:t-algebra$ |
114/125 |
Mathlib/Algebra/DirectSum/Algebra.lean,Mathlib/Algebra/DirectSum/Internal.lean,Mathlib/Algebra/DirectSum/Ring.lean,Mathlib/Algebra/GradedMonoid.lean,Mathlib/Algebra/GradedMulAction.lean,Mathlib/Algebra/Module/GradedModule.lean,Mathlib/Algebra/MonoidAlgebra/ToDirectSum.lean,Mathlib/LinearAlgebra/TensorAlgebra/ToTensorPower.lean,Mathlib/LinearAlgebra/TensorPower.lean,Mathlib/LinearAlgebra/TensorProduct/Graded/Internal.lean,Mathlib/RingTheory/GradedAlgebra/Basic.lean |
11 |
6 |
['eric-wieser', 'leanprover-bot'] |
nobody |
501-7972 1 year ago |
664-84089 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.
---
[](https://gitpod.io/from-referrer/)
|
WIP
merge-conflict
t-category-theory
|
21/8 |
Mathlib/Algebra/Category/ModuleCat/Adjunctions.lean,Mathlib/CategoryTheory/Monoidal/Functorial.lean,Mathlib/CategoryTheory/Monoidal/Limits.lean |
3 |
0 |
[] |
nobody |
501-7972 1 year ago |
689-11821 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)
---
[](https://gitpod.io/from-referrer/)
|
awaiting-author
merge-conflict
t-analysis
|
540/0 |
Mathlib.lean,Mathlib/Analysis/Convex/ConvexFunction.lean |
2 |
15 |
['github-actions', 'winstonyin'] |
nobody |
501-7972 1 year ago |
631-61061 1 year ago |
22-72922 22 days |
| 9570 |
eric-wieser author:eric-wieser |
feat(Algebra/Star): Non-commutative generalization of `StarModule` |
[Zulip thread](https://leanprover.zulipchat.com/#narrow/stream/116395-maths/topic/Star.20modules.20over.20non-commutative.20scalars/near/383664005).
Until we address #7152, we have to have both `StarModule` and `StarModule'`.
To prove this generalization is useful, this shows that with it as an assumption, `TrivSqZeroExt` is a `StarRing`.
---
[](https://gitpod.io/from-referrer/)
|
WIP
merge-conflict
awaiting-CI
t-algebra
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 |
501-7972 1 year ago |
593-84578 1 year ago |
0-0 0 seconds |
| 9356 |
alexjbest author:alexjbest |
feat: assumption? |
A little helper for replacing `assumption`s with `exact` statements quickly
---
If this is approved I will add tests
This begs the question of whether it might simply be better to add some sort of code action for "replace with trythis output"
[](https://gitpod.io/from-referrer/)
|
awaiting-author
merge-conflict
t-meta
|
24/0 |
Mathlib.lean,Mathlib/Tactic.lean,Mathlib/Tactic/Common.lean,Mathlib/Tactic/TryAssumption.lean |
4 |
5 |
['alexjbest', 'j-loreaux', 'jcommelin'] |
nobody |
501-7972 1 year ago |
684-28369 1 year ago |
19-26304 19 days |
| 9504 |
alreadydone author:alreadydone |
chore: remove some IsSeparable assumptions |
---
[](https://gitpod.io/from-referrer/)
|
WIP
merge-conflict
t-algebra
label:t-algebra$ |
41/14 |
Mathlib/NumberTheory/NumberField/Norm.lean,Mathlib/RingTheory/Norm.lean |
2 |
0 |
[] |
nobody |
501-7972 1 year ago |
589-69156 1 year ago |
0-0 0 seconds |
| 9487 |
eric-wieser author:eric-wieser |
feat: the exponential of dual numbers over non-commutative rings |
This is a work in progress, as I don't know my way around the measure theory library.
---
- [x] depends on: #9489
- [x] depends on: #9486
- [x] depends on: #10427
- [ ] depends on: #10452
[](https://gitpod.io/from-referrer/)
|
WIP
merge-conflict
t-analysis
t-algebra
t-measure-probability
label:t-algebra$ |
97/0 |
Mathlib/Analysis/NormedSpace/TrivSqZeroExt.lean |
1 |
7 |
['github-actions', 'leanprover-community-mathlib4-bot'] |
nobody |
501-7972 1 year ago |
506-3041 1 year ago |
0-0 0 seconds |
| 9642 |
eric-wieser author:eric-wieser |
refactor(Analysis/Normed/{Group/Field}/Basic): Let `extends` generate the repeated fields |
New-style structure shenanigans mean that instance constructors randomly complain about a missing field that can be found with `__ : MetricSpace _ := infer_instance`.
---
[](https://gitpod.io/from-referrer/)
I will write a longer PR description for this once CI is happy
|
help-wanted
WIP
awaiting-author
merge-conflict
t-analysis
|
122/202 |
Mathlib/Analysis/Calculus/ContDiff/Basic.lean,Mathlib/Analysis/Complex/Basic.lean,Mathlib/Analysis/Matrix.lean,Mathlib/Analysis/Normed/Field/Basic.lean,Mathlib/Analysis/Normed/Group/Basic.lean,Mathlib/Analysis/Normed/Group/Completion.lean,Mathlib/Analysis/Normed/Order/Basic.lean,Mathlib/Analysis/NormedSpace/ProdLp.lean,Mathlib/Analysis/NormedSpace/Star/Matrix.lean,Mathlib/Analysis/NormedSpace/Unitization.lean,Mathlib/Analysis/Quaternion.lean,Mathlib/Geometry/Manifold/Instances/Sphere.lean,Mathlib/InformationTheory/Hamming.lean,Mathlib/MeasureTheory/Measure/Lebesgue/VolumeOfBalls.lean,Mathlib/NumberTheory/NumberField/CanonicalEmbedding.lean,Mathlib/NumberTheory/Padics/PadicIntegers.lean,Mathlib/Topology/ContinuousFunction/Bounded.lean |
17 |
11 |
['eric-wieser', 'leanprover-bot', 'urkud'] |
nobody |
501-7972 1 year ago |
678-74274 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.
[](https://gitpod.io/from-referrer/)
|
awaiting-author
merge-conflict
t-meta
|
312/5 |
Mathlib.lean,Mathlib/Lean/CoreM.lean,Mathlib/Lean/Elab/Tactic/ElabTerm.lean,Mathlib/Lean/Elab/Term.lean,Mathlib/Util/Delaborators.lean,Mathlib/Util/Syntax.lean |
6 |
2 |
['kmill', 'thorimur'] |
kmill assignee:kmill |
501-7972 1 year ago |
703-18270 1 year ago |
38-46649 38 days |
| 8519 |
eric-wieser author:eric-wieser |
refactor(LinearAlgebra/TensorProduct): golf using `liftAddHom` |
This new `TensorProduct.liftAddHom` doesn't require bilinearity, only that scalar multiplication can be moved between the arguments.
While in theory we only need the `AddMonoidHom` version as it offers exactly the same generality, we first provide an unbundled `liftFun` as this seems to give a sizeable performance boost if used in downstream `lift` variants.
---
- [x] depends on: #8571
- [x] depends on: #8584
[](https://gitpod.io/from-referrer/)
|
awaiting-author
merge-conflict
t-algebra
label:t-algebra$ |
53/50 |
Mathlib/Algebra/Category/AlgebraCat/Monoidal.lean,Mathlib/LinearAlgebra/TensorProduct.lean,Mathlib/LinearAlgebra/TensorProduct/Tower.lean |
3 |
28 |
['bustercopley', 'eric-wieser', 'jcommelin', 'jjaassoonn', 'leanprover-bot', 'leanprover-community-mathlib4-bot', 'mathlib-bors'] |
nobody |
501-7972 1 year ago |
649-66687 1 year ago |
5-6524 5 days |
| 6580 |
adomani author:adomani |
chore: `move_add`-driven replacements |
This PR accompanies #6576 and uses `move_add/mul` to simplify/streamline a selection of proofs.
---
[](https://gitpod.io/from-referrer/)
|
awaiting-author
merge-conflict
|
12/13 |
Counterexamples/Monic_nonRegular.lean,Mathlib/Algebra/Associated.lean,Mathlib/Data/Polynomial/RingDivision.lean,Mathlib/LinearAlgebra/QuadraticForm/Basic.lean |
4 |
0 |
[] |
nobody |
501-7971 1 year ago |
617-82803 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.
---
[](https://gitpod.io/from-referrer/)
|
WIP
merge-conflict
t-meta
|
327/0 |
Mathlib.lean,Mathlib/Tactic.lean,Mathlib/Tactic/ResynthInstances.lean,test/ResynthInstances.lean |
4 |
0 |
[] |
nobody |
501-7971 1 year ago |
831-68394 2 years ago |
0-0 0 seconds |
| 7962 |
eric-wieser author:eric-wieser |
feat: `DualNumber (Quaternion R)` as a `CliffordAlgebra` |
This provides a clifford algebra isomorphic to the dual quaternions
---
- [x] depends on: #7934
[](https://gitpod.io/from-referrer/)
|
WIP
merge-conflict
t-algebra
label:t-algebra$ |
307/7 |
Mathlib/Algebra/DualNumber.lean,Mathlib/Algebra/QuaternionBasis.lean,Mathlib/LinearAlgebra/CliffordAlgebra/Equivs.lean |
3 |
16 |
['github-actions', 'leanprover-community-mathlib4-bot'] |
nobody |
501-7971 1 year ago |
512-72960 1 year ago |
0-0 0 seconds |
| 7909 |
mcdoll author:mcdoll |
fix(Tactic/Continuity): remove npowRec and add new tag for Continuous.pow |
---
[](https://gitpod.io/from-referrer/)
|
WIP
merge-conflict
t-meta
t-topology
|
14/9 |
Mathlib/Tactic/Continuity.lean,Mathlib/Topology/Category/TopCat/Limits/Basic.lean,test/Continuity.lean |
3 |
2 |
['eric-wieser'] |
nobody |
501-7971 1 year ago |
776-34412 2 years ago |
0-72515 20 hours |
| 7875 |
astrainfinita author:astrainfinita |
chore: make `SMulCommClass A A B` and `SMulCommClass A B B` higher priority |
---
[](https://gitpod.io/from-referrer/)
|
merge-conflict
t-algebra
slow-typeclass-synthesis
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 |
501-7971 1 year ago |
522-75075 1 year ago |
1-47913 1 day |
| 6630 |
MohanadAhmed author:MohanadAhmed |
feat: Reduced Spectral Theorem |
For A hermitian matrix $A : n \times n$ with rank $A.rank \leq n$, we can eliminate the zero eigenvalues and their corresponding eigenvectors from the (alternate) spectral theorem. As such the matrix $A$ can be written as: $$A = V₁ D V₁ᴴ$$ where
- $V₁$ : $n \times r$ is the matrix of eigenvector with non-zero associated eigenvalues.
- $D$ is $r \times r$ is the diagonal matrix containing only non-zero eigenvalues on its main diagonal.
with $r = A.rank$ being the rank of the matrix
Towards that goal we make several equivalence definitions:
- `{i // hA.eigenvalues i ≠ 0} ≃ Fin (A.rank)` the set of non-zero eigenvalues can be indexed by the numbers from 0 to (r - 1).
- `{i // ¬ hA.eigenvalues i ≠ 0} ≃ Fin (n - A.rank)` the set of non-zero eigenvalues can be indexed by the numbers from 0 to (n - r - 1).
- `{i // hA.eigenvalues i ≠ 0} ⊕ {i // ¬hA.eigenvalues i ≠ 0} ≃ n`: the index set of the matrix (together with the associated eigenvector matrix and eigenvalues matrix ) can be partitioned into two complement groups the ones corresponding to non-zero eigenvalues and the ones corresponding to zero eigenvalues.
- We can then put the previous definitions together to obtain a: `Fin (A.rank) ⊕ Fin (Fintype.card n - A.rank) ≃ n`
---
[](https://gitpod.io/from-referrer/)
|
WIP
merge-conflict
t-algebra
label:t-algebra$ |
31/0 |
Mathlib/LinearAlgebra/Matrix/Spectrum.lean |
1 |
0 |
[] |
nobody |
501-7971 1 year ago |
512-73088 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.
---
[](https://gitpod.io/from-referrer/)
|
awaiting-author
merge-conflict
t-order
|
59/0 |
Mathlib.lean,Mathlib/Data/Set/Function.lean,Mathlib/Topology/Algebra/Order/IccExtendFromIoo.lean |
3 |
7 |
['j-loreaux', 'shuxuezhuyi'] |
nobody |
501-7971 1 year ago |
630-57637 1 year ago |
30-30522 30 days |
| 7467 |
ADedecker author:ADedecker |
feat: spectrum of X →ᵇ ℂ is StoneCech X |
---
[](https://gitpod.io/from-referrer/)
|
WIP
merge-conflict
t-analysis
|
121/23 |
Mathlib/Analysis/NormedSpace/Star/BoundedContinuousFunction.lean,Mathlib/Analysis/NormedSpace/Star/GelfandDuality.lean,Mathlib/Topology/ContinuousFunction/Bounded.lean,Mathlib/Topology/ContinuousFunction/Compact.lean |
4 |
1 |
['github-actions'] |
nobody |
501-7971 1 year ago |
662-43383 1 year ago |
0-0 0 seconds |
| 7615 |
eric-wieser author:eric-wieser |
chore(LinearAlgebra/Basic): generalize compatibleMaps to semilinear maps |
Spotted while reviewing #7611
---
- [x] depends on: #7611
[](https://gitpod.io/from-referrer/)
|
merge-conflict
easy
awaiting-CI
t-algebra
label:t-algebra$ |
9/33 |
Mathlib/LinearAlgebra/Basic.lean |
1 |
1 |
['leanprover-community-mathlib4-bot'] |
nobody |
501-7971 1 year ago |
522-75075 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.
[](https://gitpod.io/from-referrer/)
|
help-wanted
merge-conflict
t-analysis
|
78/68 |
Mathlib/Analysis/LocallyConvex/ContinuousOfBounded.lean,Mathlib/Analysis/Normed/Field/Basic.lean,Mathlib/Analysis/Normed/Group/Basic.lean,Mathlib/Analysis/NormedSpace/Basic.lean,Mathlib/Analysis/NormedSpace/Exponential.lean,Mathlib/Analysis/NormedSpace/Spectrum.lean,Mathlib/Analysis/RCLike/Basic.lean,Mathlib/NumberTheory/NumberField/Embeddings.lean |
8 |
0 |
[] |
nobody |
501-7971 1 year ago |
522-75075 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 
Three definitions for flatness:
1. in terms of injectiveness
```lean
def Flat.injective : Prop :=
∀ ⦃N N' : ModuleCat.{u} R⦄ (L : N ⟶ N'),
Function.Injective L → Function.Injective ((tensorRight (ModuleCat.of R M)).map L)
```
2. in terms of ideals
```lean
def Flat.ideal : Prop :=
∀ (I : Ideal R), Function.Injective (TensorProduct.lift ((lsmul R M).comp I.subtype))
```
3. in terms of finitely generated ideal
```lean
def Flat.fg_ideal : Prop :=
∀ ⦃I : Ideal R⦄ (_ : I.FG), Function.Injective (TensorProduct.lift ((lsmul R M).comp I.subtype))
```
and they are all equivalent:
```lean
lemma tfae : List.TFAE
[ Flat.injective R M,
Flat.ideal R M,
Flat.fg_ideal R M ] := by
```
The dependencies between these changed files are:
```
Algebra.Module.LinearMap---------------------------------
| |
| |
v v
Algebra.Category.ModuleCat.TensorProduct -----> Algebra.Character
|
|
|
v
Algebra.DirectLimitAndTensorProduct -------------> RingTheory.Flat
```
to prove equivalence of other definitions, e.g. exact functor, tor, etc should be easier with this because the proof is will be categorical
---
-------------
Some other stuff not about flatness
1. If $S$ is a submonoid and $I$ is maximally disjoint from $S$ then $I$ is prime
2. if $\mathfrak p$ is a minimal prime, then $x \in \mathfrak p$ implies that $x$ is a zero divisor
3. Noetherian rings has only finitely many minimal ideals
4. One version of [the prime avoidance lemma](https://en.wikipedia.org/wiki/Prime_avoidance_lemma): if $E$ is an addsubgroup of a ring and is mutiplicatively closed, and $\mathfrak p_i$ is some prime ideals, then not being any subset of the individual prime ideal implies that not being a subset of their union
----------
[](https://gitpod.io/from-referrer/)
|
merge-conflict |
1828/16 |
Mathlib.lean,Mathlib/Algebra/Category/ModuleCat/TensorProduct.lean,Mathlib/Algebra/Character.lean,Mathlib/Algebra/DirectLimitAndTensorProduct.lean,Mathlib/Algebra/Module/LinearMap.lean,Mathlib/AlgebraicGeometry/PrimeSpectrum/Basic.lean,Mathlib/AlgebraicGeometry/PrimeSpectrum/Noetherian.lean,Mathlib/CategoryTheory/Functor/Fin.lean,Mathlib/CategoryTheory/ShortExactSequence.lean,Mathlib/RingTheory/Flat.lean,Mathlib/RingTheory/Ideal/Basic.lean,Mathlib/RingTheory/Ideal/MinimalPrime.lean,Mathlib/RingTheory/Ideal/PrimeAvoidance.lean |
13 |
6 |
['eric-wieser', 'jjaassoonn'] |
nobody |
501-7971 1 year ago |
694-73276 1 year ago |
0-0 0 seconds |
| 7713 |
RemyDegenne author:RemyDegenne |
feat: add_left/right_inj for measures |
`μ + ν₁ = μ + ν₂ ↔ ν₁ = ν₂`, and similarly on the right. This is not true in general for measures, but is true when `μ` is mutually singular with the two other measures or when `μ` is finite.
---
[](https://gitpod.io/from-referrer/)
|
awaiting-author
merge-conflict
t-measure-probability
|
53/1 |
Mathlib/MeasureTheory/Measure/MutuallySingular.lean,lean-toolchain |
2 |
6 |
['RemyDegenne', 'digama0', 'eric-wieser', 'fpvandoorn'] |
nobody |
501-7971 1 year ago |
775-13811 2 years ago |
0-62955 17 hours |
| 7601 |
digama0 author:digama0 |
feat: ring hom support in `ring` |
As [requested on Zulip](https://leanprover.zulipchat.com/#narrow/stream/287929-mathlib4/topic/aroots/near/395750055). Adds support for distributing ring morphisms in `ring`:
```lean
example (p : ℤ[X]) (r : ℤ) : C (2 * r) * p = C r * p + C r * p := by ring
```
---
[](https://gitpod.io/from-referrer/)
|
awaiting-author
merge-conflict
t-meta
t-algebra
label:t-algebra$ |
257/48 |
Mathlib/Tactic/Ring/Basic.lean,test/linear_combination.lean,test/ring.lean |
3 |
1 |
['eric-wieser'] |
nobody |
501-7971 1 year ago |
558-18963 1 year ago |
0-0 0 seconds |
| 7227 |
kmill author:kmill |
feat: flexible binders and integration into notation3 |
Introduces `flexibleBinders`, which is an extensible system for binder notations that allow destructuring, bounded domains, and other niceties. Integrates this into `notation3`, and makes `Finset.sum`/`Finset.prod` use it.
---
- [ ] depends on: #6833
[](https://gitpod.io/from-referrer/)
|
WIP
merge-conflict
t-meta
|
1215/131 |
Mathlib.lean,Mathlib/Algebra/BigOperators/Basic.lean,Mathlib/Algebra/BigOperators/Intervals.lean,Mathlib/Algebra/BigOperators/NatAntidiagonal.lean,Mathlib/Mathport/Notation.lean,Mathlib/Util/FlexibleBinders.lean,Mathlib/Util/FlexibleBindersFinset.lean,Mathlib/Util/SyntaxFun.lean,test/FlexibleBinders.lean,test/notation3.lean |
10 |
3 |
['eric-wieser', 'kmill', 'leanprover-community-mathlib4-bot'] |
nobody |
501-7971 1 year ago |
703-75807 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
[](https://gitpod.io/from-referrer/)
|
awaiting-author
merge-conflict
t-algebra
label:t-algebra$ |
52/0 |
Mathlib/LinearAlgebra/Matrix/ProjectiveSpecialLinearGroup.lean |
1 |
3 |
['jcommelin', 'leanprover-community-mathlib4-bot', 'shuxuezhuyi'] |
jcommelin assignee:jcommelin |
501-7971 1 year ago |
521-47830 1 year ago |
1-85757 1 day |
| 7932 |
eric-wieser author:eric-wieser |
refactor(Algebra/TrivSqZeroExt): replace with a structure |
This is dogfooding my claim that "one-field structures are the lesser evil in Lean 4".
This runs into the `simp [(stupid_parens)]` bug; or rather, a particular nasty instance of it where the offending simp call is inside `@[simps]`.
---
[](https://gitpod.io/from-referrer/)
|
merge-conflict
awaiting-CI
t-algebra
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 |
501-7971 1 year ago |
522-75075 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.
---
[](https://gitpod.io/from-referrer/)
|
help-wanted
awaiting-author
merge-conflict
awaiting-CI
|
174/201 |
Mathlib/Algebra/Algebra/Equiv.lean,Mathlib/Algebra/Algebra/Hom.lean,Mathlib/Algebra/Category/GroupCat/ZModuleEquivalence.lean,Mathlib/Algebra/Category/GroupWithZeroCat.lean,Mathlib/Algebra/Category/ModuleCat/Presheaf.lean,Mathlib/Algebra/Category/MonCat/Basic.lean,Mathlib/Algebra/Group/Ext.lean,Mathlib/Algebra/Group/Prod.lean,Mathlib/Algebra/Group/UniqueProds.lean,Mathlib/Algebra/Hom/Equiv/Basic.lean,Mathlib/Algebra/Hom/Group/Defs.lean,Mathlib/Algebra/Hom/GroupAction.lean,Mathlib/Algebra/Hom/NonUnitalAlg.lean,Mathlib/Algebra/Hom/Ring/Defs.lean,Mathlib/Algebra/Lie/Basic.lean,Mathlib/Algebra/Module/Equiv.lean,Mathlib/Algebra/Module/LinearMap.lean,Mathlib/Algebra/Order/Hom/Ring.lean,Mathlib/Algebra/Order/Interval.lean,Mathlib/Algebra/Ring/Equiv.lean,Mathlib/Analysis/Normed/Group/SemiNormedGroupCat.lean,Mathlib/Data/FunLike/Basic.lean,Mathlib/Data/Rat/Cast/CharZero.lean,Mathlib/Data/Real/EReal.lean,Mathlib/Data/Real/Sqrt.lean,Mathlib/GroupTheory/FreeAbelianGroup.lean,Mathlib/GroupTheory/MonoidLocalization.lean,Mathlib/LinearAlgebra/Quotient.lean,Mathlib/LinearAlgebra/TensorProduct.lean,Mathlib/RingTheory/RingInvo.lean,Mathlib/Topology/Algebra/Module/Basic.lean,Mathlib/Topology/MetricSpace/Dilation.lean |
32 |
0 |
[] |
nobody |
501-7971 1 year ago |
817-62231 2 years 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')
```
[](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 |
501-7971 1 year ago |
522-75075 1 year ago |
35-56459 35 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.
---
[](https://gitpod.io/from-referrer/)
|
WIP
merge-conflict
t-meta
|
148/0 |
Mathlib.lean,Mathlib/Lean/SubExpr.lean |
2 |
0 |
[] |
nobody |
501-7970 1 year ago |
921-19286 2 years 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 |
WIP
merge-conflict
|
3/0 |
lakefile.lean |
1 |
21 |
['Kha', 'kim-em', 'leanprover-bot', 'tydeu'] |
nobody |
501-7970 1 year ago |
532-67965 1 year ago |
0-0 0 seconds |
| 5934 |
eric-wieser author:eric-wieser |
feat: port Data.Rat.MetaDefs |
---
[](https://gitpod.io/from-referrer/)
This needs some eyes from people familiar with Qq |
help-wanted
mathlib-port
merge-conflict
t-meta
|
183/0 |
Mathlib.lean,Mathlib/Data/Rat/MetaDefs.lean,test/rat.lean |
3 |
4 |
['eric-wieser', 'gebner'] |
nobody |
501-7970 1 year ago |
670-81359 1 year ago |
0-0 0 seconds |
| 4771 |
thorimur author:thorimur |
feat: Backtrack minimize |
Utilities for backtracking in order to attain a minimum according to some arbitrary notion of size when generating lists of parts and alternatives in alternating fashion. Motivated by minimizing the number of generated subgoals under apply-like actions on the goal.
---
[](https://gitpod.io/from-referrer/)
|
merge-conflict
t-meta
|
482/1 |
Mathlib/Tactic/Backtracking.lean,test/Backtracking.lean |
2 |
0 |
[] |
nobody |
501-7970 1 year ago |
823-27345 2 years 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
[](https://gitpod.io/from-referrer/)
|
merge-conflict
awaiting-CI
t-algebra
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 |
501-7970 1 year ago |
522-75075 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.
---
[](https://gitpod.io/from-referrer/)
|
awaiting-author
merge-conflict
t-analysis
|
26/0 |
Mathlib/Analysis/SpecialFunctions/Gaussian.lean |
1 |
3 |
['ocfnash', 'slerpyyy', 'urkud'] |
nobody |
501-7970 1 year ago |
765-83967 2 years ago |
9-67365 9 days |
| 4127 |
kmill author:kmill |
refactor: create HasAdj class, define Digraph, and generalize some SimpleGraph API |
---
[](https://gitpod.io/from-referrer/)
|
awaiting-author
merge-conflict
t-combinatorics
|
1403/551 |
Mathlib.lean,Mathlib/Combinatorics/Digraph/Basic.lean,Mathlib/Combinatorics/Graph/Classes.lean,Mathlib/Combinatorics/Graph/Dart.lean,Mathlib/Combinatorics/Graph/Hom.lean,Mathlib/Combinatorics/SimpleGraph/AdjMatrix.lean,Mathlib/Combinatorics/SimpleGraph/Basic.lean,Mathlib/Combinatorics/SimpleGraph/Clique.lean,Mathlib/Combinatorics/SimpleGraph/Coloring.lean,Mathlib/Combinatorics/SimpleGraph/Connectivity.lean,Mathlib/Combinatorics/SimpleGraph/DegreeSum.lean,Mathlib/Combinatorics/SimpleGraph/Density.lean,Mathlib/Combinatorics/SimpleGraph/Ends/Defs.lean,Mathlib/Combinatorics/SimpleGraph/Finsubgraph.lean,Mathlib/Combinatorics/SimpleGraph/Hasse.lean,Mathlib/Combinatorics/SimpleGraph/Prod.lean,Mathlib/Combinatorics/SimpleGraph/StronglyRegular.lean,Mathlib/Combinatorics/SimpleGraph/Subgraph.lean |
18 |
0 |
[] |
nobody |
501-7970 1 year ago |
542-5398 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)
---
[](https://gitpod.io/from-referrer/)
|
merge-conflict
awaiting-CI
|
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 |
501-7970 1 year ago |
522-75075 1 year 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.
---
[](https://gitpod.io/from-referrer/)
|
WIP
merge-conflict
t-algebra
label:t-algebra$ |
110/55 |
Mathlib/FieldTheory/Adjoin.lean |
1 |
0 |
[] |
nobody |
501-7970 1 year ago |
856-46234 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
---
[](https://gitpod.io/from-referrer/)
|
WIP
merge-conflict
t-analysis
t-algebra
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 |
501-7970 1 year ago |
852-11107 2 years ago |
0-4269 1 hour |
| 6195 |
eric-wieser author:eric-wieser |
chore(RingTheory/TensorProduct): golf the `mul` definition |
---
- [x] depends on: #6211
- [x] depends on: #6187
[](https://gitpod.io/from-referrer/)
Strangely this causes a timeout downstream
|
merge-conflict
awaiting-CI
t-algebra
label:t-algebra$ |
4/29 |
Mathlib/RingTheory/TensorProduct.lean |
1 |
1 |
['leanprover-community-mathlib4-bot'] |
nobody |
501-7970 1 year ago |
522-75075 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 |
---
[](https://gitpod.io/from-referrer/)
|
WIP
merge-conflict
t-analysis
|
513/13 |
Mathlib.lean,Mathlib/Analysis/Distribution/ContDiffMapSupportedIn.lean,Mathlib/Analysis/LocallyConvex/WithSeminorms.lean,Mathlib/Analysis/Seminorm.lean,Mathlib/Data/FunLike/Basic.lean,Mathlib/Data/Set/Function.lean,Mathlib/Topology/Algebra/Module/StrongTopology.lean,Mathlib/Topology/ContinuousFunction/Bounded.lean |
8 |
0 |
[] |
nobody |
501-7970 1 year ago |
851-62011 2 years ago |
0-0 0 seconds |
| 6491 |
eric-wieser author:eric-wieser |
chore(Mathlib/Algebra/Hom/GroupAction): add `SMulHomClass.comp_smul` |
---
[](https://gitpod.io/from-referrer/)
|
merge-conflict
t-algebra
label:t-algebra$ |
24/10 |
Mathlib/Algebra/Hom/GroupAction.lean |
1 |
0 |
[] |
nobody |
501-7970 1 year ago |
522-75075 1 year ago |
83-76369 83 days |
| 6328 |
FR-vdash-bot author:FR-vdash-bot |
chore: make some instance about `Sub...Class` lower priority |
Many similar instances have been marked as lower priority. I'd like to see if this would make things faster.
---
[](https://gitpod.io/from-referrer/)
|
WIP
merge-conflict
awaiting-CI
t-algebra
label:t-algebra$ |
14/14 |
Mathlib/RingTheory/NonUnitalSubsemiring/Basic.lean,Mathlib/RingTheory/Subsemiring/Basic.lean,lean-toolchain |
3 |
1 |
['digama0'] |
nobody |
501-7970 1 year ago |
775-14578 2 years ago |
0-0 0 seconds |
| 6330 |
astrainfinita author:astrainfinita |
chore: make some instance about `Sub...Class` higher priority than `Sub...` |
The opposite direction to #6328.
---
[](https://gitpod.io/from-referrer/)
|
WIP
merge-conflict
t-algebra
slow-typeclass-synthesis
label:t-algebra$ |
123/128 |
Mathlib/Algebra/Algebra/NonUnitalSubalgebra.lean,Mathlib/Algebra/Algebra/Subalgebra/Basic.lean,Mathlib/Algebra/Star/NonUnitalSubalgebra.lean,Mathlib/FieldTheory/IsAlgClosed/Basic.lean,Mathlib/FieldTheory/Subfield.lean,Mathlib/RingTheory/NonUnitalSubring/Basic.lean,Mathlib/RingTheory/NonUnitalSubsemiring/Basic.lean,Mathlib/RingTheory/Polynomial/Quotient.lean,Mathlib/RingTheory/Subring/Basic.lean,Mathlib/RingTheory/Subsemiring/Basic.lean,lean-toolchain |
11 |
13 |
['astrainfinita', 'digama0', 'leanprover-bot'] |
nobody |
501-7970 1 year ago |
559-51460 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.
|
WIP
merge-conflict
t-differential-geometry
t-measure-probability
|
165/0 |
Mathlib.lean,Mathlib/Geometry/Manifold/MeasureZero.lean,docs/references.bib |
3 |
27 |
['ADedecker', 'github-actions', 'grunweg', 'mo271', 'sgouezel'] |
ADedecker assignee:ADedecker |
501-7970 1 year ago |
540-3781 1 year ago |
43-56043 43 days |
| 6307 |
yuma-mizuno author:yuma-mizuno |
refactor(CategoryTheory/Monoidal): add whiskering operators |
We introduce whiskering operators. This allows us to introduce a simp-normal form for morphisms in monoidal categories. Rewriting into simp-normal forms is especially useful when combined with the coherence tactic.
---
- [x] depends on: #6420
- [x] depends on: #8191
- [x] depends on: #9988
- [x] depends on: #9991
- [x] depends on: #9995
- [x] depends on: #10061
- [x] depends on: #10078
- [x] depends on: #10898
- [x] depends on: #10912
- [x] depends on: #11223
[](https://gitpod.io/from-referrer/)
|
awaiting-author
merge-conflict
t-category-theory
|
325/280 |
Mathlib/Algebra/Category/ModuleCat/Adjunctions.lean,Mathlib/CategoryTheory/Bicategory/End.lean,Mathlib/CategoryTheory/Closed/Ideal.lean,Mathlib/CategoryTheory/Monoidal/Category.lean,Mathlib/CategoryTheory/Monoidal/Center.lean,Mathlib/CategoryTheory/Monoidal/Free/Basic.lean,Mathlib/CategoryTheory/Monoidal/Free/Coherence.lean,Mathlib/CategoryTheory/Monoidal/Functor.lean,Mathlib/CategoryTheory/Monoidal/FunctorCategory.lean,Mathlib/CategoryTheory/Monoidal/Limits.lean,Mathlib/CategoryTheory/Monoidal/Mon_.lean,Mathlib/CategoryTheory/Monoidal/NaturalTransformation.lean,Mathlib/CategoryTheory/Monoidal/Opposite.lean,Mathlib/CategoryTheory/Monoidal/Transport.lean,test/CategoryTheory/Coherence.lean |
15 |
38 |
['eric-wieser', 'github-actions', 'grunweg', 'jcommelin', 'kim-em', 'leanprover-community-mathlib4-bot', 'yuma-mizuno'] |
nobody |
501-7970 1 year ago |
516-20799 1 year ago |
0-0 0 seconds |
| 6403 |
astrainfinita author:astrainfinita |
chore: change instance priorities of `Ordered*` hierarchy |
---
[](https://gitpod.io/from-referrer/)
|
awaiting-author
merge-conflict
t-algebra
t-order
slow-typeclass-synthesis
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 |
['Vierkantor', 'astrainfinita', 'digama0', 'eric-wieser', 'j-loreaux', 'leanprover-bot'] |
nobody |
501-7970 1 year ago |
559-51440 1 year ago |
13-18399 13 days |
| 4960 |
eric-wieser author:eric-wieser |
chore: use `open scoped` |
Earlier versions of mathport did not know about this.
This was done by searching for all `open` commands referencing:
* `Classical`
* `BigOperators`
* `Topology`
* `Pointwise`
---
[](https://gitpod.io/from-referrer/)
|
merge-conflict
awaiting-CI
|
1026/981 |
Mathlib/Algebra/AddTorsor.lean,Mathlib/Algebra/Algebra/Basic.lean,Mathlib/Algebra/Algebra/Equiv.lean,Mathlib/Algebra/Algebra/Hom.lean,Mathlib/Algebra/Algebra/Operations.lean,Mathlib/Algebra/Algebra/Subalgebra/Basic.lean,Mathlib/Algebra/Algebra/Subalgebra/Pointwise.lean,Mathlib/Algebra/Algebra/Subalgebra/Tower.lean,Mathlib/Algebra/Algebra/Tower.lean,Mathlib/Algebra/BigOperators/Associated.lean,Mathlib/Algebra/BigOperators/Basic.lean,Mathlib/Algebra/BigOperators/Fin.lean,Mathlib/Algebra/BigOperators/Finprod.lean,Mathlib/Algebra/BigOperators/Finsupp.lean,Mathlib/Algebra/BigOperators/Intervals.lean,Mathlib/Algebra/BigOperators/NatAntidiagonal.lean,Mathlib/Algebra/BigOperators/Option.lean,Mathlib/Algebra/BigOperators/Order.lean,Mathlib/Algebra/BigOperators/Pi.lean,Mathlib/Algebra/BigOperators/Ring.lean,Mathlib/Algebra/BigOperators/RingEquiv.lean,Mathlib/Algebra/Bounds.lean,Mathlib/Algebra/Category/GroupCat/Biproducts.lean,Mathlib/Algebra/Category/GroupCat/FilteredColimits.lean,Mathlib/Algebra/Category/GroupCat/Injective.lean,Mathlib/Algebra/Category/ModuleCat/Adjunctions.lean,Mathlib/Algebra/Category/ModuleCat/Biproducts.lean,Mathlib/Algebra/Category/Mon/FilteredColimits.lean,Mathlib/Algebra/Category/Ring/Adjunctions.lean,Mathlib/Algebra/Category/Ring/FilteredColimits.lean,Mathlib/Algebra/CharP/Basic.lean,Mathlib/Algebra/CharP/Two.lean,Mathlib/Algebra/DirectLimit.lean,Mathlib/Algebra/DirectSum/Basic.lean,Mathlib/Algebra/DirectSum/Decomposition.lean,Mathlib/Algebra/DirectSum/Internal.lean,Mathlib/Algebra/DirectSum/Ring.lean,Mathlib/Algebra/EuclideanDomain/Defs.lean,Mathlib/Algebra/Field/Defs.lean,Mathlib/Algebra/GCDMonoid/Div.lean,Mathlib/Algebra/GeomSum.lean,Mathlib/Algebra/GroupWithZero/Basic.lean,Mathlib/Algebra/GroupWithZero/Commute.lean,Mathlib/Algebra/GroupWithZero/Units/Basic.lean,Mathlib/Algebra/Homology/Additive.lean,Mathlib/Algebra/Homology/ComplexShape.lean,Mathlib/Algebra/Homology/Homology.lean,Mathlib/Algebra/Homology/Homotopy.lean,Mathlib/Algebra/Homology/HomotopyCategory.lean,Mathlib/Algebra/Homology/ImageToKernel.lean,Mathlib/Algebra/IndicatorFunction.lean,Mathlib/Algebra/LinearRecurrence.lean,Mathlib/Algebra/Module/BigOperators.lean,Mathlib/Algebra/Module/GradedModule.lean,Mathlib/Algebra/Module/LinearMap.lean,Mathlib/Algebra/Module/PointwisePi.lean,Mathlib/Algebra/Module/Submodule/Basic.lean,Mathlib/Algebra/Module/Submodule/Bilinear.lean,Mathlib/Algebra/Module/Submodule/Lattice.lean,Mathlib/Algebra/Module/Submodule/Pointwise.lean,Mathlib/Algebra/Module/Torsion.lean,Mathlib/Algebra/MonoidAlgebra/Basic.lean,Mathlib/Algebra/MonoidAlgebra/Degree.lean,Mathlib/Algebra/Order/Chebyshev.lean,Mathlib/Algebra/Order/Module.lean,Mathlib/Algebra/Order/Pointwise.lean,Mathlib/Algebra/Order/Rearrangement.lean,Mathlib/Algebra/Order/SMul.lean,Mathlib/Algebra/Order/UpperLower.lean,Mathlib/Algebra/Periodic.lean,Mathlib/Algebra/Polynomial/BigOperators.lean,Mathlib/Algebra/Polynomial/GroupRingAction.lean,Mathlib/Algebra/Star/BigOperators.lean,Mathlib/Algebra/Star/Pointwise.lean,Mathlib/Algebra/Star/Subalgebra.lean,Mathlib/Algebra/Support.lean,Mathlib/Algebra/TrivSqZeroExt.lean,Mathlib/Algebra/Tropical/BigOperators.lean,Mathlib/AlgebraicGeometry/PrimeSpectrum/Basic.lean,Mathlib/AlgebraicGeometry/PrimeSpectrum/Maximal.lean,Mathlib/AlgebraicGeometry/ProjectiveSpectrum/Topology.lean,Mathlib/AlgebraicTopology/AlternatingFaceMapComplex.lean,Mathlib/AlgebraicTopology/ExtraDegeneracy.lean,Mathlib/AlgebraicTopology/TopologicalSimplex.lean,Mathlib/Analysis/Analytic/Basic.lean,Mathlib/Analysis/Asymptotics/AsymptoticEquivalent.lean,Mathlib/Analysis/Asymptotics/Asymptotics.lean,Mathlib/Analysis/Asymptotics/SpecificAsymptotics.lean,Mathlib/Analysis/Asymptotics/SuperpolynomialDecay.lean,Mathlib/Analysis/Asymptotics/Theta.lean,Mathlib/Analysis/BoxIntegral/Box/Basic.lean,Mathlib/Analysis/BoxIntegral/Box/SubboxInduction.lean,Mathlib/Analysis/BoxIntegral/Partition/Additive.lean,Mathlib/Analysis/BoxIntegral/Partition/Basic.lean,Mathlib/Analysis/BoxIntegral/Partition/Filter.lean,Mathlib/Analysis/BoxIntegral/Partition/Split.lean,Mathlib/Analysis/BoxIntegral/Partition/SubboxInduction.lean,Mathlib/Analysis/BoxIntegral/Partition/Tagged.lean,Mathlib/Analysis/Calculus/ContDiffDef.lean,Mathlib/Analysis/Calculus/Deriv/Add.lean |
788 |
0 |
[] |
nobody |
501-7970 1 year ago |
522-75075 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.
[](https://gitpod.io/from-referrer/)
|
WIP
merge-conflict
t-meta
|
603/54 |
Mathlib.lean,Mathlib/Lean/Meta.lean,Mathlib/Lean/Meta/Compare.lean,Mathlib/Tactic/FailIfNoProgress.lean,test/fail_if_no_progress.lean |
5 |
38 |
['alexjbest', 'github-actions', 'joneugster', 'kim-em', 'thorimur'] |
nobody |
501-7969 1 year ago |
753-19155 2 years 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.
[](https://gitpod.io/from-referrer/)
|
WIP
merge-conflict
t-meta
|
131/32 |
Mathlib/Tactic/Conv.lean,Mathlib/Tactic/NormNum/Core.lean,Mathlib/Tactic/PushNeg.lean,docs/Conv/Guide.lean |
4 |
0 |
[] |
nobody |
496-70679 1 year ago |
496-70679 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.
[](https://gitpod.io/from-referrer/)
|
help-wanted
merge-conflict
t-topology
|
111/59 |
Mathlib/Analysis/BoxIntegral/Basic.lean,Mathlib/Analysis/Normed/Module/Basic.lean,Mathlib/Topology/Bornology/Basic.lean,Mathlib/Topology/Bornology/Constructions.lean,Mathlib/Topology/MetricSpace/Bounded.lean,Mathlib/Topology/MetricSpace/GromovHausdorffRealized.lean |
6 |
1 |
['github-actions'] |
nobody |
493-82348 1 year ago |
493-82348 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).
---
[](https://gitpod.io/from-referrer/)
|
WIP
merge-conflict
t-linter
|
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 |
488-75442 1 year ago |
494-26064 1 year ago |
0-0 0 seconds |
| 15679 |
adomani author:adomani |
test: refactor in CI |
---
[](https://gitpod.io/from-referrer/)
|
WIP
merge-conflict
|
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 |
488-51524 1 year ago |
488-51524 1 year ago |
0-8 8 seconds |
| 10629 |
madvorak author:madvorak |
feat: List.cons_sublist_append_iff_right |
---
[](https://gitpod.io/from-referrer/)
|
merge-conflict
t-data
|
11/0 |
Mathlib/Data/List/Basic.lean |
1 |
1 |
['eric-wieser'] |
nobody |
487-1515 1 year ago |
487-1515 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
---
[](https://gitpod.io/from-referrer/)
|
please-adopt
merge-conflict
t-data
|
311/0 |
Mathlib.lean,Mathlib/Data/Polynomial/OfList.lean |
2 |
0 |
[] |
nobody |
487-1048 1 year ago |
487-1048 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`.
---
[](https://gitpod.io/from-referrer/)
|
WIP
merge-conflict
t-category-theory
|
105/0 |
Mathlib.lean,Mathlib/CategoryTheory/Monoidal/Induced.lean |
2 |
3 |
['eric-wieser', 'github-actions', 'joelriou'] |
nobody |
486-85847 1 year ago |
486-85847 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`.
---
[](https://gitpod.io/from-referrer/)
|
awaiting-author
merge-conflict
t-linter
|
106/0 |
Mathlib.lean,Mathlib/Tactic.lean,Mathlib/Tactic/Linter/ThmLemma.lean,scripts/thmLemma.sh |
4 |
13 |
['adomani', 'github-actions', 'grunweg', 'joneugster'] |
nobody |
486-72611 1 year ago |
486-72611 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) |
WIP
merge-conflict
t-algebra
label:t-algebra$ |
10/3 |
Mathlib/Algebra/DirectSum/Module.lean,Mathlib/LinearAlgebra/FreeModule/Basic.lean |
2 |
1 |
['github-actions'] |
nobody |
485-84632 1 year ago |
485-84632 1 year ago |
0-0 0 seconds |
| 13010 |
ADedecker author:ADedecker |
feat: relax universe constraint in stoneCechExtend |
---
[](https://gitpod.io/from-referrer/)
|
merge-conflict
t-topology
|
33/3 |
Mathlib/Topology/StoneCech.lean |
1 |
2 |
['ADedecker', 'erdOne'] |
nobody |
485-84429 1 year ago |
485-84429 1 year ago |
0-0 0 seconds |
| 12411 |
adomani author:adomani |
feat: more linting of cdots |
---
[](https://gitpod.io/from-referrer/)
|
merge-conflict
t-linter
|
953/617 |
Archive/Wiedijk100Theorems/CubingACube.lean,Mathlib.lean,Mathlib/Algebra/Category/GroupCat/Colimits.lean,Mathlib/Algebra/Homology/Exact.lean,Mathlib/Algebra/Homology/LocalCohomology.lean,Mathlib/Algebra/Lie/Nilpotent.lean,Mathlib/Algebra/Module/PID.lean,Mathlib/Algebra/Module/Submodule/Bilinear.lean,Mathlib/Algebra/Module/Torsion.lean,Mathlib/Algebra/MonoidAlgebra/Basic.lean,Mathlib/Algebra/Order/Archimedean.lean,Mathlib/AlgebraicGeometry/StructureSheaf.lean,Mathlib/Analysis/Analytic/Composition.lean,Mathlib/Analysis/Calculus/Deriv/Slope.lean,Mathlib/Analysis/Calculus/InverseFunctionTheorem/ApproximatesLinearOn.lean,Mathlib/Analysis/Calculus/LocalExtr/Basic.lean,Mathlib/Analysis/Calculus/TangentCone.lean,Mathlib/Analysis/InnerProductSpace/Basic.lean,Mathlib/Analysis/InnerProductSpace/Projection.lean,Mathlib/Analysis/MeanInequalitiesPow.lean,Mathlib/Analysis/Normed/Group/ControlledClosure.lean,Mathlib/Analysis/Normed/Group/Pointwise.lean,Mathlib/Analysis/NormedSpace/FiniteDimension.lean,Mathlib/Analysis/NormedSpace/HahnBanach/Separation.lean,Mathlib/Analysis/NormedSpace/Multilinear/Basic.lean,Mathlib/Analysis/NormedSpace/Star/Basic.lean,Mathlib/Analysis/NormedSpace/Star/Multiplier.lean,Mathlib/Analysis/NormedSpace/lpSpace.lean,Mathlib/Analysis/PSeries.lean,Mathlib/Analysis/RCLike/Basic.lean,Mathlib/Analysis/SpecialFunctions/Complex/Arg.lean,Mathlib/Analysis/SpecialFunctions/Log/Base.lean,Mathlib/Analysis/SpecialFunctions/Log/Monotone.lean,Mathlib/Analysis/SpecialFunctions/Pow/NNReal.lean,Mathlib/Analysis/SpecialFunctions/Pow/Real.lean,Mathlib/Analysis/SpecificLimits/Normed.lean,Mathlib/CategoryTheory/Abelian/Basic.lean,Mathlib/CategoryTheory/Action.lean,Mathlib/CategoryTheory/Bicategory/NaturalTransformation.lean,Mathlib/CategoryTheory/Category/Cat/Limit.lean,Mathlib/CategoryTheory/Category/PartialFun.lean,Mathlib/CategoryTheory/Category/TwoP.lean,Mathlib/CategoryTheory/Closed/Cartesian.lean,Mathlib/CategoryTheory/Functor/Flat.lean,Mathlib/CategoryTheory/Galois/GaloisObjects.lean,Mathlib/CategoryTheory/Limits/Over.lean,Mathlib/CategoryTheory/Limits/VanKampen.lean,Mathlib/CategoryTheory/Localization/Predicate.lean,Mathlib/CategoryTheory/Monad/Coequalizer.lean,Mathlib/CategoryTheory/Monad/Monadicity.lean,Mathlib/CategoryTheory/Pi/Basic.lean,Mathlib/CategoryTheory/Sites/DenseSubsite.lean,Mathlib/CategoryTheory/Sites/InducedTopology.lean,Mathlib/CategoryTheory/Subobject/Lattice.lean,Mathlib/Combinatorics/Additive/PluenneckeRuzsa.lean,Mathlib/Combinatorics/HalesJewett.lean,Mathlib/Combinatorics/SimpleGraph/Regularity/Chunk.lean,Mathlib/Computability/Reduce.lean,Mathlib/Data/Holor.lean,Mathlib/Data/Nat/Multiplicity.lean,Mathlib/Data/Nat/Pairing.lean,Mathlib/Data/Real/Cardinality.lean,Mathlib/Data/Real/Hyperreal.lean,Mathlib/Data/Real/Irrational.lean,Mathlib/Data/Set/Card.lean,Mathlib/Dynamics/Circle/RotationNumber/TranslationNumber.lean,Mathlib/FieldTheory/Finite/Polynomial.lean,Mathlib/FieldTheory/Minpoly/IsIntegrallyClosed.lean,Mathlib/FieldTheory/PerfectClosure.lean,Mathlib/FieldTheory/RatFunc.lean,Mathlib/Geometry/RingedSpace/OpenImmersion.lean,Mathlib/Geometry/RingedSpace/PresheafedSpace/Gluing.lean,Mathlib/GroupTheory/GroupAction/Quotient.lean,Mathlib/GroupTheory/Nilpotent.lean,Mathlib/GroupTheory/Perm/Cycle/Factors.lean,Mathlib/GroupTheory/Perm/Finite.lean,Mathlib/GroupTheory/SpecificGroups/Quaternion.lean,Mathlib/GroupTheory/Sylow.lean,Mathlib/LinearAlgebra/Dimension/RankNullity.lean,Mathlib/LinearAlgebra/Dual.lean,Mathlib/LinearAlgebra/LinearIndependent.lean,Mathlib/LinearAlgebra/LinearPMap.lean,Mathlib/LinearAlgebra/Matrix/Charpoly/Coeff.lean,Mathlib/LinearAlgebra/Prod.lean,Mathlib/LinearAlgebra/QuadraticForm/Complex.lean,Mathlib/LinearAlgebra/Reflection.lean,Mathlib/MeasureTheory/Constructions/Pi.lean,Mathlib/MeasureTheory/Covering/VitaliFamily.lean,Mathlib/MeasureTheory/Measure/Haar/Basic.lean,Mathlib/MeasureTheory/Measure/MeasureSpace.lean,Mathlib/MeasureTheory/Measure/Typeclasses.lean,Mathlib/MeasureTheory/OuterMeasure/Basic.lean,Mathlib/ModelTheory/Skolem.lean,Mathlib/NumberTheory/Dioph.lean,Mathlib/NumberTheory/LegendreSymbol/Basic.lean,Mathlib/NumberTheory/Padics/Hensel.lean,Mathlib/NumberTheory/Padics/PadicNumbers.lean,Mathlib/NumberTheory/Padics/RingHoms.lean,Mathlib/NumberTheory/RamificationInertia.lean,Mathlib/RingTheory/AdjoinRoot.lean |
147 |
2 |
['adomani', 'leanprover-bot'] |
nobody |
485-84292 1 year ago |
485-84292 1 year ago |
0-0 0 seconds |
| 12279 |
casavaca author:casavaca |
WIP: feat: Holder's inequality n-ary |
---
- [x] depends on #12291
[](https://gitpod.io/from-referrer/)
|
WIP
merge-conflict
t-analysis
|
129/0 |
Mathlib/Analysis/MeanInequalities.lean,Mathlib/Analysis/SpecialFunctions/Pow/Real.lean |
2 |
13 |
['github-actions'] |
nobody |
485-84277 1 year ago |
485-84277 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.
---
[](https://gitpod.io/from-referrer/)
|
WIP
merge-conflict
t-topology
|
274/130 |
Mathlib/Analysis/BoundedVariation.lean,Mathlib/MeasureTheory/Integral/FundThmCalculus.lean,Mathlib/Order/Filter/Basic.lean,Mathlib/Topology/Semicontinuous.lean |
4 |
0 |
[] |
nobody |
485-84239 1 year ago |
485-84239 1 year ago |
0-0 0 seconds |
| 11519 |
thorimur author:thorimur |
feat: `syntax_rules` |
---
Experimental. WIP.
[](https://gitpod.io/from-referrer/)
|
merge-conflict
t-meta
|
485/0 |
Mathlib.lean,Mathlib/Command/SyntaxRules.lean,Mathlib/Command/SyntaxRules/Attr.lean,Mathlib/Command/SyntaxRules/Elab.lean,Mathlib/Command/SyntaxRules/Header.lean,Mathlib/Command/SyntaxRules/Util.lean,scripts/noshake.json |
7 |
0 |
[] |
nobody |
485-84215 1 year ago |
485-84215 1 year ago |
0-0 0 seconds |
| 11393 |
mcdoll author:mcdoll |
feat(Analysis/Distribution/SchwartzSpace): The Heine-Borel property |
---
[](https://gitpod.io/from-referrer/)
|
WIP
merge-conflict
t-analysis
|
688/3 |
Mathlib.lean,Mathlib/Analysis/Distribution/SchwartzSpace.lean,Mathlib/Topology/Constructions.lean,Mathlib/Topology/UniformSpace/Ascoli.lean,Mathlib/Topology/UniformSpace/Pi.lean,Mathlib/Topology/UniformSpace/UniformConvergenceTopology.lean |
6 |
0 |
[] |
nobody |
485-84205 1 year ago |
485-84205 1 year ago |
0-0 0 seconds |
| 9444 |
erdOne author:erdOne |
feat: Various instances regarding `𝓞 K`. |
---
[](https://gitpod.io/from-referrer/)
|
help-wanted
merge-conflict
t-number-theory
|
27/0 |
Mathlib/NumberTheory/NumberField/Basic.lean,Mathlib/RingTheory/IntegralClosure.lean |
2 |
9 |
['erdOne', 'leanprover-bot', 'mattrobball', 'riccardobrasca', 'xroblot'] |
nobody |
485-84124 1 year ago |
485-84124 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
---
[](https://gitpod.io/from-referrer/)
|
awaiting-author
merge-conflict
t-computability
|
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 |
485-84089 1 year ago |
485-84089 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.
---
[](https://gitpod.io/from-referrer/)
|
merge-conflict
t-topology
|
1073/14 |
Mathlib.lean,Mathlib/Analysis/LocallyConvex/WithSeminorms.lean,Mathlib/Topology/EMetricSpace/Basic.lean,Mathlib/Topology/GMetric/Basic.lean,Mathlib/Topology/GMetric/GInfSep.lean,Mathlib/Topology/GMetric/WellSpaced.lean,Mathlib/Topology/GPseudoMetric/Basic.lean,Mathlib/Topology/MetricSpace/WellSpaced.lean |
8 |
1 |
['edegeltje'] |
nobody |
485-84057 1 year ago |
485-84057 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`.
---
[](https://gitpod.io/from-referrer/)
|
merge-conflict
t-meta
|
6/124 |
Archive/Imo/Imo1960Q1.lean,Archive/Imo/Imo1962Q1.lean,Mathlib/Data/Nat/Digits.lean |
3 |
2 |
['dwrensha'] |
nobody |
485-83911 1 year ago |
485-83911 1 year ago |
0-0 0 seconds |
| 8608 |
eric-wieser author:eric-wieser |
feat: multiplicativize `AddTorsor` |
---
[](https://gitpod.io/from-referrer/)
|
WIP
merge-conflict
t-algebra
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 |
485-83734 1 year ago |
485-83734 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.
[](https://gitpod.io/from-referrer/)
|
WIP
merge-conflict
CI
|
29/0 |
lakefile.lean |
1 |
3 |
['kim-em', 'tydeu'] |
nobody |
485-83676 1 year ago |
485-83676 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)
---
[](https://gitpod.io/from-referrer/)
- [x] depends on: #6059
- [ ] define direct sum of cones
- [ ] weak duality
- [ ] regular duality
- [ ] slater condition
- [ ] strong duality |
WIP
merge-conflict
t-analysis
|
159/0 |
Mathlib.lean,Mathlib/Analysis/Convex/Cone/ConeLinearProgram.lean |
2 |
1 |
['leanprover-community-mathlib4-bot'] |
nobody |
485-83621 1 year ago |
485-83621 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.
[](https://gitpod.io/from-referrer/)
|
awaiting-author
merge-conflict
t-topology
|
203/0 |
Mathlib.lean,Mathlib/Logic/Function/HasFiniteFibers.lean,Mathlib/Order/Filter/Basic.lean,Mathlib/Order/Filter/Cofinite.lean |
4 |
14 |
['ADedecker', 'YaelDillies', 'alexjbest', 'kkytola'] |
nobody |
485-83615 1 year ago |
485-83615 1 year ago |
6-70040 6 days |
| 8100 |
digama0 author:digama0 |
feat: add support for other types in norm_num |
---
[](https://gitpod.io/from-referrer/)
|
merge-conflict
t-meta
|
177/12 |
Mathlib/Tactic/NormNum/Basic.lean,Mathlib/Tactic/NormNum/Eq.lean,Mathlib/Tactic/NormNum/Ineq.lean,Mathlib/Tactic/NormNum/Pow.lean,Mathlib/Tactic/NormNum/Result.lean,Mathlib/Tactic/NormNum/Structural.lean,test/norm_num.lean |
7 |
4 |
['dwrensha'] |
nobody |
485-83483 1 year ago |
485-83483 1 year ago |
0-0 0 seconds |
| 15585 |
FR-vdash-bot author:FR-vdash-bot |
test make `HasQuotient.quotient'` reducible |
---
[](https://gitpod.io/from-referrer/)
|
merge-conflict
t-algebra
label:t-algebra$ |
8/1 |
Mathlib/Algebra/Quotient.lean,Mathlib/GroupTheory/Coset.lean |
2 |
1 |
['github-actions'] |
nobody |
484-29491 1 year ago |
484-29491 1 year ago |
0-0 0 seconds |
| 15586 |
astrainfinita author:astrainfinita |
test make `HasQuotient` out put a `setoid` |
---
[](https://gitpod.io/from-referrer/)
|
merge-conflict
t-algebra
label:t-algebra$ |
22/36 |
Mathlib/Algebra/Lie/CartanExists.lean,Mathlib/Algebra/Lie/Quotient.lean,Mathlib/Algebra/Lie/Weights/Basic.lean,Mathlib/Algebra/Quotient.lean,Mathlib/Analysis/Normed/Group/AddCircle.lean,Mathlib/GroupTheory/Commensurable.lean,Mathlib/GroupTheory/Coset.lean,Mathlib/GroupTheory/CosetCover.lean,Mathlib/GroupTheory/GroupAction/Quotient.lean,Mathlib/GroupTheory/Nilpotent.lean,Mathlib/GroupTheory/QuotientGroup.lean,Mathlib/LinearAlgebra/Quotient.lean,Mathlib/RingTheory/Ideal/Quotient.lean,Mathlib/Topology/Algebra/UniformRing.lean |
14 |
5 |
['astrainfinita', 'github-actions', 'leanprover-bot'] |
nobody |
484-29491 1 year ago |
484-29491 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`.
---
[](https://gitpod.io/from-referrer/)
|
merge-conflict
t-computability
tech debt
|
585/778 |
Mathlib/Computability/Ackermann.lean,Mathlib/Computability/Halting.lean,Mathlib/Computability/Partrec.lean,Mathlib/Computability/PartrecCode.lean,Mathlib/Computability/Primrec.lean |
5 |
2 |
['github-actions', 'grunweg'] |
nobody |
482-50760 1 year ago |
522-75075 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
[](https://gitpod.io/from-referrer/)
|
merge-conflict
t-category-theory
t-algebraic-geometry
|
210/0 |
Mathlib.lean,Mathlib/AlgebraicGeometry/FunctorOfPoints.lean,Mathlib/AlgebraicGeometry/OpenImmersion.lean |
3 |
4 |
['github-actions', 'grunweg', 'leanprover-community-mathlib4-bot'] |
nobody |
482-50619 1 year ago |
522-75075 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`.
[](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 |
482-50518 1 year ago |
522-75075 1 year ago |
29-14218 29 days |
| 9978 |
FR-vdash-bot author:FR-vdash-bot |
chore(FieldTheory/KummerExtension): move some lemmas earlier |
---
[](https://gitpod.io/from-referrer/)
|
awaiting-author
merge-conflict
t-algebra
label:t-algebra$ |
197/177 |
Mathlib.lean,Mathlib/Data/Polynomial/FieldDivision.lean,Mathlib/FieldTheory/KummerExtension.lean,Mathlib/RingTheory/AdjoinRoot.lean,Mathlib/RingTheory/Polynomial/Irreducible.lean |
5 |
5 |
['alreadydone', 'grunweg', 'riccardobrasca'] |
nobody |
482-50310 1 year ago |
482-50310 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`.
---
[](https://gitpod.io/from-referrer/)
|
awaiting-author
merge-conflict
t-meta
RFC
t-algebra
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 |
482-49621 1 year ago |
482-49621 1 year ago |
0-0 0 seconds |
| 15823 |
eric-wieser author:eric-wieser |
Quotients of rings in model theory |
---
[](https://gitpod.io/from-referrer/)
|
merge-conflict
t-logic
|
55/13 |
Mathlib/ModelTheory/Algebra/Ring/FreeCommRing.lean,Mathlib/ModelTheory/Syntax.lean |
2 |
1 |
['github-actions'] |
nobody |
482-28184 1 year ago |
482-28184 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)
---
[](https://gitpod.io/from-referrer/)
|
merge-conflict
t-algebra
label:t-algebra$ |
139/135 |
Mathlib/Algebra/Lie/CartanMatrix.lean,Mathlib/Analysis/Complex/UpperHalfPlane/Basic.lean,Mathlib/Data/Matrix/Basic.lean,Mathlib/Data/Matrix/Notation.lean,Mathlib/Data/Matrix/Rank.lean,Mathlib/Data/Matrix/Reflection.lean,Mathlib/GroupTheory/Coxeter/Matrix.lean,Mathlib/LinearAlgebra/Matrix/Adjugate.lean,Mathlib/LinearAlgebra/Matrix/Charpoly/Coeff.lean,Mathlib/LinearAlgebra/Matrix/Determinant.lean,Mathlib/LinearAlgebra/Matrix/SpecialLinearGroup.lean,Mathlib/LinearAlgebra/Matrix/Trace.lean,Mathlib/LinearAlgebra/Matrix/Transvection.lean,Mathlib/LinearAlgebra/PID.lean,Mathlib/LinearAlgebra/Vandermonde.lean,Mathlib/NumberTheory/Modular.lean,Mathlib/NumberTheory/ModularForms/CongruenceSubgroups.lean,Mathlib/NumberTheory/ModularForms/SlashActions.lean,Mathlib/NumberTheory/ModularForms/SlashInvariantForms.lean,Mathlib/NumberTheory/RamificationInertia.lean,Mathlib/RingTheory/SimpleModule.lean,test/matrix.lean |
22 |
9 |
['YaelDillies', 'eric-wieser', 'grunweg', 'joneugster'] |
nobody |
482-5308 1 year ago |
482-9222 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`.
---
[](https://gitpod.io/from-referrer/)
|
merge-conflict
new-contributor
t-data
|
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 |
481-71672 1 year ago |
487-1514 1 year ago |
54-52408 54 days |
| 15448 |
urkud author:urkud |
chore(*): deprecate `Option.elim'` |
Use `Option.elim` instead.
---
[](https://gitpod.io/from-referrer/) |
awaiting-author
merge-conflict
tech debt
|
54/50 |
Mathlib/Algebra/BigOperators/Option.lean,Mathlib/Algebra/MvPolynomial/Equiv.lean,Mathlib/Algebra/MvPolynomial/Variables.lean,Mathlib/Analysis/BoxIntegral/Partition/Additive.lean,Mathlib/Analysis/BoxIntegral/Partition/Basic.lean,Mathlib/Analysis/BoxIntegral/Partition/Split.lean,Mathlib/Analysis/Calculus/LagrangeMultipliers.lean,Mathlib/CategoryTheory/Category/PartialFun.lean,Mathlib/Computability/TMToPartrec.lean,Mathlib/Data/Option/Defs.lean,Mathlib/LinearAlgebra/Basis.lean,Mathlib/Logic/Embedding/Set.lean,Mathlib/Logic/Equiv/Basic.lean,Mathlib/MeasureTheory/OuterMeasure/Induced.lean,Mathlib/NumberTheory/Dioph.lean,Mathlib/Topology/Compactness/Paracompact.lean,Mathlib/Topology/LocallyFinite.lean |
17 |
12 |
['Ruben-VandeVelde', 'YaelDillies', 'github-actions', 'grunweg', 'urkud'] |
nobody |
481-60725 1 year ago |
482-49872 1 year ago |
7-18420 7 days |
| 10350 |
Shamrock-Frost author:Shamrock-Frost |
feat(Data/Setoid): add the operations of taking the equivalence class of an element and of saturating a set wrt an equivalence relation |
I'm open to suggestions about changing the name "saturate", someone on zulip rightly pointed out this is a very overloaded term in math. That said, I think it's unlikely to cause confusion and that there's only one reasonable interpretation in the context of setoids.
---
- [x] depends on: #10347
- [x] depends on: #10348
[](https://gitpod.io/from-referrer/)
|
merge-conflict
t-data
|
169/3 |
Mathlib/Data/Setoid/Basic.lean,Mathlib/Data/Setoid/Partition.lean,Mathlib/Order/Closure.lean |
3 |
1 |
['leanprover-community-mathlib4-bot'] |
nobody |
479-73946 1 year ago |
487-1516 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.
[](https://gitpod.io/from-referrer/)
|
awaiting-author
merge-conflict
t-algebra
label:t-algebra$ |
691/6 |
Mathlib.lean,Mathlib/Algebra/MvPolynomial/Module/Basic.lean,Mathlib/Algebra/MvPolynomial/Module/MvAEval.lean,Mathlib/Algebra/Polynomial/Module/Basic.lean |
4 |
9 |
['Shamrock-Frost', 'erdOne', 'github-actions'] |
nobody |
479-73926 1 year ago |
485-84521 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.
---
[](https://gitpod.io/from-referrer/)
|
awaiting-author
merge-conflict
t-algebra
label:t-algebra$ |
294/0 |
Mathlib.lean,Mathlib/LinearAlgebra/Matrix/DFT.lean |
2 |
26 |
['MohanadAhmed', 'ericrbg'] |
nobody |
479-73764 1 year ago |
558-63354 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
[](https://gitpod.io/from-referrer/)
|
awaiting-author
merge-conflict
t-number-theory
t-algebra
label:t-algebra$ |
565/12 |
Mathlib/NumberTheory/EllipticDivisibilitySequence.lean |
1 |
55 |
['Multramate', 'alreadydone', 'github-actions', 'grunweg', 'leanprover-community-mathlib4-bot'] |
nobody |
474-968 1 year ago |
474-968 1 year ago |
26-39367 26 days |
| 15600 |
adomani author:adomani |
feat: lint also `let` vs `have` |
---
[](https://gitpod.io/from-referrer/)
|
WIP
merge-conflict
t-linter
|
77/26 |
Mathlib/Tactic/Linter/HaveLetLinter.lean,test/HaveLetLinter.lean |
2 |
1 |
['github-actions'] |
nobody |
472-55644 1 year ago |
472-55644 1 year ago |
0-8 8 seconds |
| 13970 |
adomani author:adomani |
feat: a linter to flag unnecessary uses of `nolint simpNF` |
---
[](https://gitpod.io/from-referrer/)
|
awaiting-author
merge-conflict
t-linter
|
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 |
470-78858 1 year ago |
470-78859 1 year 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)
---
[](https://gitpod.io/from-referrer/)
|
merge-conflict
t-linter
|
119/0 |
Mathlib.lean,Mathlib/Tactic.lean,Mathlib/Tactic/Linter/CheckAsSorry.lean,test/CheckAsSorry.lean |
4 |
1 |
['github-actions'] |
nobody |
470-77846 1 year ago |
470-77846 1 year ago |
0-0 0 seconds |
| 14038 |
adomani author:adomani |
test/decl diff in lean dev |
---
[](https://gitpod.io/from-referrer/)
|
WIP
merge-conflict
|
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 |
466-71360 1 year ago |
466-71360 1 year ago |
0-0 0 seconds |
| 14046 |
adomani author:adomani |
test: diff of declarations in lean |
---
[](https://gitpod.io/from-referrer/)
|
WIP
merge-conflict
|
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 |
466-71360 1 year ago |
466-71360 1 year 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
[](https://gitpod.io/from-referrer/)
|
merge-conflict
t-meta
t-category-theory
|
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 |
461-66104 1 year ago |
461-66107 1 year ago |
0-0 0 seconds |
| 15925 |
yuma-mizuno author:yuma-mizuno |
feat(CategoryTheory/Monoida): proof producing coherence tactic |
---
[](https://gitpod.io/from-referrer/)
|
merge-conflict
t-meta
t-category-theory
|
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 |
461-26241 1 year 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.
[](https://gitpod.io/from-referrer/)
|
merge-conflict
RFC
t-algebra
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 |
460-4597 1 year ago |
460-4597 1 year 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'`.
---
[](https://gitpod.io/from-referrer/)
|
awaiting-author
merge-conflict
t-logic
|
50/0 |
Mathlib.lean,Mathlib/Logic/Function/ApiForExtend.lean |
2 |
1 |
['fpvandoorn'] |
nobody |
459-20133 1 year ago |
459-20133 1 year ago |
32-30254 32 days |
| 16658 |
adomani author:adomani |
add tips file |
---
[](https://gitpod.io/from-referrer/)
|
WIP
awaiting-author
merge-conflict
test-ci
|
51/508 |
.github/build.in.yml,.github/workflows/bors.yml,.github/workflows/build.yml,.github/workflows/build_fork.yml,scripts/Tips.lean |
5 |
1 |
['github-actions'] |
nobody |
455-49066 1 year ago |
455-49066 1 year ago |
0-0 0 seconds |
| 14078 |
Ruben-VandeVelde author:Ruben-VandeVelde |
feat(CI): continue after mk_all fails |
---
[](https://gitpod.io/from-referrer/)
|
awaiting-author
merge-conflict
CI
|
43/0 |
.github/workflows/bors.yml,.github/workflows/build.yml,.github/workflows/build.yml.in,.github/workflows/build_fork.yml,Mathlib/Data/Nat/Test.lean |
5 |
2 |
['bryangingechen', 'github-actions'] |
nobody |
455-29366 1 year ago |
455-29366 1 year ago |
0-0 0 seconds |
| 11283 |
hmonroe author:hmonroe |
feat(ModelTheory/Satisfiability): define theory with independent sentence |
---
[](https://gitpod.io/from-referrer/)
|
WIP
merge-conflict
t-logic
|
8/0 |
Mathlib/ModelTheory/Satisfiability.lean |
1 |
2 |
['fpvandoorn', 'hmonroe'] |
nobody |
452-86320 1 year ago |
452-86320 1 year 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
---
[](https://gitpod.io/from-referrer/)
|
WIP
merge-conflict
|
4/4 |
lake-manifest.json,lakefile.lean |
2 |
1 |
['github-actions'] |
nobody |
450-74929 1 year ago |
450-74929 1 year ago |
0-14835 4 hours |
| 8118 |
iwilare author:iwilare |
feat(CategoryTheory): add dinatural transformations |
A starting point to define [dinatural transformations](https://ncatlab.org/nlab/show/dinatural+transformation).
This is my first PR so style comments and improvements are very welcome!
---
[](https://gitpod.io/from-referrer/)
|
awaiting-author
merge-conflict
t-category-theory
|
147/7 |
Mathlib.lean,Mathlib/CategoryTheory/DinatTrans.lean,Mathlib/CategoryTheory/Functor/Category.lean,Mathlib/CategoryTheory/Products/Bifunctor.lean |
4 |
49 |
['Shamrock-Frost', 'github-actions', 'iwilare', 'joelriou'] |
Shamrock-Frost assignee:Shamrock-Frost |
446-10815 1 year ago |
446-10816 1 year ago |
21-9462 21 days |
| 17171 |
FR-vdash-bot author:FR-vdash-bot |
test extends carrier and property |
---
We need https://github.com/leanprover/lean4/issues/2666 ...
[](https://gitpod.io/from-referrer/)
|
merge-conflict |
433/309 |
Mathlib/Algebra/Algebra/NonUnitalSubalgebra.lean,Mathlib/Algebra/Algebra/Subalgebra/Basic.lean,Mathlib/Algebra/Algebra/Subalgebra/Directed.lean,Mathlib/Algebra/DirectSum/Decomposition.lean,Mathlib/Algebra/Field/Subfield.lean,Mathlib/Algebra/Group/Subgroup/Basic.lean,Mathlib/Algebra/Group/Subgroup/MulOpposite.lean,Mathlib/Algebra/Group/Submonoid/Basic.lean,Mathlib/Algebra/Group/Submonoid/MulOpposite.lean,Mathlib/Algebra/Group/Submonoid/Pointwise.lean,Mathlib/Algebra/Group/Submonoid/Units.lean,Mathlib/Algebra/Group/Subsemigroup/Basic.lean,Mathlib/Algebra/Group/Subsemigroup/Operations.lean,Mathlib/Algebra/Module/Submodule/Basic.lean,Mathlib/Algebra/Module/Submodule/Lattice.lean,Mathlib/Algebra/Module/Submodule/Map.lean,Mathlib/Algebra/Module/Submodule/Pointwise.lean,Mathlib/Algebra/Ring/Subring/Basic.lean,Mathlib/Algebra/Ring/Subsemiring/Basic.lean,Mathlib/Algebra/Ring/Subsemiring/MulOpposite.lean,Mathlib/Algebra/Ring/Subsemiring/Order.lean,Mathlib/Algebra/Star/Subalgebra.lean,Mathlib/Algebra/Star/Subsemiring.lean,Mathlib/Data/Complex/Module.lean,Mathlib/Data/SetLike/Basic.lean,Mathlib/Deprecated/Subfield.lean,Mathlib/Deprecated/Subgroup.lean,Mathlib/Deprecated/Submonoid.lean,Mathlib/Deprecated/Subring.lean,Mathlib/FieldTheory/IntermediateField/Basic.lean,Mathlib/GroupTheory/ArchimedeanDensely.lean,Mathlib/GroupTheory/DoubleCoset.lean,Mathlib/GroupTheory/Finiteness.lean,Mathlib/GroupTheory/GroupAction/SubMulAction.lean,Mathlib/LinearAlgebra/AffineSpace/AffineSubspace.lean,Mathlib/LinearAlgebra/Span.lean,Mathlib/RingTheory/Ideal/Operations.lean,Mathlib/RingTheory/NonUnitalSubring/Basic.lean,Mathlib/RingTheory/NonUnitalSubsemiring/Basic.lean,Mathlib/SetTheory/Cardinal/Subfield.lean,Mathlib/Topology/Algebra/Algebra.lean,Mathlib/Topology/Algebra/OpenSubgroup.lean |
42 |
1 |
['github-actions'] |
nobody |
441-55908 1 year ago |
441-55908 1 year ago |
0-0 0 seconds |
| 7516 |
ADedecker author:ADedecker |
perf: use `abbrev` to prevent unifying useless data |
---
[](https://gitpod.io/from-referrer/)
|
WIP
merge-conflict
|
4/3 |
Mathlib/Topology/ContinuousFunction/Bounded.lean |
1 |
3 |
['ADedecker', 'leanprover-bot', 'mattrobball'] |
nobody |
440-27568 1 year ago |
440-27568 1 year 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).
[](https://gitpod.io/from-referrer/)
|
merge-conflict
t-data
|
137/2 |
Counterexamples/Pseudoelement.lean,Mathlib/Algebra/Associated/Basic.lean,Mathlib/Algebra/BigOperators/Group/Finset.lean,Mathlib/Algebra/Group/Conj.lean,Mathlib/Algebra/GroupWithZero/NonZeroDivisors.lean,Mathlib/Algebra/Order/CauSeq/Completion.lean,Mathlib/Algebra/Quandle.lean,Mathlib/AlgebraicGeometry/EllipticCurve/Jacobian.lean,Mathlib/AlgebraicGeometry/EllipticCurve/Projective.lean,Mathlib/AlgebraicTopology/FundamentalGroupoid/Basic.lean,Mathlib/AlgebraicTopology/FundamentalGroupoid/FundamentalGroup.lean,Mathlib/AlgebraicTopology/FundamentalGroupoid/InducedMaps.lean,Mathlib/AlgebraicTopology/FundamentalGroupoid/Product.lean,Mathlib/AlgebraicTopology/FundamentalGroupoid/SimplyConnected.lean,Mathlib/CategoryTheory/Abelian/Pseudoelements.lean,Mathlib/CategoryTheory/Limits/Shapes/SingleObj.lean,Mathlib/CategoryTheory/Monoidal/Free/Basic.lean,Mathlib/CategoryTheory/Monoidal/Free/Coherence.lean,Mathlib/CategoryTheory/Skeletal.lean,Mathlib/Data/Finset/Card.lean,Mathlib/Data/Fintype/List.lean,Mathlib/Data/Fintype/Quotient.lean,Mathlib/Data/Multiset/Basic.lean,Mathlib/Data/QPF/Multivariate/Constructions/Fix.lean,Mathlib/Data/QPF/Univariate/Basic.lean,Mathlib/Data/Quot.lean,Mathlib/Data/Real/Basic.lean,Mathlib/Data/Set/Finite.lean,Mathlib/Data/Set/Image.lean,Mathlib/Data/Setoid/Basic.lean,Mathlib/GroupTheory/GroupAction/Basic.lean,Mathlib/GroupTheory/GroupAction/Quotient.lean,Mathlib/LinearAlgebra/Dual.lean,Mathlib/LinearAlgebra/Ray.lean,Mathlib/Logic/Encodable/Basic.lean,Mathlib/Logic/Equiv/Basic.lean,Mathlib/ModelTheory/DirectLimit.lean,Mathlib/ModelTheory/Fraisse.lean,Mathlib/ModelTheory/Quotients.lean,Mathlib/NumberTheory/NumberField/CanonicalEmbedding/FundamentalCone.lean,Mathlib/NumberTheory/NumberField/Embeddings.lean,Mathlib/NumberTheory/NumberField/Units/DirichletTheorem.lean,Mathlib/NumberTheory/Padics/PadicIntegers.lean,Mathlib/NumberTheory/Padics/PadicNumbers.lean,Mathlib/Order/RelIso/Basic.lean,Mathlib/RepresentationTheory/Action/Concrete.lean,Mathlib/SetTheory/Cardinal/Basic.lean,Mathlib/SetTheory/Cardinal/Ordinal.lean,Mathlib/SetTheory/Game/Basic.lean,Mathlib/SetTheory/Game/Birthday.lean,Mathlib/SetTheory/Game/Impartial.lean,Mathlib/SetTheory/Game/Ordinal.lean,Mathlib/SetTheory/Game/State.lean,Mathlib/SetTheory/Lists.lean,Mathlib/SetTheory/Ordinal/Arithmetic.lean,Mathlib/SetTheory/Ordinal/Basic.lean,Mathlib/SetTheory/Surreal/Basic.lean,Mathlib/SetTheory/Surreal/Dyadic.lean,Mathlib/SetTheory/Surreal/Multiplication.lean,Mathlib/SetTheory/ZFC/Basic.lean,Mathlib/SetTheory/ZFC/Rank.lean,Mathlib/Topology/Connected/PathConnected.lean,Mathlib/Topology/Homotopy/HomotopyGroup.lean,Mathlib/Topology/Homotopy/Path.lean,Mathlib/Topology/Homotopy/Product.lean,Mathlib/Topology/MetricSpace/GromovHausdorff.lean,Mathlib/Topology/UniformSpace/Separation.lean,test/interactiveUnfold.lean |
68 |
1 |
['github-actions'] |
nobody |
440-22611 1 year ago |
440-22611 1 year ago |
4-72805 4 days |
| 14712 |
FR-vdash-bot author:FR-vdash-bot |
perf: change instance priority and order about `OfNat` |
---
[](https://gitpod.io/from-referrer/)
|
delegated
merge-conflict
t-algebra
slow-typeclass-synthesis
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 |
433-85564 1 year ago |
436-22640 1 year 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
[](https://gitpod.io/from-referrer/)
|
awaiting-author
merge-conflict
t-topology
|
227/179 |
Mathlib.lean,Mathlib/Analysis/Fourier/RiemannLebesgueLemma.lean,Mathlib/Analysis/InnerProductSpace/Adjoint.lean,Mathlib/Analysis/InnerProductSpace/Dual.lean,Mathlib/Analysis/LocallyConvex/Polar.lean,Mathlib/Analysis/NormedSpace/Dual.lean,Mathlib/Analysis/NormedSpace/WeakDual.lean,Mathlib/Analysis/VonNeumannAlgebra/Basic.lean,Mathlib/MeasureTheory/Function/AEEqOfIntegral.lean,Mathlib/MeasureTheory/Measure/FiniteMeasure.lean,Mathlib/Topology/Algebra/Module/CharacterSpace.lean,Mathlib/Topology/Algebra/Module/Dual.lean,Mathlib/Topology/Algebra/Module/WeakDual.lean,docs/overview.yaml,docs/undergrad.yaml |
15 |
14 |
['ADedecker', 'grunweg', 'j-loreaux', 'kkytola', 'mathlib-bors', 'mcdoll'] |
nobody |
432-21107 1 year ago |
432-21107 1 year 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.
---
[](https://gitpod.io/from-referrer/)
|
awaiting-author
merge-conflict
RFC
t-data
|
76/6 |
Mathlib/Data/Quot.lean |
1 |
3 |
['FR-vdash-bot', 'YaelDillies', 'gebner'] |
eric-wieser assignee:eric-wieser |
430-67753 1 year ago |
430-67753 1 year 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
[](https://gitpod.io/from-referrer/)
|
merge-conflict
RFC
t-topology
|
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 |
430-51416 1 year ago |
522-75075 1 year ago |
9-20043 9 days |
| 14619 |
Command-Master author:Command-Master |
chore: Merge `Trunc` to `Squash` |
Remove `Trunc` and use `Squash` instead
---
[](https://gitpod.io/from-referrer/)
|
WIP
merge-conflict
new-contributor
|
197/211 |
Mathlib/CategoryTheory/EpiMono.lean,Mathlib/CategoryTheory/Preadditive/Biproducts.lean,Mathlib/Data/DFinsupp/Basic.lean,Mathlib/Data/Fintype/Basic.lean,Mathlib/Data/Fintype/Card.lean,Mathlib/Data/Fintype/Option.lean,Mathlib/Data/Fintype/Perm.lean,Mathlib/Data/Fintype/Quotient.lean,Mathlib/Data/Quot.lean,Mathlib/Data/Semiquot.lean,Mathlib/GroupTheory/Perm/Cycle/Factors.lean,Mathlib/GroupTheory/Perm/Sign.lean,Mathlib/Logic/Equiv/List.lean |
13 |
3 |
['Command-Master', 'github-actions', 'vihdzp'] |
nobody |
428-13694 1 year ago |
512-71838 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
[](https://gitpod.io/from-referrer/)
|
merge-conflict
t-algebra
label:t-algebra$ |
519/628 |
Mathlib.lean,Mathlib/Algebra/Module/LocalizedModule.lean,Mathlib/AlgebraicGeometry/Modules/Tilde.lean,Mathlib/RingTheory/DedekindDomain/Different.lean,Mathlib/RingTheory/Localization/BaseChange.lean,Mathlib/RingTheory/OreLocalization/Basic.lean,Mathlib/RingTheory/OreLocalization/Module.lean,Mathlib/RingTheory/OreLocalization/Ring.lean |
8 |
4 |
['github-actions', 'leanprover-bot', 'leanprover-community-mathlib4-bot', 'mattrobball'] |
nobody |
425-74893 1 year ago |
425-74893 1 year ago |
51-84473 51 days |
| 16348 |
urkud author:urkud |
refactor(Topology): require `LinearOrder` with `OrderTopology` |
While the definition formally makes sense for a preorder,
this topology is usually not the right one for a non-linear order (e.g., `Real × Real`).
See [Zulip thread](https://leanprover.zulipchat.com/#narrow/stream/287929-mathlib4/topic/Open.20Ioi)
---
This PR doesn't cleanup any API, I'm going to do it in a later PR.
[](https://gitpod.io/from-referrer/)
|
awaiting-author
merge-conflict
t-topology
t-order
|
33/46 |
Mathlib/Analysis/Asymptotics/SuperpolynomialDecay.lean,Mathlib/Topology/Algebra/Order/LiminfLimsup.lean,Mathlib/Topology/Instances/Sign.lean,Mathlib/Topology/Order/Basic.lean,Mathlib/Topology/Order/Filter.lean,Mathlib/Topology/Order/MonotoneContinuity.lean |
6 |
10 |
['YaelDillies', 'github-actions', 'jcommelin', 'urkud'] |
nobody |
425-74517 1 year ago |
425-74517 1 year ago |
3-83049 3 days |
| 16984 |
hrmacbeth author:hrmacbeth |
feat: extend `module` tactic to handle multiple rings, not strictly ordered by inclusion |
The `module` tactic currently in Mathlib handles scalars from multiple rings, but only if for any two rings `R` and `S` which appear, either `R` is an algebra over `S` or vice versa. This PR extends the tactic by providing a syntax `module T`, which will handle scalars from any ring `R` which `T` is an algebra over.
For example,
```lean
example : (2:ℤ) • x = (2:ℚ≥0) • x := by module
```
fails since `ℤ` is not a `ℚ≥0`-algebra and `ℚ≥0` is not a `ℤ`-algebra, but
```lean
example : (2:ℤ) • x = (2:ℚ≥0) • x := by module ℚ
```
works since `ℚ` is both a `ℤ`-algebra and a `ℚ≥0`-algebra.
This PR is a quick proof-of-concept implementation, just to record the desired approach and tactic syntax. It should not be merged as-is. It has with a lot of code duplication and should be rewritten more efficiently (for example, `parse` and `parseEnsuringType` should be merged to a single function, and the `some`/`none` cases in `matchScalarsAux` should be merged to a uniform treatment) before being considered for merging to Mathlib.
---
[](https://gitpod.io/from-referrer/)
|
merge-conflict
t-meta
|
158/35 |
Mathlib/Tactic/Module.lean,test/module.lean |
2 |
1 |
['github-actions'] |
nobody |
422-10557 1 year ago |
422-10557 1 year ago |
0-0 0 seconds |
| 12414 |
adomani author:adomani |
test: lint and unlint `·` |
---
[](https://gitpod.io/from-referrer/)
|
merge-conflict |
64/14 |
Archive/Wiedijk100Theorems/CubingACube.lean,Mathlib/Algebra/Module/Submodule/Bilinear.lean,Mathlib/Tactic/Linter/Multigoal.lean,test/Multigoal.lean |
4 |
4 |
['adomani', 'github-actions', 'grunweg', 'leanprover-bot'] |
nobody |
417-72742 1 year ago |
417-72742 1 year 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`.
---
[](https://gitpod.io/from-referrer/)
|
WIP
merge-conflict
t-set-theory
|
6/0 |
Mathlib/SetTheory/Cardinal/Cofinality.lean |
1 |
4 |
['YnirPaz', 'github-actions', 'vihdzp'] |
nobody |
416-44324 1 year ago |
416-44324 1 year ago |
2-57220 2 days |
| 16647 |
eric-wieser author:eric-wieser |
feat: partitions of lists |
The length of this list is the bell numbers.
---
[](https://gitpod.io/from-referrer/)
|
merge-conflict
t-combinatorics
t-data
|
311/0 |
Mathlib.lean,Mathlib/Data/List/Partition.lean |
2 |
1 |
['github-actions'] |
nobody |
415-6816 1 year ago |
415-6816 1 year 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. |
awaiting-author
please-adopt
merge-conflict
new-contributor
t-data
|
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 |
409-47511 1 year ago |
436-16302 1 year 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).
---
[](https://gitpod.io/from-referrer/)
|
merge-conflict
t-meta
|
125/18 |
Mathlib/Tactic/WLOG.lean,test/wlog.lean |
2 |
2 |
['thorimur', 'urkud'] |
nobody |
405-34168 1 year ago |
405-34168 1 year 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.
---
[](https://gitpod.io/from-referrer/)
|
awaiting-author
merge-conflict
t-meta
|
63/9 |
Mathlib/Lean/Meta.lean,Mathlib/Tactic/MkIffOfInductiveProp.lean,test/MkIffOfInductive.lean |
3 |
6 |
['Vierkantor', 'github-actions', 'urkud'] |
nobody |
405-33922 1 year ago |
405-33922 1 year 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`).
---
[](https://gitpod.io/from-referrer/)
|
WIP
merge-conflict
t-order
|
324/0 |
Mathlib.lean,Mathlib/Data/Ordering/Dickson.lean,scripts/noshake.json |
3 |
9 |
['AntoineChambert-Loir', 'b-mehta', 'github-actions'] |
nobody |
405-12479 1 year ago |
405-12479 1 year ago |
2-84515 2 days |
| 16355 |
Ruben-VandeVelde author:Ruben-VandeVelde |
feat: odd_{add,sub}_one |
---
[](https://gitpod.io/from-referrer/)
|
awaiting-author
merge-conflict
t-number-theory
t-algebra
label:t-algebra$ |
12/0 |
Mathlib/Algebra/Ring/Int.lean,Mathlib/Algebra/Ring/Parity.lean |
2 |
4 |
['Ruben-VandeVelde', 'github-actions', 'urkud'] |
nobody |
404-46676 1 year ago |
404-46676 1 year 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
[](https://gitpod.io/from-referrer/)
|
WIP
awaiting-author
merge-conflict
|
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 |
404-37430 1 year ago |
404-37444 1 year 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.
---
[](https://gitpod.io/from-referrer/)
|
WIP
merge-conflict
t-algebra
label:t-algebra$ |
793/676 |
Mathlib/Algebra/Module/LinearMap.lean,Mathlib/GroupTheory/GroupAction/DomAct/Basic.lean,Mathlib/LinearAlgebra/TensorProduct.lean |
3 |
6 |
['alreadydone', 'eric-wieser', 'grhkm21', 'jjaassoonn'] |
nobody |
403-72889 1 year ago |
522-75075 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]`.
[](https://gitpod.io/from-referrer/)
|
merge-conflict
t-algebra
t-order
new-contributor
label:t-algebra$ |
264/195 |
Archive/Wiedijk100Theorems/BallotProblem.lean,Mathlib.lean,Mathlib/Algebra/Order/Group/WithTop.lean,Mathlib/Algebra/Order/GroupWithZero/Canonical.lean,Mathlib/Algebra/Order/Interval/Basic.lean,Mathlib/Algebra/Order/Monoid/Unbundled/Basic.lean,Mathlib/Algebra/Order/Monoid/Unbundled/Defs.lean,Mathlib/Algebra/Order/Monoid/Unbundled/WithTop.lean,Mathlib/Algebra/Order/Monoid/WithTop.lean,Mathlib/Algebra/PUnitInstances/Order.lean,Mathlib/Algebra/Polynomial/Degree/Definitions.lean,Mathlib/Algebra/Polynomial/Monic.lean,Mathlib/Algebra/Tropical/Basic.lean,Mathlib/Analysis/Analytic/Meromorphic.lean,Mathlib/Analysis/Normed/Lp/ProdLp.lean,Mathlib/Analysis/NormedSpace/ENorm.lean,Mathlib/Analysis/SpecialFunctions/JapaneseBracket.lean,Mathlib/Analysis/SpecialFunctions/Log/ENNRealLog.lean,Mathlib/Data/ENNReal/Operations.lean,Mathlib/Data/ENat/Basic.lean,Mathlib/Data/Nat/PartENat.lean,Mathlib/Data/Nat/WithBot.lean,Mathlib/Data/Real/EReal.lean,Mathlib/LinearAlgebra/Lagrange.lean,Mathlib/MeasureTheory/Covering/Differentiation.lean,Mathlib/MeasureTheory/Decomposition/Lebesgue.lean,Mathlib/MeasureTheory/Function/ConditionalExpectation/CondexpL1.lean,Mathlib/MeasureTheory/Function/Jacobian.lean,Mathlib/MeasureTheory/Function/L1Space.lean,Mathlib/MeasureTheory/Function/L2Space.lean,Mathlib/MeasureTheory/Function/LpSeminorm/Basic.lean,Mathlib/MeasureTheory/Function/LpSeminorm/TriangleInequality.lean,Mathlib/MeasureTheory/Function/LpSpace.lean,Mathlib/MeasureTheory/Function/StronglyMeasurable/Basic.lean,Mathlib/MeasureTheory/Function/UniformIntegrable.lean,Mathlib/MeasureTheory/Integral/Bochner.lean,Mathlib/MeasureTheory/Integral/MeanInequalities.lean,Mathlib/MeasureTheory/Integral/SetIntegral.lean,Mathlib/MeasureTheory/Integral/VitaliCaratheodory.lean,Mathlib/MeasureTheory/Measure/Hausdorff.lean,Mathlib/MeasureTheory/Measure/Lebesgue/Basic.lean,Mathlib/MeasureTheory/Measure/LevyProkhorovMetric.lean,Mathlib/MeasureTheory/Measure/MeasureSpace.lean,Mathlib/MeasureTheory/Measure/MeasureSpaceDef.lean,Mathlib/MeasureTheory/Measure/Regular.lean,Mathlib/MeasureTheory/Measure/Typeclasses.lean,Mathlib/NumberTheory/Padics/PadicNumbers.lean,Mathlib/Order/Filter/Pointwise.lean,Mathlib/Probability/Kernel/Defs.lean,Mathlib/Probability/Martingale/Convergence.lean,Mathlib/RingTheory/Multiplicity.lean,Mathlib/RingTheory/MvPowerSeries/NoZeroDivisors.lean,Mathlib/RingTheory/UniqueFactorizationDomain.lean,Mathlib/Topology/EMetricSpace/Defs.lean,Mathlib/Topology/MetricSpace/Bounded.lean,Mathlib/Topology/MetricSpace/HausdorffDistance.lean,Mathlib/Topology/MetricSpace/Lipschitz.lean |
57 |
30 |
['Command-Master', 'YaelDillies', 'github-actions'] |
nobody |
403-18077 1 year ago |
403-18077 1 year 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`.
---
[](https://gitpod.io/from-referrer/)
|
merge-conflict
t-algebra
t-order
slow-typeclass-synthesis
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 |
403-16980 1 year ago |
403-16980 1 year ago |
18-19513 18 days |
| 18636 |
adomani author:adomani |
Test/latest import report dev |
This PR is a test accompanying #18631.
---
[](https://gitpod.io/from-referrer/)
|
merge-conflict
CI
|
147/0 |
.github/workflows/latest_import.yml,lakefile.lean |
2 |
1 |
['github-actions'] |
nobody |
402-5348 1 year ago |
402-5348 1 year 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
[](https://gitpod.io/from-referrer/)
|
awaiting-author
merge-conflict
t-logic
new-contributor
|
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 |
400-60598 1 year ago |
400-60598 1 year 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
---
[](https://gitpod.io/from-referrer/)
|
awaiting-author
merge-conflict
t-differential-geometry
|
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 |
397-26021 1 year ago |
unknown |
unknown |
| 13248 |
hcWang942 author:hcWang942 |
feat: basic concepts of auction theory |
## Description
Formalise some core concepts and results in auction theory: this includes definitions for first-price and second-price auctions, as well as several fundamental results and helping lemmas.
This is the very first PR of the project formalizing core concepts and results in auction theory.
Our group is working on more contributions on the formalization of game theory prefix.
Co-authored-by: Ma Jiajun
## Reference
Roughgarden, Tim. ***Twenty Lectures on Algorithmic Game Theory***. Cambridge University Press, 2020. [Link](https://www.cambridge.org/core/books/twenty-lectures-on-algorithmic-game-theory/A9D9427C8F43E7DAEF8C702755B6D72B)
---
- [x] Will depend on #14163 once that PR is merged. The Fintype lemmas introduced by this PR have been added in that PR and will be removed from here once that PR gets merged
## Current plan for formalization of Game Theory
The current plan for the formalizing of Game Theory include:
#### 1. Auction Theory. 🎉 _(200+ lines, this PR)_
- Essential definitions of Sealed-bid auction, First-price auction and Second-price auction.
- First-price auction has no dominant strategy.
- Second-price auction has dominant strategy. (Second-price auction is DSIC)
#### 2. Mechanism design & Myerson's Lemma. 🎉 (400+ lines, pending for modification to Mathlib Standard)
- Mechanism design
An allocation rule is implementable if there exists
- Dominant Strategy Incentive Compatible (DSIC) payment rule
- An allocation rule is monotone if for every bidder’s gain is nondecreasing w.r.t. her/his bid
- Myerson's Lemma
Implementable ⇔ Monotone
In the above case, the DSIC payment rule is unique.
#### 3. von Neumann‘s Minimax Theorem. 🎉 (800+ lines, pending for modification to Mathlib Standard)
- Equilibrium in zero sum game
- Formalization strategy: via Loomis’s theorem.
#### 4. Nash Equilibrium. 🎉 (pending for modification to Mathlib Standard)
#### 5. Brouwer fixed-point theorem. (Work in Progress)
#### 6. More Mechanism design. (Planning)
|
awaiting-author
merge-conflict
t-logic
new-contributor
|
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 |
396-13030 1 year 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.
[](https://gitpod.io/from-referrer/)
|
merge-conflict
t-algebra
slow-typeclass-synthesis
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 |
395-74563 1 year ago |
395-74563 1 year ago |
0-0 0 seconds |
| 9344 |
erdOne author:erdOne |
feat: Add `AddGroup.FG` -> `Module.Finite ℤ` as instances |
---
[](https://gitpod.io/from-referrer/)
|
awaiting-author
merge-conflict
t-algebra
label:t-algebra$ |
4/0 |
Mathlib/RingTheory/Finiteness.lean |
1 |
4 |
['alreadydone', 'erdOne', 'leanprover-bot'] |
nobody |
394-83823 1 year ago |
394-83823 1 year 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.
---
[](https://gitpod.io/from-referrer/)
|
awaiting-author
merge-conflict
t-topology
t-order
|
34/14 |
Mathlib/Topology/Constructions.lean,Mathlib/Topology/Order/LowerUpperTopology.lean |
2 |
13 |
['Ruben-VandeVelde', 'TwoFX', 'github-actions', 'jcommelin', 'mans0954', 'mathlib-bors', 'riccardobrasca'] |
nobody |
394-7177 1 year ago |
394-7177 1 year ago |
63-69206 63 days |
| 16637 |
FR-vdash-bot author:FR-vdash-bot |
perf: reorder `extends` of `(Add)Monoid` |
---
[](https://gitpod.io/from-referrer/)
|
WIP
merge-conflict
t-algebra
label:t-algebra$ |
46/51 |
Mathlib/Algebra/Algebra/Hom.lean,Mathlib/Algebra/BigOperators/Ring/List.lean,Mathlib/Algebra/GCDMonoid/Basic.lean,Mathlib/Algebra/Group/Defs.lean,Mathlib/Algebra/Group/Ext.lean,Mathlib/Algebra/Group/Opposite.lean,Mathlib/Algebra/Group/Prod.lean,Mathlib/Algebra/Order/Group/Unbundled/Abs.lean,Mathlib/Algebra/Polynomial/Roots.lean,Mathlib/Algebra/Ring/SumsOfSquares.lean,Mathlib/CategoryTheory/Preadditive/FunctorCategory.lean,Mathlib/Data/Finset/NoncommProd.lean,Mathlib/GroupTheory/Congruence/Defs.lean,Mathlib/GroupTheory/Torsion.lean,Mathlib/LinearAlgebra/LinearPMap.lean,Mathlib/LinearAlgebra/TensorProduct/Basic.lean,Mathlib/Order/Filter/Germ/Basic.lean,Mathlib/RingTheory/Bialgebra/Hom.lean,Mathlib/RingTheory/Coalgebra/Hom.lean,Mathlib/RingTheory/TensorProduct/MvPolynomial.lean |
20 |
3 |
['FR-vdash-bot', 'github-actions', 'leanprover-bot'] |
nobody |
394-6415 1 year ago |
394-6415 1 year ago |
1-49655 1 day |
| 18765 |
FR-vdash-bot author:FR-vdash-bot |
chore: changing `outParam` of `MulActionSemiHomClass` |
---
[](https://gitpod.io/from-referrer/)
|
merge-conflict
t-algebra
label:t-algebra$ |
60/34 |
Mathlib/Algebra/Algebra/NonUnitalHom.lean,Mathlib/Algebra/Category/ModuleCat/Limits.lean,Mathlib/Algebra/Module/LinearMap/Defs.lean,Mathlib/GroupTheory/GroupAction/Hom.lean |
4 |
4 |
['FR-vdash-bot', 'github-actions', 'leanprover-bot'] |
nobody |
393-49076 1 year ago |
393-49076 1 year ago |
0-0 0 seconds |
| 14739 |
urkud author:urkud |
feat(Measure): add `gcongr` lemmas |
---
[](https://gitpod.io/from-referrer/) |
help-wanted
WIP
awaiting-author
merge-conflict
t-measure-probability
|
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 |
393-6111 1 year ago |
393-6111 1 year 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.
---
[](https://gitpod.io/from-referrer/)
|
merge-conflict
t-combinatorics
|
159/0 |
Mathlib/Combinatorics/SimpleGraph/ConcreteColorings.lean |
1 |
1 |
['github-actions'] |
nobody |
390-74269 1 year ago |
390-74269 1 year 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
[](https://gitpod.io/from-referrer/)
|
WIP
merge-conflict
t-category-theory
|
1396/26 |
Mathlib.lean,Mathlib/CategoryTheory/Over.lean,Mathlib/CategoryTheory/Sites/CoverPreserving.lean,Mathlib/CategoryTheory/Sites/Descent.lean,Mathlib/CategoryTheory/Sites/EqualizerSheafCondition.lean,Mathlib/CategoryTheory/Sites/InducedTopology.lean,Mathlib/CategoryTheory/Sites/ObjectsCoverTop.lean,Mathlib/CategoryTheory/Sites/Over.lean,Mathlib/CategoryTheory/Sites/SheafHom.lean,Mathlib/CategoryTheory/Sites/Sieves.lean |
10 |
3 |
['github-actions', 'leanprover-community-mathlib4-bot'] |
nobody |
390-69797 1 year ago |
684-5870 1 year ago |
0-0 0 seconds |
| 19055 |
JLimperg author:JLimperg |
Test precompilation (batteries + aesop) again |
|
merge-conflict |
9/8 |
lake-manifest.json,lakefile.lean |
2 |
5 |
['JLimperg', 'github-actions', 'leanprover-bot'] |
nobody |
390-51440 1 year ago |
390-51440 1 year 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.
---
[](https://gitpod.io/from-referrer/)
|
awaiting-author
merge-conflict
t-topology
|
94/0 |
Mathlib.lean,Mathlib/Topology/UniformSpace/UniformOrder.lean,docs/references.bib |
3 |
2 |
['shuxuezhuyi'] |
nobody |
389-56451 1 year ago |
389-56451 1 year 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.
[](https://gitpod.io/from-referrer/)
|
merge-conflict
t-algebra
t-order
awaiting-zulip
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 |
388-79793 1 year ago |
388-79793 1 year ago |
33-64877 33 days |
| 18969 |
alreadydone author:alreadydone |
chore: generalize Module to NonUnitalSemiring |
---
[](https://gitpod.io/from-referrer/)
|
WIP
merge-conflict
t-algebra
label:t-algebra$ |
94/75 |
Mathlib/Algebra/Category/ModuleCat/Presheaf.lean,Mathlib/Algebra/Group/Action/Defs.lean,Mathlib/Algebra/Group/Action/End.lean,Mathlib/Algebra/Group/Action/Prod.lean,Mathlib/Algebra/Group/Action/TypeTags.lean,Mathlib/Algebra/GroupWithZero/Action/Defs.lean,Mathlib/Algebra/Module/Defs.lean,Mathlib/Algebra/Module/Submodule/Defs.lean,Mathlib/Algebra/Polynomial/Div.lean,Mathlib/Algebra/Polynomial/Laurent.lean,Mathlib/AlgebraicGeometry/EllipticCurve/Group.lean,Mathlib/AlgebraicGeometry/Limits.lean,Mathlib/AlgebraicGeometry/ProjectiveSpectrum/Scheme.lean,Mathlib/Analysis/CStarAlgebra/ContinuousFunctionalCalculus/Order.lean,Mathlib/Analysis/Distribution/SchwartzSpace.lean,Mathlib/Geometry/Manifold/Instances/Sphere.lean,Mathlib/GroupTheory/CoprodI.lean,Mathlib/LinearAlgebra/FreeModule/IdealQuotient.lean,Mathlib/LinearAlgebra/LinearDisjoint.lean,Mathlib/LinearAlgebra/Matrix/SesquilinearForm.lean,Mathlib/LinearAlgebra/TensorProduct/Submodule.lean,Mathlib/RingTheory/Filtration.lean,Mathlib/RingTheory/Flat/FaithfullyFlat.lean,Mathlib/RingTheory/Ideal/Cotangent.lean,Mathlib/RingTheory/Ideal/Defs.lean,Mathlib/RingTheory/Ideal/Lattice.lean,Mathlib/RingTheory/Ideal/Operations.lean,Mathlib/RingTheory/Ideal/Prod.lean,Mathlib/RingTheory/Presentation.lean,Mathlib/RingTheory/Smooth/Kaehler.lean,Mathlib/RingTheory/TensorProduct/MvPolynomial.lean |
31 |
11 |
['alreadydone', 'eric-wieser', 'github-actions', 'leanprover-bot'] |
nobody |
387-17045 1 year ago |
387-17045 1 year ago |
0-0 0 seconds |
| 17513 |
FR-vdash-bot author:FR-vdash-bot |
perf: do not search algebraic hierarchies when using `map_*` lemmas |
---
[](https://gitpod.io/from-referrer/)
|
WIP
merge-conflict
t-algebra
awaiting-bench
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 |
383-75987 1 year ago |
383-75987 1 year 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.
[](https://gitpod.io/from-referrer/)
|
merge-conflict
t-algebra
label:t-algebra$ |
25/0 |
Mathlib.lean,Mathlib/LinearAlgebra/VectorSpace.lean,scripts/noshake.json |
3 |
10 |
['Julian', 'PieterCuijpers', 'github-actions', 'urkud'] |
nobody |
382-81232 1 year ago |
382-81232 1 year 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.
---
[](https://gitpod.io/from-referrer/)
|
merge-conflict
t-data
|
203/83 |
Archive/Wiedijk100Theorems/Partition.lean,Mathlib/Algebra/MvPolynomial/Basic.lean,Mathlib/Algebra/MvPolynomial/Rename.lean,Mathlib/Algebra/MvPolynomial/Variables.lean,Mathlib/Algebra/Polynomial/Basic.lean,Mathlib/Algebra/Polynomial/Laurent.lean,Mathlib/Data/Finsupp/BigOperators.lean,Mathlib/Data/Finsupp/Defs.lean,Mathlib/Data/Finsupp/Order.lean,Mathlib/Data/Nat/Choose/Multinomial.lean,Mathlib/RingTheory/MvPolynomial/Symmetric/Defs.lean,Mathlib/RingTheory/PowerBasis.lean,scripts/nolints_prime_decls.txt |
13 |
5 |
['github-actions', 'vihdzp', 'zeramorphic'] |
nobody |
380-57309 1 year ago |
380-57309 1 year ago |
4-60621 4 days |
| 10332 |
adri326 author:adri326 |
feat(Topology/Sets): define regular open sets and their boolean algebra |
Introduces a new module, `Mathlib.Topology.Sets.RegularOpens`, which defines the `IsRegularOpen s` predicate (`interior (closure s) = s`) and `TopologicalSpace.RegularOpens`, the type of bundled regular open sets (defined as `Heyting.Regular (Opens X)`).
A few properties of regular open sets (bundled and unbundled) and `interior (closure s)` are proven,
and a pointwise instance of `MulAction` is provided for regular open sets.
---
This PR belongs to my series of PRs around my formalization of Rubin's theorem.
There are two possible ways to implement `RegularOpens`:
- either construct them by hand and show that they form a boolean algebra (better def-eq but more boilerplate code required)
- or use `Heyting.Regular` on the heyting algebra of `Opens` inherited from the `Frame` instance on them
I first chose to use the former approach, but using the latter cuts the length of the construction of the boolean algebra of regular open sets by 100 lines of code, and allows us to inherit all of the helper lemmas defined for `Heyting.Regular`.
The big downside, though, is that an element of `RegularOpens` isn't defined as a bundled regular open set anymore, but rather as an `Opens` set `s` for which `Opens.interior ↑(Opens.interior ↑sᶜ)ᶜ = s`, so I added an alternative constructor `RegularOpens.of` that instead accepts any set `s` for which `IsRegularOpen s` holds.
Another minor downside is that coercion to a set takes two coercions instead of one.
[](https://gitpod.io/from-referrer/)
|
WIP
merge-conflict
t-topology
|
434/0 |
Mathlib.lean,Mathlib/Data/Set/Pointwise/SMul.lean,Mathlib/Topology/Sets/Opens.lean,Mathlib/Topology/Sets/RegularOpens.lean,docs/references.bib |
5 |
1 |
['adri326'] |
YaelDillies assignee:YaelDillies |
376-84656 1 year ago |
485-83846 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]
[](https://gitpod.io/from-referrer/)
|
awaiting-author
merge-conflict
t-category-theory
t-algebra
workshop-AIM-AG-2024
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 |
374-1914 1 year ago |
374-1914 1 year ago |
64-29952 64 days |
| 18756 |
astrainfinita author:astrainfinita |
refactor: deprecate `DistribMulActionSemiHomClass` `MulSemiringActionSemiHomClass` |
---
[](https://gitpod.io/from-referrer/)
|
merge-conflict
t-algebra
label:t-algebra$ |
50/28 |
Mathlib/Algebra/Algebra/NonUnitalHom.lean,Mathlib/Algebra/Module/LinearMap/Defs.lean,Mathlib/GroupTheory/GroupAction/Hom.lean |
3 |
4 |
['astrainfinita', 'github-actions', 'leanprover-bot'] |
nobody |
369-22978 1 year ago |
369-22978 1 year ago |
31-75259 31 days |
| 19125 |
yhtq author:yhtq |
feat: add theorems to transfer `IsGalois` between pairs of fraction rings |
feat: add theorems to transfer `IsGalois` between pairs of fraction rings.
- [x] depends on: #18404
- [x] depends on: #19124
---
[](https://gitpod.io/from-referrer/)
|
merge-conflict
t-algebra
new-contributor
label:t-algebra$ |
121/0 |
Mathlib.lean,Mathlib/FieldTheory/Galois/IsFractionRing.lean,Mathlib/RingTheory/Localization/FractionRing.lean |
3 |
3 |
['github-actions', 'mathlib4-dependent-issues-bot', 'tb65536'] |
nobody |
366-35447 1 year ago |
372-70870 1 year ago |
0-4534 1 hour |
| 18841 |
hrmacbeth author:hrmacbeth |
chore: change some `linarith`s to `linear_combination`s |
Change 100 `linarith`s to `linear_combination`s; this is generally a slight speedup.
---
[](https://gitpod.io/from-referrer/)
- [x] depends on: #18714 (not strictly blocked by this, but the speed comparison will be more informative after it)
|
WIP
merge-conflict
|
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 |
364-82773 11 months ago |
364-82773 11 months ago |
3-30853 3 days |
| 18748 |
FR-vdash-bot author:FR-vdash-bot |
refactor: deprecate `ContinuousLinearMapClass` |
---
- [ ] depends on: #18689
[](https://gitpod.io/from-referrer/)
|
merge-conflict
t-topology
t-algebra
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 |
362-73391 11 months ago |
362-73394 11 months ago |
0-989 16 minutes |
| 11142 |
hmonroe author:hmonroe |
feat(ProofTheory): Define logical symbols abstractly; opens new top-level section, drawing from lean4-logic |
---
[](https://gitpod.io/from-referrer/)
|
awaiting-author
merge-conflict
t-logic
|
468/1 |
Mathlib.lean,Mathlib/Data/Fin/VecNotation.lean,Mathlib/ProofTheory/LogicSymbol.lean |
3 |
19 |
['PatrickMassot', 'YaelDillies', 'avigad', 'fpvandoorn', 'github-actions'] |
nobody |
359-6193 11 months ago |
359-6193 11 months ago |
92-18232 92 days |
| 11210 |
hmonroe author:hmonroe |
Test commit |
---
[](https://gitpod.io/from-referrer/)
|
WIP
merge-conflict
|
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 |
359-6192 11 months ago |
359-6192 11 months ago |
0-0 0 seconds |
| 18294 |
FR-vdash-bot author:FR-vdash-bot |
perf: make `Mul.toSMul` higher priority |
---
[](https://gitpod.io/from-referrer/)
|
merge-conflict
t-algebra
awaiting-bench
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 |
353-73785 11 months ago |
353-73786 11 months ago |
0-0 0 seconds |
| 15773 |
kkytola author:kkytola |
feat: Add type class for ENat-valued floor functions |
This PR adds a type class for extended natural number -valued floor functions. This is split off from #15269, where the suggestions were to make the floor function on ENNReal ENat-valued and to have an API mimicling FloorSemirings. Besides ENNReal, at least ENNRat would naturally satisfy the general type class.
---
Two things are worth noting:
* To fully mimic `FloorSemiring` API, also ceiling functions need to be added. The plan is to do that in a later PR.
* The PR introduces the class `CastNatENatClass` to ensure that `natCast` and a coercion from `ENat` behave in the natural and order-respecing manner. This feels a little ad hoc, but such assumptions are needed for general `ENat`-valued floor functions to behave well.
[](https://gitpod.io/from-referrer/)
|
awaiting-author
merge-conflict
t-order
|
231/0 |
Mathlib.lean,Mathlib/Algebra/Order/EFloor.lean,Mathlib/Data/ENat/Basic.lean |
3 |
5 |
['YaelDillies', 'github-actions', 'kkytola', 'urkud'] |
nobody |
345-46959 11 months ago |
345-46959 11 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
[](https://gitpod.io/from-referrer/)
|
WIP
awaiting-author
merge-conflict
t-meta
|
82/0 |
Mathlib.lean,Mathlib/Tactic/DeriveLinearOrder.lean |
2 |
5 |
['ChrisHughes24', 'kim-em', 'kmill', 'vihdzp'] |
nobody |
343-21612 11 months ago |
343-21612 11 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.
---
[](https://gitpod.io/from-referrer/)
|
awaiting-author
merge-conflict
t-meta
|
517/0 |
Mathlib.lean,Mathlib/Tactic/DeriveInfinite.lean,test/DeriveInfinite.lean |
3 |
11 |
['TimothyGu', 'digama0', 'eric-wieser', 'grunweg', 'kim-em', 'kmill'] |
kmill assignee:kmill |
343-21611 11 months ago |
343-21611 11 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
---
[](https://gitpod.io/from-referrer/)
|
merge-conflict
RFC
t-algebra
t-logic
label:t-algebra$ |
34/13 |
Mathlib/ModelTheory/Algebra/Ring/Basic.lean |
1 |
10 |
['ChrisHughes24', 'YaelDillies', 'awainverse', 'github-actions', 'jcommelin'] |
nobody |
341-39152 11 months ago |
341-39152 11 months ago |
135-29017 135 days |
| 17739 |
Aaron1011 author:Aaron1011 |
feat(Topology/Order/DenselyOrdered): prove Not (IsOpen) for intervals |
Prove that Iic/Ici/Ioc/Ico/Icc intervals are not open in densely ordered topologies with no min/max element
---
[](https://gitpod.io/from-referrer/)
|
awaiting-author
merge-conflict
t-topology
new-contributor
|
27/0 |
Mathlib/Topology/Order/DenselyOrdered.lean |
1 |
8 |
['github-actions', 'vihdzp'] |
nobody |
332-57459 10 months ago |
332-57459 10 months ago |
0-4704 1 hour |
| 18474 |
FR-vdash-bot author:FR-vdash-bot |
perf: lower the priority of `*WithOne.to*` instances |
---
From #7873.
[](https://gitpod.io/from-referrer/)
|
merge-conflict
t-algebra
slow-typeclass-synthesis
t-data
label:t-algebra$ |
9/2 |
Mathlib/Algebra/Polynomial/BigOperators.lean,Mathlib/Data/Int/Cast/Defs.lean,Mathlib/Data/Nat/Cast/Defs.lean |
3 |
7 |
['FR-vdash-bot', 'eric-wieser', 'github-actions', 'leanprover-bot'] |
nobody |
332-57214 10 months ago |
332-57214 10 months ago |
76-67978 76 days |
| 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 |
awaiting-author
merge-conflict
t-combinatorics
new-contributor
|
407/3 |
Mathlib/Combinatorics/SimpleGraph/Finite.lean,Mathlib/Combinatorics/SimpleGraph/Hamiltonian.lean,Mathlib/Combinatorics/SimpleGraph/Path.lean,Mathlib/Combinatorics/SimpleGraph/Walk.lean |
4 |
22 |
['Rida-Hamadani', 'YaelDillies', 'github-actions', 'mathlib4-dependent-issues-bot', 'znssong'] |
nobody |
331-76545 10 months ago |
331-76545 10 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
---
[](https://gitpod.io/from-referrer/)
|
awaiting-author
merge-conflict
new-contributor
t-computability
|
186/0 |
Mathlib.lean,Mathlib/Computability/Timed/InsertionSort.lean,Mathlib/Computability/Timed/Merge.lean |
3 |
2 |
['github-actions', 'trivial1711'] |
nobody |
331-42464 10 months ago |
331-42464 10 months ago |
33-11262 33 days |
| 8362 |
urkud author:urkud |
feat(Asymptotics): define `ReflectsGrowth` |
---
- [x] depends on: #8349
[](https://gitpod.io/from-referrer/)
|
awaiting-author
merge-conflict
t-analysis
|
268/0 |
Mathlib.lean,Mathlib/Analysis/Asymptotics/ReflectsGrowth.lean |
2 |
14 |
['YaelDillies', 'fpvandoorn', 'github-actions', 'leanprover-community-mathlib4-bot', 'urkud'] |
nobody |
329-49718 10 months ago |
329-49718 10 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.
[](https://gitpod.io/from-referrer/)
|
awaiting-author
merge-conflict
t-topology
|
126/0 |
Mathlib/Logic/Equiv/PartialEquiv.lean,Mathlib/Topology/PartialHomeomorph.lean |
2 |
4 |
['alreadydone', 'github-actions', 'winstonyin'] |
nobody |
329-34314 10 months ago |
329-34314 10 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
[](https://gitpod.io/from-referrer/)
|
awaiting-author
merge-conflict
t-algebra
new-contributor
label:t-algebra$ |
209/0 |
Mathlib.lean,Mathlib/Algebra/Order/Hom/Quantale.lean,scripts/noshake.json |
3 |
29 |
['PieterCuijpers', 'YaelDillies', 'github-actions', 'kim-em', 'mathlib4-dependent-issues-bot'] |
nobody |
326-64123 10 months ago |
326-64124 10 months ago |
36-2255 36 days |
| 19352 |
hrmacbeth author:hrmacbeth |
chore: change some `nlinarith`s to `linear_combination`s |
---
[](https://gitpod.io/from-referrer/)
|
WIP
merge-conflict
|
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 |
325-6934 10 months ago |
325-6934 10 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`)
[](https://gitpod.io/from-referrer/)
|
merge-conflict
t-measure-probability
new-contributor
|
203/40 |
Mathlib/MeasureTheory/Function/LpSeminorm/CompareExp.lean,Mathlib/MeasureTheory/Function/LpSpace.lean |
2 |
1 |
['github-actions'] |
nobody |
319-81471 10 months ago |
319-81471 10 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.
---
[](https://gitpod.io/from-referrer/)
|
awaiting-author
merge-conflict
t-measure-probability
new-contributor
|
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 |
318-55904 10 months ago |
318-55904 10 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?
---
[](https://gitpod.io/from-referrer/)
|
awaiting-author
merge-conflict
t-meta
|
12/1 |
Mathlib/Tactic/Linarith/Preprocessing.lean |
1 |
3 |
['Vierkantor', 'harahu', 'kim-em', 'mo271'] |
nobody |
317-72064 10 months ago |
752-45351 2 years 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
---
[](https://gitpod.io/from-referrer/)
|
help-wanted
WIP
merge-conflict
t-topology
t-algebra
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 |
317-49569 10 months ago |
317-49569 10 months ago |
101-64856 101 days |
| 9449 |
hmonroe author:hmonroe |
feat: Add Turing machine with the quintet definition (TMQ) and a chainable step function for each TM type |
---
[](https://gitpod.io/from-referrer/)
|
awaiting-author
merge-conflict
t-computability
|
458/1 |
Mathlib/Computability/TuringMachine.lean,Mathlib/Logic/PartArith.lean |
2 |
8 |
['eric-wieser', 'github-actions', 'hmonroe'] |
nobody |
312-14248 10 months ago |
312-14248 10 months ago |
14-19968 14 days |
| 18719 |
FR-vdash-bot author:FR-vdash-bot |
perf: lower the priority of `SemilinearMapClass.toAddHomClass` |
---
[](https://gitpod.io/from-referrer/)
|
merge-conflict
t-algebra
slow-typeclass-synthesis
awaiting-bench
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 |
310-75465 10 months ago |
310-75465 10 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.
[](https://gitpod.io/from-referrer/)
|
awaiting-author
merge-conflict
t-data
|
87/12 |
Mathlib/Algebra/BigOperators/Fin.lean,Mathlib/Data/Fintype/Fin.lean,Mathlib/Order/Interval/Finset/Fin.lean |
3 |
20 |
['Ruben-VandeVelde', 'YaelDillies', 'eric-wieser', 'github-actions', 'mathlib4-dependent-issues-bot', 'quangvdao'] |
nobody |
309-56666 10 months ago |
309-56666 10 months ago |
6-25961 6 days |
| 19353 |
hrmacbeth author:hrmacbeth |
chore: golf some term/rw proofs using `linear_combination` |
---
[](https://gitpod.io/from-referrer/)
|
WIP
merge-conflict
|
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 |
308-55787 10 months ago |
308-55787 10 months ago |
0-7781 2 hours |
| 10678 |
adri326 author:adri326 |
feat(Topology/UniformSpace): prove that a uniform space is completely regular |
Provides the pseudometric definition of a uniform space (for any open set `s` and `x ∈ s`, there exists a finite family of pseudometric spaces on `X` and an `ε > 0`, such that the intersection of the balls of these pseudometric spaces is a subset of `s`),
and uses it to prove that `UniformSpace X` implies `CompletelyRegularSpace X`.
---
This PR aims to close the gap of pi-base's theorem [T345](https://topology.pi-base.org/theorems/T000345), which says that topological groups are completely regular. We already have a proof that topological groups are uniform, but it turns out that we do not have any connection between `UniformSpace X` and `CompletelyRegularSpace X`.
There is an equivalence between `UniformSpace X` and `CompletelyRegularSpace X`: the former implies the latter, and the latter implies *the existence of* the former. This PR provides the first half of this equivalence.
The construction of the pseudometric definition is based on N. Bourbaki, Chapter 9, Theorem 4.1
The proof that a uniform space is completely regular is based on [the outline on mathexchange](https://math.stackexchange.com/questions/494718/how-to-prove-that-every-uniform-space-is-completely-regular).
I tried to outline the major steps of the different proofs inside of comments; I can happily be more verbose to clear up any confusion.
See [the corresponding Zulip discussion](https://leanprover.zulipchat.com/#narrow/stream/287929-mathlib4/topic/Some.20missing.2C.20accessible.2C.20topology.20results) for more context.
[](https://gitpod.io/from-referrer/)
|
awaiting-author
merge-conflict
t-topology
|
332/0 |
Mathlib.lean,Mathlib/Topology/UniformSpace/Basic.lean,Mathlib/Topology/UniformSpace/CompletelyRegular.lean |
3 |
6 |
['ADedecker', 'adri326'] |
ADedecker assignee:ADedecker |
306-50198 10 months ago |
306-50198 10 months ago |
17-44773 17 days |
| 18785 |
erdOne author:erdOne |
feat(CategoryTheory): command that generates instances for `MorphismProperty` |
Co-authored-by: Calle Sönne
---
[](https://gitpod.io/from-referrer/)
|
awaiting-author
merge-conflict
t-meta
t-category-theory
|
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 |
304-66708 10 months ago |
304-66708 10 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...
[](https://gitpod.io/from-referrer/)
|
awaiting-author
merge-conflict
t-linter
|
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 |
303-6932 10 months ago |
303-6932 10 months ago |
0-36287 10 hours |
| 16311 |
madvorak author:madvorak |
feat(Computability): regular languages are context-free |
---
[](https://gitpod.io/from-referrer/)
|
WIP
merge-conflict
t-computability
|
72/0 |
Mathlib.lean,Mathlib/Computability/Chomsky.lean,Mathlib/Computability/ContextFreeGrammar.lean |
3 |
7 |
['Rida-Hamadani', 'YaelDillies', 'github-actions', 'madvorak'] |
nobody |
302-73127 9 months ago |
302-73127 9 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
---
[](https://gitpod.io/from-referrer/)
|
awaiting-author
merge-conflict
new-contributor
t-computability
|
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 |
302-72880 9 months ago |
302-72880 9 months ago |
37-29014 37 days |
| 17005 |
YnirPaz author:YnirPaz |
feat(SetTheory/Cardinal/Regular): define singular cardinals |
Define singular cardinals and prove basic lemmas about them.
---
[](https://gitpod.io/from-referrer/)
|
WIP
merge-conflict
t-set-theory
|
94/1 |
Mathlib.lean,Mathlib/SetTheory/Cardinal/Regular.lean,Mathlib/SetTheory/Ordinal/Basic.lean |
3 |
28 |
['YaelDillies', 'YnirPaz', 'github-actions', 'vihdzp'] |
nobody |
300-19836 9 months ago |
376-13018 1 year ago |
34-18388 34 days |
| 18952 |
Command-Master author:Command-Master |
chore: deprecate `Trunc` |
---
[](https://gitpod.io/from-referrer/)
|
WIP
merge-conflict
t-data
|
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 |
299-57453 9 months ago |
299-57453 9 months ago |
0-0 0 seconds |
| 12054 |
adomani author:adomani |
feat: auto-bugs |
This PR introduces a linter for suggesting bugs in tactics.
See
* #12077
* #12083
* #12084
for some bugs exposed by the test suite.
---
[](https://gitpod.io/from-referrer/)
|
awaiting-author
merge-conflict
t-meta
|
737/0 |
Mathlib.lean,Mathlib/Tactic.lean,Mathlib/Tactic/Linter/MetaTesting.lean,scripts/noshake.json,test/MetaTesting.lean |
5 |
20 |
['adomani', 'eric-wieser', 'github-actions', 'joneugster', 'kim-em'] |
joneugster assignee:joneugster |
297-29308 9 months ago |
297-29308 9 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)
---
[](https://gitpod.io/from-referrer/)
|
awaiting-author
modifies-tactic-syntax
merge-conflict
t-meta
|
181/0 |
Mathlib.lean,Mathlib/Tactic.lean,Mathlib/Tactic/Prune.lean,test/Prune.lean |
4 |
5 |
['adomani', 'j-loreaux', 'kmill'] |
nobody |
296-83015 9 months ago |
296-83015 9 months ago |
195-56460 195 days |
| 16550 |
awainverse author:awainverse |
feat(ModelTheory): A typeclass for languages expanding other languages |
Defines `L.Expands L'` to consist of a privileged injective inclusion, `L'.Inclusion L`, from `L'` to `L`, corresponding to one language being a subset of the other in set-theoretic foundations.
Replaces `L.IsOrdered` with `L.Expands Language.order` and `L.OrderLHom` with `Language.order.Inclusion L`
Redefines `leSymb` in terms of `Language.order.Inclusion L`
Deletions:
- `FirstOrder.Language.IsOrdered`
- `FirstOrder.Language.OrderLHom`
- `instance : IsOrdered Language.order`
- `sum.instIsOrdered`
---
[](https://gitpod.io/from-referrer/)
|
awaiting-author
merge-conflict
t-logic
|
97/43 |
Mathlib/ModelTheory/LanguageMap.lean,Mathlib/ModelTheory/Order.lean |
2 |
9 |
['YaelDillies', 'awainverse', 'github-actions'] |
nobody |
290-46916 9 months ago |
290-46917 9 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
---
[](https://gitpod.io/from-referrer/)
|
awaiting-author
merge-conflict
t-data
|
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 |
289-46547 9 months ago |
289-46547 9 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)
``` |
merge-conflict
t-category-theory
t-algebra
new-contributor
label:t-algebra$ |
47/8 |
Mathlib/RepresentationTheory/FDRep.lean |
1 |
19 |
['github-actions', 'grhkm21', 'joelriou', 'kim-em', 'mathlib-bors'] |
nobody |
288-81478 9 months ago |
288-81478 9 months ago |
125-12755 125 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)
[](https://gitpod.io/from-referrer/)
|
awaiting-author
merge-conflict
t-data
|
66/0 |
Mathlib.lean,Mathlib/Data/TypeFun.lean |
2 |
9 |
['YaelDillies', 'alexkeizer', 'github-actions', 'leanprover-community-mathlib4-bot'] |
nobody |
287-59509 9 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.
[](https://gitpod.io/from-referrer/)
|
awaiting-author
merge-conflict
t-topology
t-analysis
t-algebra
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 |
285-82599 9 months ago |
285-82599 9 months ago |
0-0 0 seconds |
| 19177 |
adomani author:adomani |
test: the findDefEqAbuse linter |
This is a prototype, as per [this Zulip discussion](https://leanprover.zulipchat.com/#narrow/channel/287929-mathlib4/topic/Locating.20defeq.20abuse)
---
[](https://gitpod.io/from-referrer/)
|
merge-conflict
large-import
|
126/0 |
Mathlib.lean,Mathlib/Tactic.lean,Mathlib/Tactic/Linter.lean,Mathlib/Tactic/Linter/FindDefEqAbuse.lean,MathlibTest/FindDefEqAbuse.lean |
5 |
1 |
['github-actions'] |
nobody |
281-69505 9 months ago |
281-69505 9 months ago |
0-0 0 seconds |
| 18470 |
FR-vdash-bot author:FR-vdash-bot |
perf: lower the priority of `Normed*.to*` instances |
---
From #7873.
[](https://gitpod.io/from-referrer/)
|
merge-conflict
t-analysis
t-algebra
slow-typeclass-synthesis
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 |
279-38919 9 months ago |
279-38919 9 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.
---
[](https://gitpod.io/from-referrer/)
|
WIP
merge-conflict
t-set-theory
|
18/0 |
Mathlib/SetTheory/Cardinal/Cofinality.lean |
1 |
8 |
['YnirPaz', 'github-actions', 'vihdzp'] |
nobody |
278-31795 9 months ago |
278-31795 9 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.
---
[](https://gitpod.io/from-referrer/)
|
merge-conflict
t-topology
|
187/1 |
Mathlib/MeasureTheory/MeasurableSpace/Basic.lean,Mathlib/Order/Filter/Basic.lean,Mathlib/Topology/Baire/BaireMeasurable.lean,Mathlib/Topology/Constructions.lean,Mathlib/Topology/GDelta/Basic.lean |
5 |
6 |
['Felix-Weilacher', 'github-actions', 'urkud'] |
nobody |
277-62988 9 months ago |
277-62988 9 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
[](https://gitpod.io/from-referrer/)
|
merge-conflict
t-meta
|
49/49 |
Cache/Hashing.lean,Cache/IO.lean,lake-manifest.json |
3 |
8 |
['digama0', 'eric-wieser', 'github-actions', 'leanprover-community-mathlib4-bot'] |
nobody |
276-38651 9 months ago |
458-4601 1 year ago |
119-35643 119 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`.
[](https://gitpod.io/from-referrer/) |
awaiting-author
merge-conflict
t-analysis
new-contributor
|
82/0 |
Mathlib.lean,Mathlib/Dynamics/FixedPoints/Basic.lean,Mathlib/Dynamics/FixedPoints/Increasing.lean |
3 |
32 |
['Ruben-VandeVelde', 'YaelDillies', 'github-actions', 'urkud', 'vihdzp', 'znssong'] |
nobody |
275-63318 9 months ago |
275-63318 9 months ago |
29-48368 29 days |
| 13999 |
adomani author:adomani |
feat: a linter to flag potential confusing conventions |
Currently, the linter flags all uses of
* `a - b` where `a b : Nat`;
* `a / b` where `a b : Nat` or `a b : Int`;
* `a / 0` more or less whenever the type of `a` has a `0` and a division.
This comes up often when starting to use Lean and hopefully the flag can help mitigate initial confusions.
When the local context contains the relevant inequality/divisibility hypothesis, the linter is quiet.
A recent [Zulip discussion](https://leanprover.zulipchat.com/#narrow/stream/113489-new-members/topic/not.20understanding.20deliberate.20error.20with.20.60ring.60.20over.20.E2.84.95/near/445879310)
---
To make sure that the linter does not produce errors, #14007 activates the linter on "all" of mathlib. The expectation is that no error is thrown, just warnings.
[](https://gitpod.io/from-referrer/)
|
awaiting-author
merge-conflict
t-linter
|
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 |
271-35381 8 months ago |
271-35381 8 months ago |
7-47472 7 days |
| 19013 |
quangvdao author:quangvdao |
feat(Algebra/BigOperators/Fin): Add `finSigmaFinEquiv` |
This PR adds `finSigmaFinEquiv` which is the equivalence `(i : Fin m) × Fin (n i) ≃ Fin (∑ i, n i)`. This is the dependent version of `finProdFinEquiv`.
CI should be passing, but there are two things I'd like feedback on:
1. When defining the mappings, I have to consider `m = 0` separately. Is there a more uniform definition?
2. I'm proving this as a step toward defining `Fin.join`, which is the analogue of `List.join`. I can now technically define `Fin.join` as:
```
variable {a : Fin n → ℕ} {α : (i : Fin n) → (j : Fin (a i)) → Sort*}
def join (v : (i : Fin n) → (j : Fin (a i)) → α i j) (k : Fin (∑ i, a i)) :
α (finSigmaFinEquiv.invFun k).1 (finSigmaFinEquiv.invFun k).2 :=
v (finSigmaFinEquiv.invFun k).1 (finSigmaFinEquiv.invFun k).2
```
but this looks horrible. This highly motivates refactoring `invFun` as two new definitions:
```
def func1 {n : ℕ} (a : Fin n → ℕ) (k : Fin (∑ i, a i)) : Fin n := sorry
def func2 {n : ℕ} (a : Fin n → ℕ) (k : Fin (∑ i, a i)) : Fin (a (func1 a k)) := sorry
```
I'm not sure what to call these functions. The analogues in the non-dependent case are `divNat` and `modNat`.
---
[](https://gitpod.io/from-referrer/)
|
awaiting-author
merge-conflict
t-algebra
label:t-algebra$ |
92/16 |
Mathlib/Algebra/BigOperators/Fin.lean |
1 |
14 |
['YaelDillies', 'eric-wieser', 'github-actions', 'quangvdao'] |
nobody |
269-57414 8 months ago |
269-57414 8 months ago |
3-28829 3 days |
| 19189 |
YnirPaz author:YnirPaz |
feat(SetTheory/Ordinal/Arithmetic): order isomorphism between omega and the natural numbers |
---
[](https://gitpod.io/from-referrer/)
|
awaiting-author
merge-conflict
t-set-theory
|
44/0 |
Mathlib/Order/SuccPred/Limit.lean,Mathlib/SetTheory/Ordinal/Arithmetic.lean |
2 |
21 |
['YaelDillies', 'YnirPaz', 'github-actions', 'vihdzp'] |
nobody |
268-27047 8 months ago |
268-27047 8 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)
---
[](https://gitpod.io/from-referrer/)
|
awaiting-author
merge-conflict
CI
|
9/20 |
.github/build.in.yml,.github/workflows/bors.yml,.github/workflows/build.yml,.github/workflows/build_fork.yml,MathlibTest/AssertImported.lean |
5 |
2 |
['bryangingechen', 'github-actions'] |
nobody |
266-76450 8 months ago |
266-76451 8 months ago |
22-71271 22 days |
| 15774 |
kkytola author:kkytola |
feat: Topology on `ENat` |
This PR may contain some results that are not in the PR that adds a toppology on `ENat`.
---
The immediate motivation is to be able to make the right continuity statement of the extended floor function on `ENNReal`, when this floor function is made `ENat`valued as suggested in the PR review of #15269.
The API here is modelled on the early parts of [the corresponding ENNReal file](https://leanprover-community.github.io/mathlib4_docs/Mathlib/Topology/Instances/ENNReal.html#top), although much of this case is more trivial.
- [x] depends on: #15380
[](https://gitpod.io/from-referrer/)
|
WIP
merge-conflict
t-topology
t-order
|
161/9 |
Mathlib/Data/ENat/Basic.lean,Mathlib/Topology/Instances/ENat.lean |
2 |
4 |
['YaelDillies', 'github-actions', 'leanprover-community-mathlib4-bot'] |
nobody |
262-33982 8 months ago |
262-33982 8 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
[](https://gitpod.io/from-referrer/)
|
WIP
merge-conflict
t-algebraic-geometry
|
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 |
261-56734 8 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 α)`.
---
[](https://gitpod.io/from-referrer/)
|
merge-conflict
t-data
t-set-theory
|
51/0 |
Mathlib.lean,Mathlib/Data/ENat/Pow.lean |
2 |
1 |
['github-actions'] |
nobody |
261-13175 8 months ago |
261-13175 8 months ago |
0-0 0 seconds |
| 16009 |
Command-Master author:Command-Master |
acyclic graph |
---
[](https://gitpod.io/from-referrer/)
|
WIP
merge-conflict
t-combinatorics
|
232/0 |
Mathlib/Combinatorics/SimpleGraph/Acyclic.lean |
1 |
1 |
['github-actions'] |
nobody |
260-68531 8 months ago |
260-68531 8 months ago |
0-0 0 seconds |
| 13124 |
FR-vdash-bot author:FR-vdash-bot |
chore: remove `CovariantClass` and `ContravariantClass` |
Lean cannot handle `CovariantClass` and `ContravariantClass` correctly
- TC slowness
- [Zulip](https://leanprover.zulipchat.com/#narrow/stream/287929-mathlib4/topic/TC.20slowness)
- https://github.com/leanprover-community/mathlib4/issues/6646#issuecomment-1691792488
- It may also have made #6326 fail.
- Needs a weird hack to find instance: #9252
---
- [x] depends on: #13154
[](https://gitpod.io/from-referrer/)
|
WIP
merge-conflict
|
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 |
255-16186 8 months ago |
255-16186 8 months ago |
0-1769 29 minutes |
| 19275 |
eric-wieser author:eric-wieser |
fix: if nolint files change, do a full rebuild |
Otherwise CI will succeed when removing entries from the file, but fail later when someone changes something unrelated.
---
[](https://gitpod.io/from-referrer/)
|
delegated
merge-conflict
|
8/0 |
lakefile.lean |
1 |
20 |
['YaelDillies', 'adomani', 'eric-wieser', 'github-actions', 'grunweg', 'mathlib-bors'] |
nobody |
253-71908 8 months ago |
253-71908 8 months ago |
0-214 3 minutes |
| 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 |
awaiting-author
merge-conflict
t-analysis
t-measure-probability
new-contributor
|
60/1 |
Mathlib/MeasureTheory/Integral/FundThmCalculus.lean |
1 |
3 |
['github-actions', 'hrmacbeth', 'victorliu5296'] |
nobody |
252-7306 8 months ago |
252-7306 8 months ago |
51-85104 51 days |
| 15943 |
urkud author:urkud |
feat: add `ProdQuotientMapSpace` |
---
[](https://gitpod.io/from-referrer/)
|
merge-conflict
t-topology
|
731/11 |
Mathlib.lean,Mathlib/Topology/Basic.lean,Mathlib/Topology/Compactness/Compact.lean,Mathlib/Topology/Maps/ProdQuotient.lean |
4 |
2 |
['github-actions', 'leanprover-community-bot-assistant'] |
nobody |
250-25678 8 months ago |
250-25681 8 months ago |
0-0 0 seconds |
| 19771 |
robertylewis author:robertylewis |
perf: qqify two functions in linarith |
---
[](https://gitpod.io/from-referrer/)
|
merge-conflict
t-meta
|
17/24 |
Mathlib/Tactic/Linarith/Frontend.lean,Mathlib/Tactic/Linarith/Verification.lean |
2 |
5 |
['github-actions', 'grunweg', 'leanprover-bot', 'leanprover-community-bot-assistant', 'robertylewis'] |
nobody |
248-80115 8 months ago |
248-80116 8 months ago |
0-0 0 seconds |
| 13653 |
adomani author:adomani |
feat: the unusedSetOptionIn linter |
---
[](https://gitpod.io/from-referrer/)
|
merge-conflict
t-linter
large-import
|
199/0 |
Mathlib.lean,Mathlib/Algebra/Homology/HomotopyCategory/Triangulated.lean,Mathlib/Tactic.lean,Mathlib/Tactic/Linter.lean,Mathlib/Tactic/Linter/UnnecessarySetOptionIn.lean,MathlibTest/UnnecessarySetOptionIn.lean |
6 |
15 |
['adomani', 'github-actions', 'grunweg', 'leanprover-community-bot-assistant'] |
nobody |
248-20330 8 months ago |
248-20332 8 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
---
[](https://gitpod.io/from-referrer/)
(Note that Mario provided the ideas but not the code, so please review with appropriate diligence!) |
awaiting-author
merge-conflict
|
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 |
248-2026 8 months ago |
248-2028 8 months ago |
4-16654 4 days |
| 6252 |
michaellee94 author:michaellee94 |
feat(Geometry/Manifolds/Instances/Homeomorph): Homeomorphism maps `C^k` manifolds to `C^k` manifolds |
---
[](https://gitpod.io/from-referrer/)
|
WIP
merge-conflict
t-differential-geometry
|
116/0 |
Mathlib.lean,Mathlib/Geometry/Manifold/Instances/Graph.lean |
2 |
2 |
['leanprover-community-bot-assistant', 'michaellee94'] |
nobody |
246-73087 8 months ago |
246-73089 8 months ago |
1-44375 1 day |
| 16314 |
FR-vdash-bot author:FR-vdash-bot |
chore(Data/Quot): deprecate `ind*'` APIs |
---
- [x] depends on: #16264
[](https://gitpod.io/from-referrer/)
|
merge-conflict
t-data
|
247/287 |
Counterexamples/CliffordAlgebraNotInjective.lean,Mathlib/Algebra/Colimit/Module.lean,Mathlib/Algebra/Lie/Quotient.lean,Mathlib/Algebra/Module/Torsion.lean,Mathlib/Algebra/RingQuot.lean,Mathlib/Analysis/SpecialFunctions/Trigonometric/Angle.lean,Mathlib/CategoryTheory/ConnectedComponents.lean,Mathlib/CategoryTheory/Subobject/Basic.lean,Mathlib/CategoryTheory/Subobject/FactorThru.lean,Mathlib/CategoryTheory/Subobject/Lattice.lean,Mathlib/Computability/Reduce.lean,Mathlib/Computability/Tape.lean,Mathlib/Data/List/Cycle.lean,Mathlib/Data/Multiset/MapFold.lean,Mathlib/Data/Multiset/ZeroCons.lean,Mathlib/Data/Quot.lean,Mathlib/Data/Setoid/Basic.lean,Mathlib/Data/Setoid/Partition.lean,Mathlib/FieldTheory/Fixed.lean,Mathlib/GroupTheory/Complement.lean,Mathlib/GroupTheory/Congruence/Basic.lean,Mathlib/GroupTheory/Congruence/Defs.lean,Mathlib/GroupTheory/Congruence/Hom.lean,Mathlib/GroupTheory/Coset/Basic.lean,Mathlib/GroupTheory/Coset/Defs.lean,Mathlib/GroupTheory/FreeAbelianGroup.lean,Mathlib/GroupTheory/GroupAction/Basic.lean,Mathlib/GroupTheory/GroupAction/Defs.lean,Mathlib/GroupTheory/GroupAction/Quotient.lean,Mathlib/GroupTheory/Index.lean,Mathlib/GroupTheory/MonoidLocalization/Basic.lean,Mathlib/GroupTheory/PGroup.lean,Mathlib/GroupTheory/Perm/Cycle/Concrete.lean,Mathlib/GroupTheory/PresentedGroup.lean,Mathlib/GroupTheory/QuotientGroup/Basic.lean,Mathlib/GroupTheory/QuotientGroup/Defs.lean,Mathlib/GroupTheory/SchurZassenhaus.lean,Mathlib/GroupTheory/Sylow.lean,Mathlib/LinearAlgebra/Alternating/DomCoprod.lean,Mathlib/LinearAlgebra/Projectivization/Basic.lean,Mathlib/LinearAlgebra/Quotient/Basic.lean,Mathlib/LinearAlgebra/Quotient/Defs.lean,Mathlib/MeasureTheory/Function/AEEqFun.lean,Mathlib/NumberTheory/Padics/PadicNumbers.lean,Mathlib/NumberTheory/RamificationInertia/Basic.lean,Mathlib/Order/Antisymmetrization.lean,Mathlib/Order/Category/PartOrd.lean,Mathlib/Order/Filter/Germ/Basic.lean,Mathlib/RepresentationTheory/GroupCohomology/Hilbert90.lean,Mathlib/RingTheory/AdicCompletion/Algebra.lean,Mathlib/RingTheory/AdicCompletion/Basic.lean,Mathlib/RingTheory/AdicCompletion/Functoriality.lean,Mathlib/RingTheory/AdjoinRoot.lean,Mathlib/RingTheory/Congruence/Basic.lean,Mathlib/RingTheory/Flat/FaithfullyFlat/Basic.lean,Mathlib/RingTheory/GradedAlgebra/HomogeneousLocalization.lean,Mathlib/RingTheory/Ideal/Cotangent.lean,Mathlib/RingTheory/Ideal/Norm/AbsNorm.lean,Mathlib/RingTheory/Ideal/Quotient/Basic.lean,Mathlib/RingTheory/Ideal/Quotient/Defs.lean,Mathlib/RingTheory/Ideal/Quotient/Operations.lean,Mathlib/RingTheory/Valuation/Quotient.lean,Mathlib/Topology/Algebra/Group/TopologicalAbelianization.lean,Mathlib/Topology/Algebra/InfiniteSum/Module.lean,Mathlib/Topology/Separation/Basic.lean |
65 |
4 |
['github-actions', 'leanprover-community-bot-assistant', 'mathlib4-dependent-issues-bot'] |
nobody |
243-14458 7 months ago |
243-14460 7 months ago |
55-52030 55 days |
| 11455 |
adomani author:adomani |
fix: unsqueeze simp, re Yaël's comments on #11259 |
This PR reverts/simplifies some of the "squeeze `simp`" changes in #11259.
See #11259 for context.
---
[](https://gitpod.io/from-referrer/)
|
awaiting-author
merge-conflict
|
3/6 |
Mathlib/Algebra/Group/Conj.lean,Mathlib/Data/Seq/WSeq.lean |
2 |
8 |
['Ruben-VandeVelde', 'YaelDillies', 'grunweg', 'loefflerd', 'robertylewis', 'urkud'] |
nobody |
242-46111 7 months ago |
512-72701 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.
---
[](https://gitpod.io/from-referrer/)
|
merge-conflict
awaiting-CI
t-category-theory
|
22/21 |
Mathlib/CategoryTheory/EssentialImage.lean,Mathlib/CategoryTheory/Monoidal/Braided.lean,Mathlib/CategoryTheory/Monoidal/Subcategory.lean |
3 |
1 |
['grunweg'] |
nobody |
242-45990 7 months ago |
522-75075 1 year ago |
0-0 0 seconds |
| 7874 |
astrainfinita author:astrainfinita |
chore: make `IsScalarTower A A B` and `IsScalarTower A B B` higher priority |
---
[](https://gitpod.io/from-referrer/)
|
merge-conflict
awaiting-CI
t-algebra
slow-typeclass-synthesis
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 |
242-45965 7 months ago |
512-72960 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)
[](https://gitpod.io/from-referrer/)
|
merge-conflict
t-meta
awaiting-CI
|
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 |
242-45791 7 months ago |
522-75075 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
[](https://gitpod.io/from-referrer/)
|
merge-conflict
t-algebra
label:t-algebra$ |
114/60 |
Mathlib/GroupTheory/Commensurable.lean,Mathlib/GroupTheory/Coset.lean,Mathlib/GroupTheory/QuotientGroup.lean,Mathlib/LinearAlgebra/Alternating/DomCoprod.lean,Mathlib/MeasureTheory/Measure/Haar/Quotient.lean,Mathlib/Topology/Algebra/Group/Compact.lean |
6 |
14 |
['FR-vdash-bot', 'eric-wieser', 'github-actions', 'grunweg', 'leanprover-bot', 'leanprover-community-mathlib4-bot', 'mattrobball', 'mergify', 'urkud'] |
nobody |
242-45751 7 months ago |
490-84081 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 |
---
[](https://gitpod.io/from-referrer/)
|
merge-conflict
t-algebra
slow-typeclass-synthesis
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 |
242-45527 7 months ago |
446-85074 1 year ago |
14-58900 14 days |
| 13780 |
adomani author:adomani |
deprecate injective |
---
[](https://gitpod.io/from-referrer/)
|
merge-conflict |
31/9 |
.github/workflows/bors.yml,.github/workflows/build.yml,.github/workflows/build.yml.in,.github/workflows/build_fork.yml,Mathlib/Init/Function.lean,lake-manifest.json,lakefile.lean |
7 |
2 |
['github-actions', 'grunweg'] |
nobody |
242-13041 7 months ago |
537-82785 1 year ago |
0-0 0 seconds |
| 20313 |
thefundamentaltheor3m author:thefundamentaltheor3m |
feat(Data/Complex/Exponential): prove some useful results about the complex exponential. |
This PR proves two basic results about the complex exponential:
* `abs_exp_mul_I (x : ℂ) : abs (Complex.exp (I * x)) = Real.exp (-x.im)`
* `one_sub_rexp_re_le_abs_one_sub_cexp (x : ℂ) : 1 - Real.exp x.re ≤ Complex.abs (1 - Complex.exp x)`
Both results were proved as part of the sphere packing project. There's a chance they're too specific for mathlib, but I thought they were worth PRing anyway. Would it also be a good idea to tag `abs_exp_mul_I` with `simp`? Feedback/suggestions welcome.
Note: `one_sub_rexp_re_le_abs_one_sub_cexp` was proved by Bhavik Mehta @b-mehta
---
[](https://gitpod.io/from-referrer/)
|
merge-conflict
t-analysis
new-contributor
|
167/141 |
Mathlib.lean,Mathlib/Analysis/Complex/Basic.lean,Mathlib/Analysis/SpecialFunctions/Log/ERealExp.lean,Mathlib/Analysis/SpecialFunctions/Trigonometric/Chebyshev.lean,Mathlib/Data/Complex/Exponential/Defs.lean,Mathlib/Data/Complex/Exponential/Lemmas.lean,Mathlib/Data/Complex/ExponentialBounds.lean,Mathlib/Tactic/FunProp.lean,MathlibTest/Recall.lean,MathlibTest/positivity.lean |
10 |
12 |
['b-mehta', 'github-actions', 'kim-em', 'thefundamentaltheor3m', 'trivial1711'] |
nobody |
240-49820 7 months ago |
240-49820 7 months ago |
25-60481 25 days |
| 19117 |
eric-wieser author:eric-wieser |
feat: derivatives of matrix operations |
These are finally possible to state after #19108.
However, a lot of bundled `ContinuousLinearMap`s are missing.
---
- [x] depends on: #19108
[](https://gitpod.io/from-referrer/)
|
WIP
merge-conflict
t-analysis
|
336/22 |
Mathlib.lean,Mathlib/Analysis/Calculus/Deriv/Matrix.lean,Mathlib/Analysis/Calculus/FDeriv/Basic.lean,Mathlib/Analysis/Calculus/FDeriv/Matrix.lean |
4 |
3 |
['github-actions', 'leanprover-community-bot-assistant', 'mathlib4-dependent-issues-bot'] |
nobody |
238-68330 7 months ago |
238-68332 7 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
[](https://gitpod.io/from-referrer/)
|
awaiting-author
merge-conflict
|
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 |
238-62945 7 months ago |
524-76871 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
[](https://gitpod.io/from-referrer/)
|
WIP
merge-conflict
t-category-theory
|
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 |
236-6392 7 months ago |
unknown |
unknown |
| 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)
---
[](https://gitpod.io/from-referrer/)
This is started from the mathport output on https://github.com/leanprover-community/mathlib/pull/19244 |
merge-conflict
t-analysis
awaiting-zulip
|
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 |
233-35170 7 months ago |
244-63800 8 months ago |
29-60989 29 days |
| 14931 |
eric-wieser author:eric-wieser |
feat: volume of a simplex |
---
[](https://gitpod.io/from-referrer/)
|
merge-conflict
t-euclidean-geometry
|
207/0 |
Mathlib/Geometry/Euclidean/Basic.lean,Mathlib/Geometry/Euclidean/Circumcenter.lean,Mathlib/Geometry/Euclidean/Volume.lean |
3 |
3 |
['eric-wieser', 'github-actions', 'leanprover-community-bot-assistant'] |
nobody |
231-66697 7 months ago |
231-66699 7 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)
---
[](https://gitpod.io/from-referrer/)
|
WIP
merge-conflict
t-linter
large-import
|
178/0 |
Mathlib.lean,Mathlib/Tactic.lean,Mathlib/Tactic/Linter.lean,Mathlib/Tactic/Linter/DependentTypeclass.lean,MathlibTest/DependentTypeclass.lean |
5 |
3 |
['github-actions', 'leanprover-community-bot-assistant', 'mattrobball'] |
nobody |
227-71922 7 months ago |
240-2924 7 months ago |
0-109 1 minute |
| 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
[](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 |
225-37790 7 months ago |
225-37792 7 months ago |
87-51692 87 days |
| 19821 |
eric-wieser author:eric-wieser |
feat: add a Qq version of AtomM that groups by type |
---
[](https://gitpod.io/from-referrer/)
|
WIP
merge-conflict
t-meta
large-import
|
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 |
225-10119 7 months ago |
225-10119 7 months ago |
0-0 0 seconds |
| 19520 |
erdOne author:erdOne |
refactor(Algebra/Module): Redefine `LocalizedModule` in terms of `OreLocalization` |
---
[](https://gitpod.io/from-referrer/)
|
merge-conflict
t-algebra
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 |
225-10108 7 months ago |
225-10108 7 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!
---
[](https://gitpod.io/from-referrer/)
|
blocked-by-core-PR
merge-conflict
t-meta
|
137/15 |
Archive/Imo/Imo2006Q3.lean,Archive/Imo/Imo2008Q2.lean,Mathlib.lean,Mathlib/Algebra/ContinuedFractions/Computation/Approximations.lean,Mathlib/Analysis/Analytic/Composition.lean,Mathlib/Analysis/Calculus/FDeriv/Measurable.lean,Mathlib/Analysis/SpecialFunctions/Gamma/BohrMollerup.lean,Mathlib/Analysis/SpecialFunctions/Integrals.lean,Mathlib/Analysis/SpecialFunctions/Stirling.lean,Mathlib/Data/Real/Pi/Irrational.lean,Mathlib/NumberTheory/LSeries/HurwitzZetaOdd.lean,Mathlib/NumberTheory/SumPrimeReciprocals.lean,Mathlib/RingTheory/WittVector/DiscreteValuationRing.lean,Mathlib/Tactic/Abel.lean,Mathlib/Tactic/Polyrith.lean,Mathlib/Tactic/Ring/Basic.lean,Mathlib/Tactic/Ring/RingNF.lean,Mathlib/Topology/MetricSpace/GromovHausdorff.lean,Mathlib/Util/WHNF.lean,MathlibTest/abel.lean,MathlibTest/ring.lean |
21 |
5 |
['JovanGerb', 'github-actions', 'grunweg', 'hrmacbeth'] |
nobody |
225-10099 7 months ago |
225-10099 7 months ago |
0-0 0 seconds |
| 17069 |
yuma-mizuno author:yuma-mizuno |
chore(CategoryTheory/Functor/Basic): put `simp` at `Functor.id_comp` |
---
[](https://gitpod.io/from-referrer/)
|
merge-conflict
t-category-theory
|
41/30 |
Mathlib/CategoryTheory/Adjunction/Mates.lean,Mathlib/CategoryTheory/Functor/Basic.lean,Mathlib/CategoryTheory/GuitartExact/VerticalComposition.lean,Mathlib/CategoryTheory/Limits/HasLimits.lean,Mathlib/CategoryTheory/Shift/CommShift.lean |
5 |
3 |
['github-actions', 'leanprover-bot', 'yuma-mizuno'] |
nobody |
225-10089 7 months ago |
225-10089 7 months ago |
0-0 0 seconds |
| 14803 |
StevenClontz author:StevenClontz |
chore: use `Disjoint` nhd filters for all separation axioms |
---
[](https://gitpod.io/from-referrer/)
|
merge-conflict
t-topology
|
157/122 |
Mathlib/Topology/Separation.lean |
1 |
1 |
['github-actions'] |
nobody |
225-10073 7 months ago |
225-10074 7 months ago |
0-0 0 seconds |
| 14675 |
adomani author:adomani |
dev: the repeated variable linter |
---
[](https://gitpod.io/from-referrer/)
|
WIP
merge-conflict
t-linter
|
71/0 |
Mathlib/Tactic/Linter/Lint.lean |
1 |
1 |
['github-actions'] |
nobody |
225-10068 7 months ago |
225-10068 7 months ago |
0-8 8 seconds |
| 14330 |
Ruben-VandeVelde author:Ruben-VandeVelde |
chore: split Mathlib.Algebra.Star.Basic |
---
[](https://gitpod.io/from-referrer/)
|
awaiting-author
merge-conflict
|
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 |
225-10028 7 months ago |
225-10054 7 months ago |
0-45204 12 hours |
| 14007 |
adomani author:adomani |
test: papercut linter working on all mathlib |
This PR is a testing ground for potential issues with the papercut linter #13999. It is not intended to be merged.
The linter is active on all of mathlib, to make sure that the linter does not throw errors, but only emits warnings!
---
[](https://gitpod.io/from-referrer/)
|
WIP
merge-conflict
t-linter
|
249/0 |
Mathlib.lean,Mathlib/Tactic.lean,Mathlib/Tactic/Linter.lean,Mathlib/Tactic/Linter/Papercut.lean,test/Papercut.lean |
5 |
1 |
['github-actions'] |
nobody |
225-9913 7 months ago |
225-9913 7 months ago |
0-0 0 seconds |
| 20354 |
eric-wieser author:eric-wieser |
feat: generalize `ContinuousLinearMap.curry` to TVS |
Follow on from #10777
---
[](https://gitpod.io/from-referrer/)
|
merge-conflict
t-analysis
|
57/25 |
Mathlib/Analysis/NormedSpace/Multilinear/Curry.lean |
1 |
3 |
['eric-wieser', 'github-actions', 'leanprover-community-bot-assistant'] |
nobody |
225-9848 7 months ago |
225-9848 7 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.
---
[](https://gitpod.io/from-referrer/)
|
awaiting-author
merge-conflict
t-measure-probability
|
52/46 |
Mathlib/MeasureTheory/Measure/Haar/Basic.lean |
1 |
0 |
[] |
nobody |
225-9659 7 months ago |
225-9659 7 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.
[](https://gitpod.io/from-referrer/)
|
please-adopt
merge-conflict
t-algebra
label:t-algebra$ |
16/4 |
Mathlib/Algebra/Lie/SkewAdjoint.lean,Mathlib/Algebra/Lie/Subalgebra.lean |
2 |
3 |
['eric-wieser', 'ericrbg'] |
nobody |
225-9647 7 months ago |
225-9647 7 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.
---
[](https://gitpod.io/from-referrer/)
|
WIP
merge-conflict
t-data
|
269/226 |
Mathlib/Algebra/BigOperators/Finsupp.lean,Mathlib/Data/Finsupp/AList.lean,Mathlib/Data/Finsupp/Basic.lean,Mathlib/Data/Finsupp/Defs.lean,Mathlib/Data/Finsupp/Fintype.lean,Mathlib/Data/Finsupp/Indicator.lean,Mathlib/Data/Finsupp/Multiset.lean,Mathlib/Data/Finsupp/Order.lean,Mathlib/Data/Finsupp/ToDFinsupp.lean,Mathlib/Data/Nat/Choose/Multinomial.lean,Mathlib/LinearAlgebra/Basis.lean,Mathlib/LinearAlgebra/Finsupp.lean |
12 |
0 |
[] |
nobody |
225-9641 7 months ago |
225-9641 7 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
[](https://gitpod.io/from-referrer/)
|
merge-conflict
t-algebra
label:t-algebra$ |
3289/459 |
Mathlib.lean,Mathlib/Algebra/Module/Length.lean,Mathlib/Algebra/Module/Submodule/JordanHolder.lean,Mathlib/Algebra/PUnitInstances.lean,Mathlib/AlgebraicGeometry/PrimeSpectrum/ArtinianAndNoetherian.lean,Mathlib/Data/List/Basic.lean,Mathlib/Data/List/Dedup.lean,Mathlib/Data/List/Nodup.lean,Mathlib/LinearAlgebra/Quotient.lean,Mathlib/Order/Cover.lean,Mathlib/Order/JordanHolder.lean,Mathlib/Order/KrullDimension.lean,Mathlib/Order/ListOnPartialOrderTypes.lean,Mathlib/Order/Monotone/Basic.lean,Mathlib/Order/RelSeries.lean,Mathlib/RingTheory/Artinian.lean,Mathlib/RingTheory/Finiteness.lean,Mathlib/RingTheory/Ideal/Operations.lean,Mathlib/RingTheory/Ideal/Pi.lean,Mathlib/RingTheory/KrullDimension.lean,Mathlib/RingTheory/Noetherian.lean,Mathlib/RingTheory/SimpleModule.lean,Mathlib/Topology/KrullDimension.lean,Mathlib/Topology/Sheaves/SheafCondition/EqualizerProducts.lean |
24 |
11 |
['alreadydone', 'jjaassoonn', 'leanprover-community-mathlib4-bot'] |
nobody |
225-9636 7 months ago |
656-66049 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.
---
[](https://gitpod.io/from-referrer/)
|
merge-conflict
t-data
|
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 |
225-9625 7 months ago |
225-9625 7 months ago |
7-68358 7 days |
| 8536 |
jjaassoonn author:jjaassoonn |
characteristic predicate of tensor product |
---
[](https://gitpod.io/from-referrer/)
|
merge-conflict
t-algebra
label:t-algebra$ |
399/7 |
Mathlib/Algebra/Category/AlgebraCat/Monoidal.lean,Mathlib/LinearAlgebra/IsTensorProduct.lean,Mathlib/LinearAlgebra/TensorProduct.lean,Mathlib/LinearAlgebra/TensorProduct/Tower.lean |
4 |
12 |
['alreadydone', 'eric-wieser', 'jjaassoonn'] |
nobody |
225-9589 7 months ago |
225-9589 7 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`.
[](https://gitpod.io/from-referrer/)
|
WIP
merge-conflict
t-analysis
|
139/137 |
Mathlib/Analysis/Distribution/SchwartzSpace.lean,Mathlib/Analysis/Fourier/PoissonSummation.lean,Mathlib/Topology/ContinuousFunction/ZeroAtInfty.lean |
3 |
0 |
[] |
nobody |
225-9555 7 months ago |
225-9555 7 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.
---
[](https://gitpod.io/from-referrer/)
|
WIP
merge-conflict
t-algebra
label:t-algebra$ |
6745/217 |
Mathlib.lean,Mathlib/Algebra/Category/FGModuleCat/Abelian.lean,Mathlib/Algebra/Category/FGModuleCat/Basic.lean,Mathlib/Algebra/Category/FGModuleCat/EpiMono.lean,Mathlib/Algebra/Category/FGModuleCat/Kernels.lean,Mathlib/Algebra/Category/FGModuleCat/Limits.lean,Mathlib/Algebra/DirectSum/Basic.lean,Mathlib/Algebra/GradedMonoid.lean,Mathlib/Algebra/HilbertSerre/AdditiveFunction.lean,Mathlib/Algebra/HilbertSerre/FiniteInstances.lean,Mathlib/Algebra/HilbertSerre/HilbertPolynomial.lean,Mathlib/Algebra/HilbertSerre/Theorem.lean,Mathlib/Algebra/Module/GradeZeroModule.lean,Mathlib/Algebra/Module/GradedModule.lean,Mathlib/AlgebraicGeometry/ProjectiveSpectrum/Topology.lean,Mathlib/RingTheory/FiniteType.lean,Mathlib/RingTheory/Finiteness.lean,Mathlib/RingTheory/GradedAlgebra/Basic.lean,Mathlib/RingTheory/GradedAlgebra/HomogeneousIdeal.lean,Mathlib/RingTheory/GradedAlgebra/Noetherian.lean,Mathlib/RingTheory/GradedAlgebra/Radical.lean,Mathlib/RingTheory/GradedAlgebra/Subgrading.lean,Mathlib/RingTheory/Polynomial/Hilbert.lean,Mathlib/RingTheory/PowerSeries/Basic.lean,Mathlib/RingTheory/PowerSeries/WellKnown.lean |
25 |
n/a |
['FMLJohn', 'github-actions'] |
nobody |
225-9537 7 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`).
---
[](https://gitpod.io/from-referrer/)
|
merge-conflict
t-linter
|
345/4 |
.github/workflows/bors.yml,.github/workflows/build.yml,.github/workflows/build.yml.in,.github/workflows/build_fork.yml,Mathlib.lean,Mathlib/Tactic.lean,Mathlib/Tactic/UpdateDeprecations.lean,Mathlib/test_depr.lean,Mathlib/test_depr_no_change.lean,lakefile.lean,scripts/update_deprecations.lean,test/UpdateDeprecations.lean |
12 |
0 |
[] |
nobody |
225-9388 7 months ago |
225-9388 7 months ago |
0-0 0 seconds |
| 14932 |
eric-wieser author:eric-wieser |
chore: add nndist versions of lemmas |
---
[](https://gitpod.io/from-referrer/)
|
merge-conflict
t-analysis
|
108/1 |
Mathlib/Analysis/InnerProductSpace/Basic.lean,Mathlib/Geometry/Euclidean/Basic.lean |
2 |
1 |
['github-actions'] |
nobody |
225-9201 7 months ago |
225-9201 7 months ago |
0-0 0 seconds |
| 18202 |
ADedecker author:ADedecker |
chore: refactor algebraic filter bases |
---
[](https://gitpod.io/from-referrer/)
|
merge-conflict
t-topology
t-algebra
label:t-algebra$ |
1086/1315 |
Mathlib/Analysis/Distribution/SchwartzSpace.lean,Mathlib/Analysis/LocallyConvex/AbsConvex.lean,Mathlib/Analysis/LocallyConvex/Barrelled.lean,Mathlib/Analysis/LocallyConvex/WeakDual.lean,Mathlib/Analysis/LocallyConvex/WithSeminorms.lean,Mathlib/Analysis/Normed/Operator/WeakOperatorTopology.lean,Mathlib/FieldTheory/KrullTopology.lean,Mathlib/RingTheory/DedekindDomain/FiniteAdeleRing.lean,Mathlib/Topology/Algebra/FilterBasis.lean,Mathlib/Topology/Algebra/Module/UniformConvergence.lean,Mathlib/Topology/Algebra/Nonarchimedean/AdicTopology.lean,Mathlib/Topology/Algebra/Nonarchimedean/Bases.lean,Mathlib/Topology/Algebra/UniformFilterBasis.lean,Mathlib/Topology/Algebra/Valued/ValuationTopology.lean |
14 |
1 |
['github-actions'] |
nobody |
224-1872 7 months ago |
224-1872 7 months ago |
0-0 0 seconds |
| 19315 |
quangvdao author:quangvdao |
feat(Data/Finsupp/Fin): Add `Finsupp` operations on `Fin` tuple |
This PR adds more analogues of operations on `Fin` tuples to the `Finsupp` setting. Before, there were only `Finsupp.cons` and `Finsupp.tail`. Now there are also `Finsupp.snoc`, `Finsupp.insertNth`, `Finsupp.init`, and `Finsupp.removeNth`. These all come with supporting lemmas.
I also removed the porting comment about `succAboveCases` in `Data/Fin/Basic`, and added a lemma about `succAbove` in `Data/Fin/Tuple/Basic`.
---
- [x] depends on: #20361
- [x] depends on: #20771
- [x] depends on: #20770
[](https://gitpod.io/from-referrer/)
|
awaiting-author
merge-conflict
t-data
|
193/16 |
Mathlib/Algebra/BigOperators/Fin.lean,Mathlib/Algebra/BigOperators/Finsupp.lean,Mathlib/Algebra/MvPolynomial/Equiv.lean,Mathlib/Data/Finsupp/Fin.lean,Mathlib/RingTheory/MvPolynomial/Homogeneous.lean,scripts/nolints_prime_decls.txt |
6 |
44 |
['YaelDillies', 'github-actions', 'j-loreaux', 'kbuzzard', 'mathlib4-dependent-issues-bot', 'quangvdao'] |
nobody |
221-45031 7 months ago |
221-45031 7 months ago |
43-81255 43 days |
| 19464 |
adomani author:adomani |
test: removed merge-conflict |
---
[](https://gitpod.io/from-referrer/)
|
WIP
delegated
merge-conflict
CI
|
22/1 |
.github/workflows/PR_summary.yml,scripts/zulip_emoji_merge_delegate.py |
2 |
10 |
['adomani', 'github-actions', 'leanprover-community-bot-assistant'] |
nobody |
220-56355 7 months ago |
220-56357 7 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)
[](https://gitpod.io/from-referrer/) |
merge-conflict
awaiting-CI
t-analysis
t-algebra
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 |
219-72145 7 months ago |
473-85703 1 year ago |
0-0 0 seconds |
| 15115 |
kkytola author:kkytola |
feat: Generalize assumptions in liminf and limsup results in ENNReals |
In a [review comment](https://github.com/leanprover-community/mathlib4/pull/13938#discussion_r1649744441) it was pointed out that results about liminf and limsup in ENNReal hold under milder assumptions. This PR does the generalization.
---
This PR is split off from #13938, where the review comment was made. The changes needed for the suggested generalization were of different kind than the simple PR's content, justifying a separate PR.
- [x] depends on: #13938
[](https://gitpod.io/from-referrer/)
|
help-wanted
awaiting-author
merge-conflict
t-topology
t-order
|
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 |
212-77424 6 months ago |
237-61728 7 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.
[](https://gitpod.io/from-referrer/)
|
awaiting-author
delegated
merge-conflict
t-linter
large-import
|
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 |
211-65930 6 months ago |
211-65932 6 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
[](https://gitpod.io/from-referrer/)
|
awaiting-author
merge-conflict
t-linter
large-import
|
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 |
211-65929 6 months ago |
211-65931 6 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
---
[](https://gitpod.io/from-referrer/)
|
WIP
awaiting-author
merge-conflict
t-algebra
label:t-algebra$ |
214/0 |
Mathlib.lean,Mathlib/Algebra/Category/ModuleCat/TensorHomAdjunction.lean |
2 |
88 |
['alreadydone', 'bustercopley', 'eric-wieser', 'github-actions', 'jjaassoonn', 'kbuzzard', 'kim-em', 'leanprover-community-bot-assistant'] |
eric-wieser assignee:eric-wieser |
210-71960 6 months ago |
210-71961 6 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.
---
[](https://gitpod.io/from-referrer/)
|
awaiting-author
merge-conflict
CI
|
3/3 |
.github/build.in.yml,.github/workflows/actionlint.yml |
2 |
12 |
['adomani', 'bryangingechen', 'github-actions', 'jcommelin', 'leanprover-community-bot-assistant'] |
bryangingechen assignee:bryangingechen |
209-16964 6 months ago |
209-16965 6 months ago |
0-0 0 seconds |
| 15254 |
yuma-mizuno author:yuma-mizuno |
feat(CategoryTheory/Monoidal): replace `Mon_` lemmas with `Mon_Class` lemmas |
We redefine algebras internal to monoidal categories, which were defined by full-bundled structures, in terms of semi-bundled type classes. The original full-bundled structure `X` is renamed to `X_Cat`.
---
[](https://gitpod.io/from-referrer/)
|
WIP
merge-conflict
t-category-theory
|
3982/96 |
Mathlib.lean,Mathlib/CategoryTheory/Monoidal/Bimod_Class.lean,Mathlib/CategoryTheory/Monoidal/Bimon_.lean,Mathlib/CategoryTheory/Monoidal/Bimon_Class copy.lean,Mathlib/CategoryTheory/Monoidal/Bimon_Class.lean,Mathlib/CategoryTheory/Monoidal/Braided/Opposite.lean,Mathlib/CategoryTheory/Monoidal/CommMon_Class.lean,Mathlib/CategoryTheory/Monoidal/Comon_.lean,Mathlib/CategoryTheory/Monoidal/Comon_Class.lean,Mathlib/CategoryTheory/Monoidal/Internal/ModuleClass.lean,Mathlib/CategoryTheory/Monoidal/Mod_Class.lean,Mathlib/CategoryTheory/Monoidal/Mon_.lean,Mathlib/CategoryTheory/Monoidal/Mon_Class.lean,Mathlib/CategoryTheory/Monoidal/mwe.lean |
14 |
n/a |
['YaelDillies', 'github-actions', 'leanprover-community-bot-assistant', 'yuma-mizuno'] |
nobody |
205-42535 6 months ago |
unknown |
unknown |
| 12438 |
jjaassoonn author:jjaassoonn |
feat: some APIs for flat modules |
Need horseshoe lemma
---
[](https://gitpod.io/from-referrer/)
|
WIP
merge-conflict
t-category-theory
|
1674/3 |
Mathlib.lean,Mathlib/Algebra/Category/ModuleCat/Monoidal/Basic.lean,Mathlib/Algebra/Category/ModuleCat/Monoidal/Symmetric.lean,Mathlib/Algebra/Exact.lean,Mathlib/CategoryTheory/Abelian/Basic.lean,Mathlib/CategoryTheory/Abelian/DiagramLemmas/Horseshoe.lean,Mathlib/CategoryTheory/Abelian/LeftDerived.lean,Mathlib/RingTheory/Flat/Basic.lean |
8 |
21 |
['erdOne', 'github-actions', 'jjaassoonn', 'joelriou'] |
nobody |
195-73616 6 months ago |
582-4633 1 year ago |
0-0 0 seconds |
| 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`.
---
[](https://gitpod.io/from-referrer/)
|
awaiting-author
merge-conflict
t-meta
awaiting-CI
|
27/39 |
Mathlib/Tactic/Recall.lean |
1 |
2 |
['github-actions', 'leanprover-community-bot-assistant'] |
nobody |
194-4477 6 months ago |
194-4479 6 months ago |
0-0 0 seconds |
| 17715 |
adomani author:adomani |
feat: the unusedVariableCommand linter |
This is still work-in-progress, but also help-wanted!
The linter reliably flags unused variables: so far, only `example`s fool it (and that is simply because I did not implement a fix, as there are very few `variable`s that are only used in `example`s in mathlib).
The work-in-progress part refers to the fact that the linter uses an `IO.Ref` to keep track of variables and this does not work well with editing the file. The linter works on a fresh parse of a file, but becomes out-of-sync with every edit.
The help-wanted is to ask for help to make mathlib compliant with the linter, by checking out this branch and PR-ing a few variable removals!
[Zulip discussion](https://leanprover.zulipchat.com/#narrow/stream/113488-general/topic/Unused.20variables)
---
Known issues:
* automatic namespacing and `nonrec` may cause difficulty when the newly introduced declaration is preferred in the term, rather than the original one (see examples here
```bash
code -r -g ././././Mathlib/Analysis/SpecialFunctions/Arsinh.lean:183
code -r -g ././././Mathlib/Probability/Independence/Basic.lean:368
```
where, for instance, `ContinuousOn.arsinh` is used internally instead of `Real.arsinh`).
* `mutual` declarations confuse the linter
```bash
code -r -g ././././Mathlib/SetTheory/Lists.lean:313
```
* `code -r -g Mathlib/CategoryTheory/EffectiveEpi/Comp.lean:133:29`
* universe annotations confuse the linter:
```bash
code -r -g ././././Mathlib/Topology/Category/CompactlyGenerated.lean:53
code -r -g ././././Mathlib/AlgebraicTopology/CechNerve.lean:46
```
* `inductive`s confusing the linter
```bash
code -r -g ././././Mathlib/Deprecated/Subgroup.lean:389
code -r -g ././././Mathlib/FieldTheory/PerfectClosure.lean:55
```
* `def`s confusing the linter
```bash
code -r -g ././././Mathlib/Data/MLList/BestFirst.lean:104
```
* special typeclass assumptions
```code
code -r -g ././././Mathlib/RingTheory/WittVector/Truncated.lean:273
code -r -g ././././Mathlib/Topology/Category/Profinite/Product.lean:79
```
* not sure what is going on here:
```bash
code -r -g ././././Mathlib/RingTheory/WittVector/IsPoly.lean:95
code -r -g ././././Mathlib/Probability/Independence/Basic.lean:368
code -r -g ././././Mathlib/Analysis/Calculus/FDeriv/Star.lean:30
```
[](https://gitpod.io/from-referrer/)
|
merge-conflict
t-linter
large-import
|
695/22 |
Mathlib.lean,Mathlib/Algebra/Group/Idempotent.lean,Mathlib/Algebra/GroupWithZero/Idempotent.lean,Mathlib/Data/Finite/Defs.lean,Mathlib/Data/Int/Cast/Field.lean,Mathlib/Geometry/Manifold/IntegralCurve/ExistUnique.lean,Mathlib/Init.lean,Mathlib/MeasureTheory/Function/LpSpace/DomAct/Continuous.lean,Mathlib/NumberTheory/LSeries/PrimesInAP.lean,Mathlib/Order/BoundedOrder/Basic.lean,Mathlib/Order/BoundedOrder/Lattice.lean,Mathlib/Order/BoundedOrder/Monotone.lean,Mathlib/Order/Monotone/Monovary.lean,Mathlib/Tactic.lean,Mathlib/Tactic/Linter/UnusedVariableCommand.lean,MathlibTest/UnusedVariableCommand.lean,lakefile.lean |
17 |
n/a |
['github-actions', 'grunweg', 'leanprover-community-bot-assistant'] |
nobody |
193-68374 6 months ago |
unknown |
unknown |
| 16020 |
adomani author:adomani |
feat: compare PR `olean`s size with `master` |
Adds two CI steps:
* `print the sizes of the oleans` that prints the sizes of all the folders containing `Mathlib` `.olean`s;
* `compare oleans` that compares the sizes of the previous step with the corresponding sizes on `master`.
In the test runs, the two steps have taken at most 3 seconds combined (the first is virtually instantaneous, the second one depends on `curl` to find a job id and on `gh` to retrieve the logs of a previous CI run -- everything else appears to be negligible).
This hopefully helps finding out if some PR is bloating up the `.olean`s.
See [this Zulip discussion](https://leanprover.zulipchat.com/#narrow/stream/287929-mathlib4/topic/Error.3A.20No.20space.20left.20on.20device/near/463792355) for a PR of mine that prompted this check.
---
[](https://gitpod.io/from-referrer/)
|
merge-conflict
CI
|
120/0 |
.github/build.in.yml,.github/workflows/bors.yml,.github/workflows/build.yml,.github/workflows/build_fork.yml,scripts/olean_comparison.sh |
5 |
50 |
['Vtec234', 'YaelDillies', 'adomani', 'bryangingechen', 'github-actions', 'grunweg', 'kim-em', 'leanprover-community-bot-assistant', 'mattrobball'] |
nobody |
191-24597 6 months ago |
191-24599 6 months ago |
285-26861 285 days |
| 16062 |
adomani author:adomani |
Test/ci olean size |
Tests for oleans
---
[](https://gitpod.io/from-referrer/)
|
WIP
awaiting-author
merge-conflict
CI
|
114/0 |
.github/build.in.yml,.github/workflows/bors.yml,.github/workflows/build.yml,.github/workflows/build_fork.yml,scripts/olean_comparison.sh |
5 |
4 |
['Parcly-Taxel', 'adomani', 'github-actions', 'leanprover-community-bot-assistant'] |
nobody |
191-24597 6 months ago |
191-24598 6 months ago |
0-16 16 seconds |
| 12799 |
jstoobysmith author:jstoobysmith |
feat(LinearAlgebra/UnitaryGroup): Add properties of Special Unitary Group |
Add properties of the special unitary group, mirroring the properties of found in Algebra/Star/Unitary.lean. In particular, I add an instance of `specialUnitaryGroup` as a `Group`, `Star`, `InvolutiveStar`, and `StarMul`.
---
[](https://gitpod.io/from-referrer/)
|
awaiting-author
please-adopt
merge-conflict
t-algebra
new-contributor
label:t-algebra$ |
78/0 |
Mathlib/LinearAlgebra/UnitaryGroup.lean |
1 |
8 |
['chrisflav', 'jcommelin', 'leanprover-community-bot-assistant'] |
nobody |
190-32943 6 months ago |
190-32945 6 months ago |
9-22007 9 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
[](https://gitpod.io/from-referrer/)
|
merge-conflict
t-topology
|
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 |
189-16090 6 months ago |
464-35721 1 year ago |
28-21477 28 days |
| 13483 |
adomani author:adomani |
feat: automatically replace deprecations |
This PR introduces `lake exe update_deprecations` that uses the cache to automatically replace deprecated declarations with the corresponding un-deprecated one.
The script handles namespacing, replacing a possibly non-fully-qualified, deprecated name with the fully-qualified non-deprecated name.
It is also possible to use
```bash
lake exe update_deprecations --mods One.Two.Three,Dd.Ee.Ff
```
to limit the scope of the replacements to the modules `One.Two.Three` and `Dd.Ee.Ff`.
This is intended to be a first step in automating updates: combining this with a linter that emits appropriate warnings, the functionality of `lake exe update_deprecations` can be extended to perform more complicated updates.
---
[](https://gitpod.io/from-referrer/)
|
awaiting-author
delegated
merge-conflict
t-meta
|
306/0 |
Mathlib.lean,Mathlib/Tactic.lean,Mathlib/Tactic/UpdateDeprecations.lean,MathlibTest/UpdateDeprecations.lean,lakefile.lean,scripts/README.md,scripts/update_deprecations.lean |
7 |
16 |
['YaelDillies', 'adomani', 'github-actions', 'j-loreaux', 'jcommelin', 'leanprover-community-bot-assistant', 'mathlib-bors', 'sgouezel'] |
joneugster assignee:joneugster |
186-32819 6 months ago |
186-32820 6 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
[](https://gitpod.io/from-referrer/)
|
modifies-tactic-syntax
merge-conflict
t-meta
|
1670/3 |
Mathlib.lean,Mathlib/Data/Int/ModEq.lean,Mathlib/Tactic.lean,Mathlib/Tactic/ByApprox.lean,Mathlib/Tactic/ByApprox/Basic.lean,Mathlib/Tactic/ByApprox/Core.lean,Mathlib/Tactic/ByApprox/Exp.lean,Mathlib/Tactic/ByApprox/Lemmas.lean,Mathlib/Tactic/ByApprox/Test.lean,Mathlib/Tactic/ByApprox/Util.lean,Mathlib/Tactic/GCongr/Core.lean,Mathlib/Tactic/GRW.lean,Mathlib/Tactic/GRW/Core.lean,Mathlib/Tactic/GRW/Lemmas.lean,Mathlib/Tactic/NormNum/NatFactorial.lean,test/ByApprox.lean,test/GRW.lean,test/norm_num_ext.lean |
18 |
1 |
['mathlib4-dependent-issues-bot'] |
nobody |
185-38131 6 months ago |
185-38133 6 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.
---
[](https://gitpod.io/from-referrer/)
|
awaiting-author
merge-conflict
t-meta
new-contributor
|
171/48 |
Mathlib/Tactic/Polyrith.lean,scripts/polyrith_sage.py |
2 |
16 |
['eric-wieser', 'github-actions', 'hanwenzhu', 'kim-em', 'miguelmarco', 'mkoeppe'] |
nobody |
183-25496 6 months ago |
303-3458 10 months ago |
27-65384 27 days |
| 18441 |
ADedecker author:ADedecker |
refactor(AdicTopology): use new API for algebraic filter bases, and factor some code |
---
- [x] depends on: #18437
[](https://gitpod.io/from-referrer/)
|
merge-conflict
t-topology
t-algebra
label:t-algebra$ |
847/159 |
Mathlib.lean,Mathlib/Topology/Algebra/FilterBasis.lean,Mathlib/Topology/Algebra/FilterBasisNew.lean,Mathlib/Topology/Algebra/Nonarchimedean/AdicTopology.lean,Mathlib/Topology/Algebra/Nonarchimedean/Bases.lean,Mathlib/Topology/Algebra/Nonarchimedean/BasesNew.lean |
6 |
3 |
['ADedecker', 'github-actions', 'mathlib4-dependent-issues-bot'] |
nobody |
177-75558 5 months ago |
177-75560 5 months ago |
0-679 11 minutes |
| 18439 |
ADedecker author:ADedecker |
refactor: use new algebraic filter bases API in `FiniteAdeleRing` |
---
- [x] depends on: #18437
[](https://gitpod.io/from-referrer/)
|
merge-conflict
t-topology
t-algebra
label:t-algebra$ |
699/21 |
Mathlib.lean,Mathlib/RingTheory/DedekindDomain/FiniteAdeleRing.lean,Mathlib/Topology/Algebra/FilterBasis.lean,Mathlib/Topology/Algebra/FilterBasisNew.lean,Mathlib/Topology/Algebra/Nonarchimedean/Bases.lean,Mathlib/Topology/Algebra/Nonarchimedean/BasesNew.lean |
6 |
2 |
['github-actions', 'mathlib4-dependent-issues-bot'] |
nobody |
177-75556 5 months ago |
177-75558 5 months ago |
0-619 10 minutes |
| 18438 |
ADedecker author:ADedecker |
refactor: adapt `KrullTopology` to the new algebraic filter bases API |
---
- [x] depends on: #18437
[](https://gitpod.io/from-referrer/)
|
merge-conflict
t-topology
t-algebra
label:t-algebra$ |
771/168 |
Mathlib.lean,Mathlib/FieldTheory/KrullTopology.lean,Mathlib/Topology/Algebra/FilterBasis.lean,Mathlib/Topology/Algebra/FilterBasisNew.lean,Mathlib/Topology/Algebra/Nonarchimedean/Bases.lean,Mathlib/Topology/Algebra/Nonarchimedean/BasesNew.lean |
6 |
5 |
['ADedecker', 'AntoineChambert-Loir', 'github-actions', 'mathlib4-dependent-issues-bot'] |
nobody |
177-75555 5 months ago |
177-75556 5 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.
---
[](https://gitpod.io/from-referrer/)
|
merge-conflict
t-data
|
518/0 |
Mathlib.lean,Mathlib/Data/DigitExpansion/Defs.lean,docs/references.bib |
3 |
11 |
['eric-wieser', 'github-actions', 'kim-em', 'pechersky'] |
dupuisf assignee:dupuisf |
174-57846 5 months ago |
412-84062 1 year ago |
129-57991 129 days |
| 15213 |
adomani author:adomani |
dev: add Mathlib.Tactic.Linter.ForallIntro |
---
[](https://gitpod.io/from-referrer/)
|
WIP
merge-conflict
t-linter
large-import
|
608/0 |
Mathlib.lean,Mathlib/Tactic.lean,Mathlib/Tactic/Linter.lean,Mathlib/Tactic/Linter/ForallIntro.lean,MathlibTest/ForallIntro.lean |
5 |
5 |
['adomani', 'github-actions', 'grunweg', 'leanprover-community-bot-assistant'] |
nobody |
162-25643 5 months ago |
162-25644 5 months 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.
---
[](https://gitpod.io/from-referrer/)
|
merge-conflict
t-combinatorics
|
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 |
162-23421 5 months ago |
162-23422 5 months 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
[](https://gitpod.io/from-referrer/)
|
awaiting-author
merge-conflict
t-logic
|
174/60 |
Mathlib/ModelTheory/Complexity.lean,Mathlib/ModelTheory/Equivalence.lean,Mathlib/ModelTheory/Types.lean |
3 |
30 |
['YaelDillies', 'awainverse', 'github-actions', 'leanprover-community-bot-assistant', 'mathlib4-dependent-issues-bot', 'metinersin'] |
YaelDillies assignee:YaelDillies |
162-23420 5 months ago |
162-23420 5 months 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.
---
[](https://gitpod.io/from-referrer/)
|
merge-conflict
t-algebra
awaiting-zulip
label:t-algebra$ |
82/72 |
Mathlib/Algebra/CharP/Invertible.lean,Mathlib/Algebra/Group/Invertible/Basic.lean,Mathlib/Algebra/Group/Units/Defs.lean,Mathlib/Algebra/GroupWithZero/Invertible.lean,Mathlib/Algebra/GroupWithZero/Units/Basic.lean,Mathlib/Algebra/Polynomial/Degree/Units.lean,Mathlib/Algebra/Polynomial/Splits.lean,Mathlib/Analysis/Convex/Segment.lean,Mathlib/Analysis/Normed/Affine/Isometry.lean,Mathlib/Analysis/Normed/Ring/Units.lean,Mathlib/CategoryTheory/Linear/Basic.lean,Mathlib/FieldTheory/Finite/Basic.lean,Mathlib/FieldTheory/Separable.lean,Mathlib/FieldTheory/SeparableDegree.lean,Mathlib/GroupTheory/Submonoid/Inverses.lean,Mathlib/LinearAlgebra/AffineSpace/AffineEquiv.lean,Mathlib/LinearAlgebra/AffineSpace/Combination.lean,Mathlib/LinearAlgebra/CliffordAlgebra/Contraction.lean,Mathlib/LinearAlgebra/CliffordAlgebra/Inversion.lean,Mathlib/LinearAlgebra/CliffordAlgebra/SpinGroup.lean,Mathlib/LinearAlgebra/Eigenspace/Minpoly.lean,Mathlib/NumberTheory/MulChar/Basic.lean,Mathlib/RingTheory/Localization/NumDen.lean,Mathlib/RingTheory/Polynomial/Content.lean,Mathlib/RingTheory/Polynomial/GaussLemma.lean,Mathlib/RingTheory/Valuation/Basic.lean |
26 |
12 |
['MichaelStollBayreuth', 'acmepjz', 'eric-wieser', 'github-actions', 'leanprover-bot', 'leanprover-community-bot-assistant', 'urkud'] |
nobody |
162-23419 5 months ago |
162-23419 5 months 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
[](https://gitpod.io/from-referrer/)
|
delegated
merge-conflict
t-differential-geometry
|
311/9 |
Mathlib/Data/Bundle.lean,Mathlib/Geometry/Manifold/VectorBundle/Basic.lean,Mathlib/Geometry/Manifold/VectorBundle/Pullback.lean,Mathlib/Topology/FiberBundle/Constructions.lean |
4 |
24 |
['PatrickMassot', 'github-actions', 'grunweg', 'hrmacbeth', 'j-loreaux', 'leanprover-community-bot-assistant', 'mathlib-bors', 'mathlib4-dependent-issues-bot', 'sgouezel'] |
grunweg assignee:grunweg |
162-23418 5 months ago |
162-23418 5 months 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.
[](https://gitpod.io/from-referrer/)
|
WIP
merge-conflict
t-category-theory
|
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 |
162-23295 5 months ago |
162-23295 5 months ago |
0-0 0 seconds |
| 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
[](https://gitpod.io/from-referrer/)
|
WIP
merge-conflict
t-algebra
new-contributor
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 |
157-77735 5 months ago |
157-77737 5 months ago |
179-12934 179 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.
---
[](https://gitpod.io/from-referrer/)
|
awaiting-author
merge-conflict
t-meta
|
139/0 |
Refactor/Main.lean,lakefile.lean |
2 |
11 |
['adomani', 'digama0', 'eric-wieser', 'github-actions', 'joneugster', 'leanprover-community-bot-assistant', 'mattrobball'] |
nobody |
137-70543 4 months ago |
137-70544 4 months ago |
4-80741 4 days |
| 12181 |
adomani author:adomani |
lint also `let` vs `have` |
This PR is symmetrical to #12157: here we lint for non-`Type`-valued `let`s.
---
[](https://gitpod.io/from-referrer/)
|
merge-conflict
t-linter
|
797/544 |
Archive/Imo/Imo1962Q1.lean,Archive/Wiedijk100Theorems/CubingACube.lean,Archive/Wiedijk100Theorems/FriendshipGraphs.lean,Mathlib.lean,Mathlib/Algebra/Algebra/Tower.lean,Mathlib/Algebra/BigOperators/Basic.lean,Mathlib/Algebra/DirectLimit.lean,Mathlib/Algebra/Group/UniqueProds.lean,Mathlib/Algebra/Homology/HomologicalComplexBiprod.lean,Mathlib/Algebra/Homology/HomologySequence.lean,Mathlib/Algebra/Homology/HomotopyCategory/Pretriangulated.lean,Mathlib/Algebra/Homology/Localization.lean,Mathlib/Algebra/Homology/ShortComplex/Abelian.lean,Mathlib/Algebra/Homology/ShortComplex/ConcreteCategory.lean,Mathlib/Algebra/Homology/ShortComplex/Exact.lean,Mathlib/Algebra/Homology/ShortComplex/ExactFunctor.lean,Mathlib/Algebra/Homology/ShortComplex/Homology.lean,Mathlib/Algebra/Homology/ShortComplex/LeftHomology.lean,Mathlib/Algebra/Homology/ShortComplex/Linear.lean,Mathlib/Algebra/Homology/ShortComplex/Preadditive.lean,Mathlib/Algebra/Homology/ShortComplex/PreservesHomology.lean,Mathlib/Algebra/Homology/ShortComplex/QuasiIso.lean,Mathlib/Algebra/Homology/ShortComplex/RightHomology.lean,Mathlib/Algebra/Lie/Engel.lean,Mathlib/Algebra/Lie/Killing.lean,Mathlib/Algebra/Module/PID.lean,Mathlib/Algebra/Module/Submodule/Localization.lean,Mathlib/Algebra/Module/Zlattice.lean,Mathlib/Algebra/MonoidAlgebra/Grading.lean,Mathlib/Algebra/MvPolynomial/Equiv.lean,Mathlib/Algebra/Order/CauSeq/Basic.lean,Mathlib/Algebra/Polynomial/FieldDivision.lean,Mathlib/Algebra/Polynomial/RingDivision.lean,Mathlib/AlgebraicGeometry/Morphisms/QuasiCompact.lean,Mathlib/AlgebraicGeometry/Morphisms/QuasiSeparated.lean,Mathlib/AlgebraicGeometry/ProjectiveSpectrum/Scheme.lean,Mathlib/AlgebraicGeometry/Pullbacks.lean,Mathlib/AlgebraicGeometry/StructureSheaf.lean,Mathlib/AlgebraicTopology/DoldKan/Homotopies.lean,Mathlib/Analysis/Calculus/ContDiff/Basic.lean,Mathlib/Analysis/Calculus/ContDiff/Bounds.lean,Mathlib/Analysis/Calculus/FDeriv/Comp.lean,Mathlib/Analysis/Calculus/Rademacher.lean,Mathlib/Analysis/Complex/Tietze.lean,Mathlib/Analysis/Convex/Between.lean,Mathlib/Analysis/Convolution.lean,Mathlib/Analysis/Fourier/RiemannLebesgueLemma.lean,Mathlib/Analysis/InnerProductSpace/GramSchmidtOrtho.lean,Mathlib/Analysis/InnerProductSpace/PiL2.lean,Mathlib/Analysis/InnerProductSpace/Rayleigh.lean,Mathlib/Analysis/NormedSpace/ContinuousAffineMap.lean,Mathlib/Analysis/NormedSpace/OperatorNorm/Completeness.lean,Mathlib/Analysis/NormedSpace/Spectrum.lean,Mathlib/Analysis/SpecialFunctions/Integrals.lean,Mathlib/CategoryTheory/Abelian/Basic.lean,Mathlib/CategoryTheory/Abelian/Exact.lean,Mathlib/CategoryTheory/Abelian/Pseudoelements.lean,Mathlib/CategoryTheory/Abelian/Transfer.lean,Mathlib/CategoryTheory/Adhesive.lean,Mathlib/CategoryTheory/Closed/Cartesian.lean,Mathlib/CategoryTheory/Closed/Monoidal.lean,Mathlib/CategoryTheory/Comma/Arrow.lean,Mathlib/CategoryTheory/EffectiveEpi/Extensive.lean,Mathlib/CategoryTheory/Extensive.lean,Mathlib/CategoryTheory/Functor/EpiMono.lean,Mathlib/CategoryTheory/Functor/KanExtension/Basic.lean,Mathlib/CategoryTheory/Galois/Basic.lean,Mathlib/CategoryTheory/Galois/Decomposition.lean,Mathlib/CategoryTheory/Galois/Examples.lean,Mathlib/CategoryTheory/GradedObject/Trifunctor.lean,Mathlib/CategoryTheory/IsConnected.lean,Mathlib/CategoryTheory/Limits/ConcreteCategory.lean,Mathlib/CategoryTheory/Limits/Constructions/EpiMono.lean,Mathlib/CategoryTheory/Limits/Constructions/WeaklyInitial.lean,Mathlib/CategoryTheory/Limits/FilteredColimitCommutesFiniteLimit.lean,Mathlib/CategoryTheory/Limits/Final.lean,Mathlib/CategoryTheory/Limits/FintypeCat.lean,Mathlib/CategoryTheory/Limits/Fubini.lean,Mathlib/CategoryTheory/Limits/IsLimit.lean,Mathlib/CategoryTheory/Limits/Preserves/Basic.lean,Mathlib/CategoryTheory/Limits/Shapes/FiniteLimits.lean,Mathlib/CategoryTheory/Limits/VanKampen.lean,Mathlib/CategoryTheory/Localization/LocalizerMorphism.lean,Mathlib/CategoryTheory/Localization/Pi.lean,Mathlib/CategoryTheory/Localization/Resolution.lean,Mathlib/CategoryTheory/Monad/Monadicity.lean,Mathlib/CategoryTheory/PUnit.lean,Mathlib/CategoryTheory/Sites/Coherent/CoherentSheaves.lean,Mathlib/CategoryTheory/Sites/Coherent/RegularSheaves.lean,Mathlib/CategoryTheory/Sites/Coverage.lean,Mathlib/CategoryTheory/Sites/LeftExact.lean,Mathlib/CategoryTheory/Sites/Preserves.lean,Mathlib/CategoryTheory/Sites/Pullback.lean,Mathlib/CategoryTheory/Sites/Sheaf.lean,Mathlib/CategoryTheory/Triangulated/Pretriangulated.lean,Mathlib/Combinatorics/Colex.lean,Mathlib/Combinatorics/SetFamily/Kleitman.lean,Mathlib/Combinatorics/SimpleGraph/Clique.lean,Mathlib/Combinatorics/SimpleGraph/Coloring.lean,Mathlib/Combinatorics/SimpleGraph/Connectivity.lean |
271 |
0 |
[] |
nobody |
135-80859 4 months ago |
135-80859 4 months ago |
0-0 0 seconds |
| 10190 |
jstoobysmith author:jstoobysmith |
feat(AlgebraicTopology): add Augmented Simplex Category |
- Added the definition of the category FinLinOrd of finite linear ordered sets.
- Added the definition of the augmented simplex category `AugmentedSimplexCategory`, and showed it is the Skeleton of FinLinOrd.
- Showed that the category of augmented simplicial objects defined as a comma category is equivalent to the category of functors from `AugmentedSimplexCategory^\op`
---
[](https://gitpod.io/from-referrer/)
|
WIP
merge-conflict
t-category-theory
new-contributor
t-algebraic-topology
|
720/0 |
Mathlib.lean,Mathlib/AlgebraicTopology/AugmentedSimplexCategory.lean,Mathlib/AlgebraicTopology/SimplicialObject.lean,Mathlib/Order/Category/FinLinOrd.lean |
4 |
5 |
['TwoFX', 'YaelDillies', 'joelriou', 'jstoobysmith'] |
nobody |
135-80797 4 months ago |
135-80797 4 months 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
---
[](https://gitpod.io/from-referrer/)
|
WIP
merge-conflict
t-algebraic-topology
|
91/24 |
Mathlib/AlgebraicTopology/FundamentalGroupoid/Basic.lean,Mathlib/AlgebraicTopology/FundamentalGroupoid/VanKampen.lean |
2 |
1 |
['leanprover-community-bot-assistant'] |
nobody |
135-80706 4 months ago |
135-80706 4 months ago |
0-0 0 seconds |
| 20208 |
js2357 author:js2357 |
feat: Define the localization of a fractional ideal at a prime ideal |
Define the localization of a fractional ideal at a prime ideal, and prove some basic properties.
---
Alternate version of #14237 generalized to use `IsLocalization` and `IsFractionRing` rather than `Localization.AtPrime` and `FractionRing`
[](https://gitpod.io/from-referrer/)
|
WIP
merge-conflict
t-algebra
label:t-algebra$ |
248/0 |
Mathlib.lean,Mathlib/RingTheory/FractionalIdeal/LocalizedAtPrime.lean |
2 |
2 |
['github-actions', 'leanprover-community-bot-assistant'] |
nobody |
135-63683 4 months ago |
135-63684 4 months ago |
0-21 21 seconds |
| 17145 |
Command-Master author:Command-Master |
feat(Archive/Ioi/Ioi2024Q2): a proof of the solution of question 2 from IOI 2024. |
---
- [x] depends on: #17189
- [x] depends on: #17190
- [x] depends on: #17191
[](https://gitpod.io/from-referrer/)
|
WIP
merge-conflict
IMO
large-import
|
1013/1 |
Archive.lean,Archive/Ioi/Ioi2024Q2.lean,Mathlib.lean,Mathlib/Combinatorics/Orbits.lean,Mathlib/Data/List/SplitLengths.lean,Mathlib/Data/List/Transpose.lean,Mathlib/Data/List/Zip.lean,Mathlib/Data/Vector/Basic.lean,Mathlib/Data/Vector/Defs.lean,Mathlib/Data/Vector/MapLemmas.lean,Mathlib/Data/Vector/Transpose.lean,Mathlib/GroupTheory/Perm/Cycle/Basic.lean,Mathlib/Logic/Function/Iterate.lean,Mathlib/Order/Antisymmetrization.lean,Mathlib/Order/Partition/Finpartition.lean |
15 |
2 |
['github-actions', 'mathlib4-dependent-issues-bot'] |
nobody |
132-548 4 months ago |
132-548 4 months ago |
0-0 0 seconds |
| 19596 |
Command-Master author:Command-Master |
feat(RingTheory/Valuation/PrimeMultiplicity): define `WithTop ℤ`-valued prime multiplicity on a fraction field |
Moves:
- `multiplicity_addValuation` -> `AddValuation.multiplicity`
- `multiplicity_addValuation_apply` -> `AddValuation.multiplicity_apply`
---
- [x] depends on: #19149
- [x] depends on: #18786
- [x] depends on: #19122
- [x] depends on: #18954
[](https://gitpod.io/from-referrer/)
|
awaiting-author
merge-conflict
large-import
t-ring-theory
|
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 |
131-2616 4 months ago |
131-2616 4 months ago |
8-2214 8 days |
| 18646 |
jxjwan author:jxjwan |
feat(RingTheory): isotypic components |
---
[](https://gitpod.io/from-referrer/)
|
merge-conflict
new-contributor
t-ring-theory
|
308/0 |
Mathlib/Order/CompactlyGenerated/Basic.lean,Mathlib/RingTheory/Isotypic.lean,Mathlib/RingTheory/SimpleModule.lean |
3 |
1 |
['github-actions'] |
nobody |
131-2609 4 months ago |
131-2609 4 months ago |
20-16585 20 days |
| 17246 |
pechersky author:pechersky |
feat(RingTheory/PrimaryDecomposition): PIR of Noetherian under jacobson condition |
---
- [x] depends on: #17634
[](https://gitpod.io/from-referrer/)
|
awaiting-author
merge-conflict
t-ring-theory
|
653/1 |
Mathlib.lean,Mathlib/NumberTheory/KummerDedekind.lean,Mathlib/RingTheory/Ideal/Maps.lean,Mathlib/RingTheory/Ideal/Operations.lean,Mathlib/RingTheory/Ideal/Quotient/Operations.lean,Mathlib/RingTheory/Jacobson/Ideal.lean,Mathlib/RingTheory/PrimaryDecomposition.lean,docs/references.bib |
8 |
8 |
['erdOne', 'github-actions', 'mathlib4-dependent-issues-bot'] |
erdOne assignee:erdOne |
131-2603 4 months ago |
131-2603 4 months ago |
13-7138 13 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
[](https://gitpod.io/from-referrer/)
|
merge-conflict
t-ring-theory
|
516/185 |
Mathlib/Algebra/Module/GradedModule.lean,Mathlib/AlgebraicGeometry/ProjectiveSpectrum/Scheme.lean,Mathlib/AlgebraicGeometry/ProjectiveSpectrum/Topology.lean,Mathlib/RingTheory/GradedAlgebra/Homogeneous/Ideal.lean,Mathlib/RingTheory/GradedAlgebra/Homogeneous/Submodule.lean,Mathlib/RingTheory/GradedAlgebra/Radical.lean,scripts/nolints_prime_decls.txt |
7 |
3 |
['github-actions', 'leanprover-community-bot-assistant'] |
nobody |
131-2510 4 months ago |
131-2510 4 months ago |
172-57747 172 days |
| 8195 |
newell author:newell |
feat: add a group presentation of the `DihedralGroup n` |
Add group presentation $\< a, b\ |\ a ^ 2 = 1, b ^ 2 = 1, (a * b) ^ n = 1 \>$ for `DihedralGroup n`.
---
[](https://gitpod.io/from-referrer/)
|
WIP
merge-conflict
t-group-theory
|
206/2 |
Mathlib/GroupTheory/PresentedGroup.lean,Mathlib/GroupTheory/SpecificGroups/Dihedral.lean |
2 |
6 |
['kbuzzard', 'newell'] |
nobody |
131-2346 4 months ago |
131-2346 4 months 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.
---
[](https://gitpod.io/from-referrer/)
|
awaiting-author
merge-conflict
large-import
t-group-theory
|
53/1 |
Mathlib/GroupTheory/GroupAction/Quotient.lean,Mathlib/Topology/MetricSpace/IsometricSMul.lean |
2 |
6 |
['YaelDillies', 'github-actions', 'grunweg', 'urkud'] |
eric-wieser assignee:eric-wieser |
131-2339 4 months ago |
131-2339 4 months ago |
193-70524 193 days |
| 17469 |
joelriou author:joelriou |
feat(Algebra/ModuleCat/Differentials/Presheaf): the presheaf of relative differentials |
Given a functor `F : C ⥤ D`, presheaves of commutative rings `S`, `R` and a morphism `φ : S ⟶ F.op ⋙ R`, we show that derivations relative to `φ` are representable by a presheaf of `R`-modules.
This is obtained by reducing to the case of absolute differentials. The construction shall allow to deduce the presheaf version of the cokernel sequence $$f^\star \Omega_{Y/S} ⟶ \Omega_{X/S} ⟶ \Omega_{X/Y} ⟶ 0$$ when `f : X ⟶ Y` and `g : Y ⟶ S` are morphisms of schemes.
---
- [x] depends on: #17366
- [x] depends on: #19507
- [x] depends on: #17388
- [x] depends on: #16755
[](https://gitpod.io/from-referrer/)
|
WIP
merge-conflict
t-category-theory
t-algebraic-geometry
large-import
|
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 |
130-33290 4 months ago |
130-33291 4 months ago |
0-530 8 minutes |
| 10345 |
newell author:newell |
feat(Algebra.Module.Zlattice): Add Voronoi Domain |
Adds the definition for a Voronoi Domain in regards to the $\mathbb{Z}$-lattice:
$$C := \lbrace\mathbf{w} \in \mathbb{V}^n\ :\ |\mathbf{w}| \leq |\mathbf{w} - \mathbf{v}|\ \text{for all}\ \mathbf{v} \in \mathbf{L} \rbrace$$
where $\mathbf{L}\$ is the $\mathbb{Z}$-lattice.
---
[](https://gitpod.io/from-referrer/)
|
WIP
merge-conflict
t-algebra
label:t-algebra$ |
17/0 |
Mathlib/Algebra/Module/Zlattice.lean |
1 |
3 |
['alreadydone', 'newell'] |
nobody |
129-38748 4 months ago |
129-38748 4 months ago |
0-0 0 seconds |
| 20267 |
joelriou author:joelriou |
feat(CategoryTheory): comma categories are accessible |
---
(I shall probably not work on this PR in the near future.)
- [ ] depends on: #19937
- [ ] depends on: #19945
- [ ] depends on: #19959
- [ ] depends on: #20005
- [ ] depends on: #19955
- [x] depends on: #20263
[](https://gitpod.io/from-referrer/)
|
WIP
awaiting-author
merge-conflict
t-category-theory
|
1513/7 |
Mathlib.lean,Mathlib/CategoryTheory/Comma/Arrow.lean,Mathlib/CategoryTheory/Comma/CardinalArrow.lean,Mathlib/CategoryTheory/EssentiallySmall.lean,Mathlib/CategoryTheory/Limits/Comma.lean,Mathlib/CategoryTheory/Limits/TypesFiltered.lean,Mathlib/CategoryTheory/Presentable/Basic.lean,Mathlib/CategoryTheory/Presentable/CardinalFilteredPresentation.lean,Mathlib/CategoryTheory/Presentable/Comma.lean,Mathlib/CategoryTheory/Presentable/IsCardinalFiltered.lean,Mathlib/CategoryTheory/Presentable/Limits.lean,Mathlib/CategoryTheory/Presentable/LocallyPresentable.lean,Mathlib/CategoryTheory/Presentable/ParallelMaps.lean,Mathlib/SetTheory/Cardinal/HasCardinalLT.lean,docs/references.bib |
15 |
2 |
['github-actions', 'mathlib4-dependent-issues-bot'] |
nobody |
125-85517 4 months ago |
125-85518 4 months ago |
0-0 0 seconds |
| 16150 |
urkud author:urkud |
feat(Dynamics): Hopf decomposition |
Prove Hopf decomposition.
- [ ] rewrite to work with the saturations right away, not with a wandering set.
- [ ] generalize to an action of a countable group, use fundamental domains.
---
- [ ] depends on: #16146
- [ ] depends on: #16126
[](https://gitpod.io/from-referrer/)
|
merge-conflict
t-measure-probability
t-dynamics
|
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 |
122-52669 4 months ago |
122-52670 4 months ago |
0-0 0 seconds |
| 8102 |
miguelmarco author:miguelmarco |
feat(Tactic): add `unify_denoms` and `collect_signs` tactics |
This PR adds four new tactics:
- `unify_denoms` tries to put expressions with several divisions in a form with only one division. In the case of fields, it works similarly to `field_simp`, but if the hypothesis about denominators being nonzero are not present, it assumes them, and leaves them as new goals to prove. In that sense, it is an "unsafe" tactic (but can be useful nevertheless, for example when you can't find which exact hypothesis is missing). It also works with expressions of naturals and Euclidean domains, assuming the corresponding hypothesis about the denominators dividing the numerators.
- `unify_denoms!` extends `unify_denoms` to work with (in)equalities, assuming also that the denominators, once in normal form, are positive.
- `collect_signs` works similarly with expressions using sums and substractions: it tries to put them in a form of one sum minus other sum. In the case of working with naturals, it assumes that we never substract a bigger number from a smaller one.
Both are implemented essentially as a macro that combines several rewriting rules. Some new lemmas with the corresponding rules are added.
--- |
good first issue
modifies-tactic-syntax
please-adopt
merge-conflict
t-meta
new-contributor
|
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 |
121-3408 3 months ago |
121-13164 3 months ago |
22-16933 22 days |
| 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.
[](https://gitpod.io/from-referrer/)
|
awaiting-author
merge-conflict
|
1/1 |
Mathlib/GroupTheory/Perm/Cycle/Concrete.lean |
1 |
3 |
['eric-wieser', 'github-actions', 'mathlib4-merge-conflict-bot'] |
nobody |
118-6662 3 months ago |
118-6663 3 months ago |
0-12793 3 hours |
| 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
[](https://gitpod.io/from-referrer/)
|
merge-conflict
t-algebra
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 |
116-82494 3 months ago |
122-75279 4 months ago |
0-0 0 seconds |
| 7300 |
ah1112 author:ah1112 |
feat: synthetic geometry |
This is adding synthetic geometry using Avigad's axioms and formalizing Euclid Book I, through the Pythagorean theorem.
---
[](https://gitpod.io/from-referrer/)
|
help-wanted
awaiting-author
merge-conflict
t-euclidean-geometry
|
2661/0 |
Mathlib.lean,Mathlib/Geometry/Synthetic/Avigad/Axioms.lean,Mathlib/Geometry/Synthetic/Avigad/EuclidBookI.lean,Mathlib/Geometry/Synthetic/Avigad/Tactics.lean |
4 |
74 |
['ah1112', 'alreadydone', 'eric-wieser', 'github-actions', 'leanprover-community-bot-assistant', 'plp127', 'tb65536', 'urkud'] |
nobody |
114-30785 3 months ago |
143-65743 4 months ago |
0-0 0 seconds |
| 13795 |
astrainfinita author:astrainfinita |
perf(Algebra/{Group, GroupWithZero, Ring}/InjSurj): reduce everything |
---
- [ ] depends on: #15192
- [ ] depends on: #15476
[](https://gitpod.io/from-referrer/)
|
merge-conflict
t-algebra
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 |
37 |
['MichaelStollBayreuth', 'astrainfinita', 'eric-wieser', 'github-actions', 'leanprover-bot', 'leanprover-community-bot-assistant', 'mathlib4-dependent-issues-bot', 'mattrobball'] |
nobody |
113-78170 3 months ago |
243-6775 7 months ago |
52-31623 52 days |
| 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
---
[](https://gitpod.io/from-referrer/)
|
WIP
please-adopt
merge-conflict
t-algebra
label:t-algebra$ |
588/0 |
Mathlib.lean,Mathlib/LinearAlgebra/Matrix/SVD/Defs.lean,Mathlib/LinearAlgebra/Matrix/SVD/Reindex.lean |
3 |
115 |
['MohanadAhmed', 'Vierkantor', 'alexjbest', 'eric-wieser', 'j-loreaux', 'jcommelin', 'mathlib4-merge-conflict-bot', 'sgouezel'] |
nobody |
108-40688 3 months ago |
108-40689 3 months ago |
181-72917 181 days |
| 13036 |
joelriou author:joelriou |
feat(CategoryTheory/Sites): under certain conditions, cover preserving functors preserve 1-hypercovers |
Previously, in order to show that a functor between Grothendieck sites was continuous, it was necessary to show that it was "cover preserving" and "compatible preserving". There were two lemmas which could be used in order to show that a functor was "compatible preserving".
Since #13012, the better condition of "1-hypercover preserving" functor was introduced and it implies that the functor is continuous. In this PR, under the same assumptions as in the two lemmas mentionned above, we show that cover preserving functors are 1-hypercover preserving functors. This gives slightly better criteria in order to show that a functor is continuous.
---
- [x] depends on: #13004
- [x] depends on: #13011
- [x] depends on: #13012
[](https://gitpod.io/from-referrer/)
|
WIP
merge-conflict
t-category-theory
|
94/7 |
Mathlib/CategoryTheory/Sites/Continuous.lean,Mathlib/CategoryTheory/Sites/CoverPreserving.lean,Mathlib/CategoryTheory/Sites/Over.lean,Mathlib/CategoryTheory/Sites/Sieves.lean |
4 |
3 |
['github-actions', 'leanprover-community-mathlib4-bot', 'mathlib4-merge-conflict-bot'] |
nobody |
94-42322 3 months ago |
94-42323 3 months ago |
0-0 0 seconds |
| 7125 |
eric-wieser author:eric-wieser |
feat: additive monoid structure via biproducts |
I suspect I'm missing a trick with these transport lemmas.
---
[](https://gitpod.io/from-referrer/)
|
WIP
merge-conflict
awaiting-CI
t-category-theory
|
237/0 |
Mathlib/CategoryTheory/Limits/Skeleton.lean |
1 |
3 |
['alreadydone', 'eric-wieser', 'mathlib4-merge-conflict-bot'] |
nobody |
87-46963 2 months ago |
87-46964 2 months ago |
0-0 0 seconds |
| 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
[](https://gitpod.io/from-referrer/)
|
awaiting-author
merge-conflict
t-combinatorics
|
76/0 |
Mathlib/Combinatorics/SimpleGraph/Metric.lean |
1 |
3 |
['github-actions', 'leanprover-community-mathlib4-bot', 'mathlib4-merge-conflict-bot'] |
nobody |
76-73911 2 months ago |
76-73912 2 months ago |
1-68738 1 day |
| 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.
---
[](https://gitpod.io/from-referrer/)
|
awaiting-author
merge-conflict
t-differential-geometry
|
376/6 |
Mathlib.lean,Mathlib/Geometry/Manifold/Instances/Real.lean,Mathlib/Geometry/Manifold/Orientable.lean |
3 |
40 |
['Rida-Hamadani', 'github-actions', 'grunweg', 'mathlib4-merge-conflict-bot', 'ocfnash'] |
nobody |
66-70487 2 months ago |
66-70488 2 months ago |
5-70530 5 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.
---
[](https://gitpod.io/from-referrer/)
|
awaiting-author
merge-conflict
t-measure-probability
new-contributor
|
286/1 |
Mathlib.lean,Mathlib/Analysis/SpecialFunctions/Gamma/Beta.lean,Mathlib/Probability/Distributions/Beta.lean |
3 |
50 |
['EtienneC30', 'arulandu', 'github-actions', 'mathlib4-merge-conflict-bot', 'vihdzp'] |
arulandu assignee:arulandu |
64-62293 2 months ago |
66-74763 2 months ago |
1-21124 1 day |
| 9273 |
grunweg author:grunweg |
feat: extended charts are local diffeomorphisms on their source |
---
XXX: is this PR worth keeping, given [isInvertible_mfderiv_extChartAt?](https://leanprover-community.github.io/mathlib4_docs/find/?pattern=isInvertible_mfderiv_extChartAt%3F#doc) shows that extended charts have invertible differential (regardless of whether they are an interior point)?
Perhaps, all one should add is "the differential as an isomorphism..."
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
[](https://gitpod.io/from-referrer/)
|
awaiting-author
merge-conflict
t-differential-geometry
|
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 |
62-5051 2 months ago |
unknown |
unknown |
| 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.
---
[](https://gitpod.io/from-referrer/)
|
awaiting-author
merge-conflict
t-algebra
label:t-algebra$ |
51/21 |
Mathlib/Data/Nat/Factorial/SuperFactorial.lean,Mathlib/LinearAlgebra/Alternating/Basic.lean,test/DetOne.lean |
3 |
13 |
['Command-Master', 'PatrickMassot', 'dwrensha', 'eric-wieser', 'github-actions', 'grhkm21', 'grunweg', 'kbuzzard', 'kim-em'] |
nobody |
60-48127 1 month ago |
341-6442 11 months ago |
0-8789 2 hours |
| 19616 |
adamtopaz author:adamtopaz |
fix: fix the definition of the absolute Galois group of a field |
Previously it was defined as the Galois group of the algebraic closure, as opposed to the separable closure.
Also, this adds some missing instances for this group.
Still missing is compactness, but that seems like a bigger project.
---
[](https://gitpod.io/from-referrer/)
|
awaiting-author
merge-conflict
t-number-theory
t-algebra
label:t-algebra$ |
23/8 |
Mathlib/FieldTheory/AbsoluteGaloisGroup.lean,Mathlib/FieldTheory/KrullTopology.lean |
2 |
4 |
['acmepjz', 'alreadydone', 'github-actions'] |
nobody |
57-8883 1 month ago |
302-71115 9 months ago |
3-64280 3 days |
| 16428 |
astrainfinita author:astrainfinita |
test use `QuotLike` APIs |
---
- [ ] depends on: #16421
[](https://gitpod.io/from-referrer/)
|
merge-conflict
t-data
|
1501/564 |
Mathlib.lean,Mathlib/Algebra/Associated/Basic.lean,Mathlib/Algebra/BigOperators/Associated.lean,Mathlib/Algebra/GCDMonoid/Basic.lean,Mathlib/Algebra/Group/Conj.lean,Mathlib/Algebra/GroupWithZero/NonZeroDivisors.lean,Mathlib/Algebra/Order/CauSeq/Completion.lean,Mathlib/Algebra/Quandle.lean,Mathlib/CategoryTheory/IsomorphismClasses.lean,Mathlib/CategoryTheory/Monoidal/Free/Basic.lean,Mathlib/CategoryTheory/Monoidal/Free/Coherence.lean,Mathlib/CategoryTheory/Skeletal.lean,Mathlib/Data/Finmap.lean,Mathlib/Data/Fintype/Quotient.lean,Mathlib/Data/Multiset/Basic.lean,Mathlib/Data/Multiset/Functor.lean,Mathlib/Data/QPF/Multivariate/Constructions/Fix.lean,Mathlib/Data/QPF/Univariate/Basic.lean,Mathlib/Data/Quot.lean,Mathlib/Data/QuotLike.lean,Mathlib/Data/Real/Basic.lean,Mathlib/Data/Setoid/Basic.lean,Mathlib/GroupTheory/Coset/Basic.lean,Mathlib/GroupTheory/Coset/Defs.lean,Mathlib/GroupTheory/GroupAction/Basic.lean,Mathlib/GroupTheory/GroupAction/ConjAct.lean,Mathlib/GroupTheory/GroupAction/Defs.lean,Mathlib/GroupTheory/QuotientGroup/Basic.lean,Mathlib/GroupTheory/QuotientGroup/Defs.lean,Mathlib/GroupTheory/Subgroup/Center.lean,Mathlib/LinearAlgebra/Quotient/Basic.lean,Mathlib/LinearAlgebra/Quotient/Defs.lean,Mathlib/Logic/Encodable/Basic.lean,Mathlib/Logic/Equiv/Basic.lean,Mathlib/Logic/Relation.lean,Mathlib/Order/RelIso/Basic.lean,Mathlib/SetTheory/Cardinal/Basic.lean,Mathlib/SetTheory/Cardinal/Finite.lean,Mathlib/SetTheory/Game/Basic.lean,Mathlib/SetTheory/Lists.lean,Mathlib/SetTheory/ZFC/Basic.lean,Mathlib/Topology/Inseparable.lean,test/QuotLike.lean |
43 |
2 |
['github-actions', 'mathlib4-dependent-issues-bot'] |
nobody |
56-17247 1 month ago |
56-17249 1 month ago |
0-0 0 seconds |
| 14444 |
digama0 author:digama0 |
fix(GeneralizeProofs): unreachable! bug |
As [reported on Zulip](https://leanprover.zulipchat.com/#narrow/stream/270676-lean4/topic/Unreachable.20code.20reached.20in.20Lean.204.2E8.2E0/near/449286780).
---
[](https://gitpod.io/from-referrer/)
|
awaiting-author
merge-conflict
t-meta
|
1/1 |
Mathlib/Tactic/GeneralizeProofs.lean |
1 |
5 |
['github-actions', 'jcommelin', 'kmill', 'mathlib4-merge-conflict-bot'] |
nobody |
34-48592 1 month ago |
34-48593 1 month ago |
10-36842 10 days |
| 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
- [x] depends on: #25496 |
WIP
merge-conflict
t-topology
t-algebra
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'] |
nobody |
33-51774 1 month ago |
163-64817 5 months ago |
1-33784 1 day |
| 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.
[](https://gitpod.io/from-referrer/) |
awaiting-author
merge-conflict
t-meta
t-linter
large-import
awaiting-bench
|
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', 'Vierkantor', 'github-actions', 'grunweg', 'kmill', 'leanprover-bot', 'mathlib4-merge-conflict-bot', 'thorimur', 'urkud'] |
nobody |
27-41290 27 days ago |
unknown |
unknown |
| 15651 |
TpmKranz author:TpmKranz |
feat(Computability/NFA): operations for Thompson's construction |
Lays the groundwork for a proof of equivalence of RE and NFA, w.r.t. described language. Actual connection to REs comes later, after the groundwork for the opposite direction has been laid.
Third chunk of #12648
---
[](https://gitpod.io/from-referrer/)
|
awaiting-author
merge-conflict
new-contributor
t-computability
awaiting-zulip
|
307/5 |
Mathlib/Computability/NFA.lean |
1 |
27 |
['TpmKranz', 'YaelDillies', 'dupuisf', 'github-actions', 'leanprover-community-bot-assistant', 'meithecatte', 'rudynicolop'] |
nobody |
26-43118 26 days ago |
208-65677 6 months ago |
45-84611 45 days |
| 9693 |
madvorak author:madvorak |
feat: Linear programming in the standard form |
---
Zulip discussion:
https://leanprover.zulipchat.com/#narrow/stream/144837-PR-reviews/topic/.237386.20Linear.20Programming
Four PRs incompatible with each other:
https://github.com/leanprover-community/mathlib4/pull/7386 (list of constraints)
https://github.com/leanprover-community/mathlib4/pull/9693 (matrix form)
https://github.com/leanprover-community/mathlib4/pull/10026 (Antoine Chambert-Loir's def; semirings, linear)
https://github.com/leanprover-community/mathlib4/pull/10159 (Antoine Chambert-Loir's def; rings, affine)
- [x] depends on: #9652
[](https://gitpod.io/from-referrer/)
|
WIP
merge-conflict
RFC
t-algebra
label:t-algebra$ |
86/0 |
Mathlib.lean,Mathlib/LinearAlgebra/Matrix/LinearProgramming.lean |
2 |
15 |
['apurvanakade', 'github-actions', 'leanprover-community-mathlib4-bot', 'madvorak', 'mathlib4-merge-conflict-bot'] |
nobody |
25-76864 25 days ago |
25-76865 25 days 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]
[](https://gitpod.io/from-referrer/)
|
awaiting-author
merge-conflict
new-contributor
t-computability
awaiting-zulip
|
298/0 |
Mathlib.lean,Mathlib/Computability/GNFA.lean,Mathlib/Computability/Language.lean,Mathlib/Computability/RegularExpressions.lean,docs/references.bib |
5 |
7 |
['github-actions', 'mathlib4-dependent-issues-bot', 'mathlib4-merge-conflict-bot', 'meithecatte', 'trivial1711'] |
nobody |
25-59359 25 days ago |
25-59360 25 days ago |
23-54870 23 days |
| 20238 |
maemre author:maemre |
feat(Computability/DFA): Closure of regular languages under some set operations |
This shows that regular languages are closed under complement and intersection by constructing DFAs for them.
---
Closure under all other operations will be proved when someone adds the proof for DFA<->regular expression equivalence, so they are not part of this PR.
[](https://gitpod.io/from-referrer/)
|
awaiting-author
merge-conflict
new-contributor
t-computability
awaiting-zulip
|
159/0 |
Mathlib/Computability/DFA.lean,Mathlib/Computability/Language.lean |
2 |
60 |
['EtienneC30', 'YaelDillies', 'github-actions', 'maemre', 'mathlib4-merge-conflict-bot', 'meithecatte', 'urkud'] |
EtienneC30 assignee:EtienneC30 |
25-58449 25 days ago |
25-58450 25 days ago |
48-67492 48 days |
| 4786 |
thorimur author:thorimur |
feat: AppBuilder utils |
This supplements `Lean.Meta.AppBuilder`, introducing variants of `mkAppN` and `mkAppM` which allow for more fine-grained management of existing and created metavariables. [Description pending]
---
[](https://gitpod.io/from-referrer/)
|
merge-conflict
t-meta
|
205/0 |
Mathlib.lean,Mathlib/Lean/Meta/AppBuilder.lean |
2 |
1 |
['mathlib4-merge-conflict-bot'] |
nobody |
25-10819 25 days ago |
25-10820 25 days 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.
---
[](https://gitpod.io/from-referrer/)
|
awaiting-author
merge-conflict
t-meta
|
41/0 |
Mathlib.lean,Mathlib/Tactic.lean,Mathlib/Tactic/Consume.lean,test/consume.lean |
4 |
5 |
['alexjbest', 'digama0', 'kim-em', 'kmill', 'mathlib4-merge-conflict-bot'] |
nobody |
25-10818 25 days ago |
25-10819 25 days ago |
51-33797 51 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.
[](https://gitpod.io/from-referrer/)
|
help-wanted
WIP
merge-conflict
t-analysis
new-contributor
|
287/0 |
Mathlib.lean,Mathlib/Analysis/InnerProductSpace/AffineSubspace.lean |
2 |
7 |
['MithicSpirit', 'eric-wieser', 'github-actions', 'leanprover-community-bot-assistant', 'mathlib4-merge-conflict-bot'] |
MithicSpirit assignee:MithicSpirit |
25-10816 25 days ago |
25-10816 25 days ago |
0-0 0 seconds |
| 7219 |
Ruben-VandeVelde author:Ruben-VandeVelde |
feat: Equivs for AddMonoidAlgebras |
---
Extracted from #6718.
[](https://gitpod.io/from-referrer/)
|
awaiting-author
merge-conflict
t-algebra
label:t-algebra$ |
113/0 |
Mathlib.lean,Mathlib/Algebra/MonoidAlgebra/Equiv.lean |
2 |
13 |
['Ruben-VandeVelde', 'alreadydone', 'eric-wieser', 'mathlib4-merge-conflict-bot'] |
eric-wieser assignee:eric-wieser |
25-10814 25 days ago |
25-10815 25 days 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)
[](https://gitpod.io/from-referrer/)
|
WIP
merge-conflict
RFC
t-algebra
label:t-algebra$ |
87/0 |
Mathlib.lean,Mathlib/LinearAlgebra/LinearProgramming.lean |
2 |
64 |
['Shreyas4991', 'YaelDillies', 'eric-wieser', 'github-actions', 'kim-em', 'madvorak', 'mathlib4-merge-conflict-bot'] |
nobody |
25-10813 25 days ago |
25-10814 25 days ago |
66-6720 66 days |
| 7890 |
grhkm21 author:grhkm21 |
feat(Mathlib/Tactic/Setm): implement setm tactic |
This is my first time doing metaprogramming in Lean 4, please provide feedback when you have them :)
The `setm` tactic, which stands for `set` + matching, matches a given expression with the goal and introduces new local hypotheses for the named holes specified. One of the best usage is for rearrangement proofs. As a simple example,
```lean
example : (1 + 1) + (4 * 3) - (1 + 1) = (3 * 4 : Rat) := by
setm ?A + ?B - ?A = (?C : Rat)
rw [show ∀ A B, A + B - A = B by intro A B ; ring_nf ]
apply Rat.mul_comm
```
One can imagine replacing the three term expression with a 7 term algebraic expression.
This was developed with tons of help from [Zulip](https://leanprover.zulipchat.com/#narrow/stream/239415-metaprogramming-.2F-tactics/topic/Help.20with.20writing.20tactic), especially from Thomas. Thanks!
TODO:
- [X] Support `setm ... at ...` syntax, see *example 1* below
- [X] Write docs
- [ ] Use `withNewMCtxDepth`
- [X] Rename the intermediate `MVar`s, see *example 2* below
- [ ] Use `elabTermWithHolesPostponing` in conjunction with `Term.synthesizeSyntheticMVarsNoPostPoning` after `isDefEq` to handle instances
Example 1:
```lean
/- Usage with `using` and `at` keywords -/
example (h1 : 1 + 1 = 3) (h2 : 1 + 3 = 5) (h3 : 2 + 2 = 5) : true := by
setm ?A + _ = (?B : Nat) using h2 at h1 h2 h3
guard_hyp A := 1
guard_hyp B := 5
guard_hyp h1 : A + A = 3
guard_hyp h2 : A + 3 = B
guard_hyp h3 : 2 + 2 = B
trivial
```
Example 2:
```lean
/- Test reusing named holes -/
example (h : b + a = c) : a + b = c := by
/- setm 1-/
setm ?A + ?B = (_ : Nat)
guard_hyp A := a
guard_hyp B := b
/- clean up -/
unfold_let A B
clear hA hB A B
/- setm 2 -/
rewrite [Nat.add_comm]
setm ?A + ?B = (_ : Nat) at h ⊢
guard_hyp A := b
guard_hyp B := a
exact h
```
Co-authored-by: Jireh Loreaux
[](https://gitpod.io/from-referrer/)
|
merge-conflict
t-meta
|
141/0 |
Mathlib.lean,Mathlib/Tactic/Common.lean,Mathlib/Tactic/Setm.lean,test/Setm.lean |
4 |
4 |
['mathlib4-merge-conflict-bot', 'thorimur'] |
nobody |
25-10812 25 days ago |
25-10813 25 days 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)
---
[](https://gitpod.io/from-referrer/)
|
awaiting-author
merge-conflict
t-analysis
|
404/0 |
Mathlib.lean,Mathlib/Analysis/Calculus/Gradient/Lemmas.lean |
2 |
31 |
['chenyili0818', 'github-actions', 'jcommelin', 'mathlib4-merge-conflict-bot', 'sgouezel', 'winstonyin'] |
nobody |
25-10688 25 days ago |
25-10689 25 days ago |
51-80670 51 days |
| 9795 |
sinhp author:sinhp |
feat: the type `Fib` of fibre of a function at a point |
This is the most basic file of the theory of fibred categories developed here: https://github.com/sinhp/LeanFibredCategories/tree/master
---
[](https://gitpod.io/from-referrer/)
|
awaiting-author
merge-conflict
t-category-theory
|
74/0 |
Mathlib.lean,Mathlib/Data/Fiber.lean |
2 |
18 |
['adri326', 'joelriou', 'mathlib4-merge-conflict-bot', 'sinhp'] |
nobody |
25-10687 25 days ago |
25-10688 25 days ago |
1-32924 1 day |
| 10660 |
eric-wieser author:eric-wieser |
feat(LinearAlgebra/CliffordAlgebra): construction from a basis |
This is adapted from https://github.com/eric-wieser/lftcm2023-clifford_algebra, which only worked for the special case of `Q = 0`.
---
[](https://gitpod.io/from-referrer/)
|
WIP
awaiting-author
merge-conflict
t-algebra
label:t-algebra$ |
573/0 |
Mathlib.lean,Mathlib/LinearAlgebra/CliffordAlgebra/Basis.lean |
2 |
16 |
['github-actions', 'mathlib4-merge-conflict-bot'] |
nobody |
25-10683 25 days ago |
25-10684 25 days ago |
0-0 0 seconds |
| 10977 |
grunweg author:grunweg |
feat: germs of smooth functions |
Define the space of germs of smooth functions (between manifolds).
Endow it with a ring structure if the target manifold is a smooth ring (e.g., a Lie group or a field).
From the sphere eversion project, rewritten by me.
Co-authored-by: Patrick Massot
-------
Particular questions for review
- is the authorship/copyright information appropriate?
(`PatrickMassot` created the file `SmoothGerm` which I adapted; I didn't trace this far back through sphere-eversion.)
- is providing all the intermediate algebraic structures (such as, an additive subgroup) on the space of smooth germs useful in practice? (The sphere eversion project only needs a ring structure.)
- any further particular API lemmas (e.g., around coercions) which would be good to add?
---
[](https://gitpod.io/from-referrer/)
|
awaiting-author
merge-conflict
t-differential-geometry
t-topology
t-analysis
|
150/0 |
Mathlib.lean,Mathlib/Geometry/Manifold/Algebra/SmoothGerm.lean |
2 |
34 |
['YaelDillies', 'github-actions', 'grunweg', 'jcommelin', 'kim-em', 'mathlib4-merge-conflict-bot', 'mcdoll'] |
fpvandoorn assignee:fpvandoorn |
25-10682 25 days ago |
25-10683 25 days ago |
144-63944 144 days |
| 10998 |
hmonroe author:hmonroe |
feat(Logic): Arithmetization of partial recursive functions (toward Gödel's first incompleteness theorem) |
---
[](https://gitpod.io/from-referrer/)
|
awaiting-author
merge-conflict
t-logic
|
364/0 |
Mathlib.lean,Mathlib/Logic/Godel/PartArith.lean |
2 |
4 |
['Ruben-VandeVelde', 'YaelDillies', 'mathlib4-merge-conflict-bot'] |
nobody |
25-10681 25 days ago |
25-10682 25 days ago |
97-20483 97 days |
| 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
---
[](https://gitpod.io/from-referrer/)
|
please-adopt
merge-conflict
t-algebra
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 |
33 |
['Ruben-VandeVelde', 'eric-wieser', 'github-actions', 'mathlib4-dependent-issues-bot', 'mathlib4-merge-conflict-bot', 'smorel394'] |
nobody |
25-10680 25 days ago |
25-10681 25 days ago |
6-23591 6 days |
| 11890 |
adomani author:adomani |
feat: the terminal refine linter |
A linter that warns on usages of `refine` and `refine'` as a finishing tactic.
See this [Zulip discussion](https://leanprover.zulipchat.com/#narrow/stream/287929-mathlib4/topic/Usage.20of.20refine').
### Conclusion of the experiment
Systematic replacements of terminal `refine` with `exact` leads to an overall slow-down.
---
- [ ] depends on: #15616 (disable the linter in downstream projects)
[](https://gitpod.io/from-referrer/)
|
awaiting-author
merge-conflict
t-linter
|
77/0 |
Mathlib.lean,Mathlib/Tactic.lean,Mathlib/Tactic/Linter/TerminalRefineLinter.lean |
3 |
15 |
['adomani', 'github-actions', 'grunweg', 'joneugster', 'leanprover-bot', 'leanprover-community-mathlib4-bot', 'mathlib4-merge-conflict-bot', 'urkud'] |
nobody |
25-10557 25 days ago |
25-10557 25 days ago |
18-13508 18 days |
| 11991 |
adomani author:adomani |
draft: syntax data linter |
A linter that prints `SyntaxNodeKind`s and `Range`s for all the nodes of a command.
See this [Zulip discussion](https://leanprover.zulipchat.com/#narrow/stream/217875-Is-there-code-for-X.3F/topic/undocumented.20things).
---
[](https://gitpod.io/from-referrer/)
|
WIP
merge-conflict
|
152/0 |
Mathlib.lean,Mathlib/Tactic.lean,Mathlib/Tactic/SyntaxDataLinter.lean |
3 |
1 |
['mathlib4-merge-conflict-bot'] |
nobody |
25-10556 25 days ago |
25-10556 25 days ago |
0-0 0 seconds |
| 12006 |
adomani author:adomani |
feat: the `suffa` tactic |
The `suffa` tactic.
`suffa tac` runs the tactic sequence `tac` and returns a `Try this:` suggestion
of the form `suffices [target_after_tac] by tac; assumption`.
For example
```lean
example {m n : Nat} (h : m = n) : 0 + m = n := by
suffa rewrite [Nat.zero_add]
assumption
```
suggests the replacement
```lean
example {m n : Nat} (h : m = n) : 0 + m = n := by
suffices m = n by
rewrite [Nat.zero_add]
assumption
assumption
```
See [this thread](https://leanprover.zulipchat.com/#narrow/stream/113488-general/topic/Try.20this.3A.20suffices.20simpa) as well as [this message](https://leanprover.zulipchat.com/#narrow/stream/144837-PR-reviews/topic/.2311822.20flexible.20tactics.20linter/near/431895664).
---
[](https://gitpod.io/from-referrer/)
|
awaiting-author
merge-conflict
t-meta
|
161/0 |
Mathlib.lean,Mathlib/Tactic.lean,Mathlib/Tactic/Suffa.lean,test/Suffa.lean |
4 |
4 |
['MoritzBeroRoos', 'YaelDillies', 'mathlib4-merge-conflict-bot'] |
nobody |
25-10554 25 days ago |
25-10555 25 days ago |
58-85902 58 days |
| 12632 |
urkud author:urkud |
feat(List/OffDiag): new file |
---
[](https://gitpod.io/from-referrer/)
|
awaiting-author
merge-conflict
t-data
|
221/108 |
Mathlib.lean,Mathlib/Algebra/BigOperators/Group/List/Basic.lean,Mathlib/Data/List/Basic.lean,Mathlib/Data/List/Count.lean,Mathlib/Data/List/Enum.lean,Mathlib/Data/List/Flatten.lean,Mathlib/Data/List/InsertIdx.lean,Mathlib/Data/List/Lattice.lean,Mathlib/Data/List/MinMax.lean,Mathlib/Data/List/NatAntidiagonal.lean,Mathlib/Data/List/Nodup.lean,Mathlib/Data/List/OffDiag.lean,Mathlib/Data/List/Perm/Basic.lean,Mathlib/Data/List/Perm/Lattice.lean,Mathlib/Tactic/GCongr/CoreAttrs.lean |
15 |
4 |
['eric-wieser', 'github-actions', 'mathlib4-merge-conflict-bot', 'urkud'] |
nobody |
25-10553 25 days ago |
25-10554 25 days ago |
0-0 0 seconds |
| 13442 |
dignissimus author:dignissimus |
feat: mabel tactic for multiplicative abelian groups |
Mabel tactic for multiplicative abelian groups (#10361)
---
[](https://gitpod.io/from-referrer/)
|
help-wanted
awaiting-author
modifies-tactic-syntax
merge-conflict
t-meta
new-contributor
|
439/0 |
Mathlib.lean,Mathlib/Tactic.lean,Mathlib/Tactic/MAbel.lean,MathlibTest/mabel.lean |
4 |
11 |
['BoltonBailey', 'dignissimus', 'github-actions', 'joneugster', 'kbuzzard', 'mathlib4-merge-conflict-bot'] |
joneugster assignee:joneugster |
25-10552 25 days ago |
25-10553 25 days ago |
0-16 16 seconds |
| 14237 |
js2357 author:js2357 |
feat: Define the localization of a fractional ideal at a prime ideal |
Define the localization of a fractional ideal at a prime ideal, and prove some basic properties.
---
This PR is part 3 out of 4 of a proof of `isDedekindDomain_iff_isDedekindDomainDvr`.
Part 4 is available here: #14242
- [x] depends on: #14099 Part 1
- [x] depends on: #14216 Part 2
[](https://gitpod.io/from-referrer/)
|
awaiting-author
merge-conflict
t-algebra
new-contributor
label:t-algebra$ |
230/0 |
Mathlib.lean,Mathlib/RingTheory/FractionalIdeal/LocalizedAtPrime.lean,Mathlib/RingTheory/Localization/Basic.lean |
3 |
22 |
['Vierkantor', 'YaelDillies', 'github-actions', 'js2357', 'kbuzzard', 'leanprover-community-bot-assistant', 'leanprover-community-mathlib4-bot', 'mathlib4-merge-conflict-bot'] |
Vierkantor assignee:Vierkantor |
25-10550 25 days ago |
25-10551 25 days ago |
26-39463 26 days |
| 14345 |
digama0 author:digama0 |
feat: the Dialectica category is monoidal closed |
- [x] depends on: #14274
The monoidal closed structure of the Dialectica category.
---
[](https://gitpod.io/from-referrer/)
|
awaiting-author
merge-conflict
t-category-theory
|
252/0 |
Mathlib.lean,Mathlib/CategoryTheory/Dialectica/Closed.lean |
2 |
4 |
['github-actions', 'kim-em', 'leanprover-community-mathlib4-bot', 'mathlib4-merge-conflict-bot'] |
nobody |
25-10427 25 days ago |
25-10428 25 days ago |
12-17890 12 days |
| 14727 |
jjaassoonn author:jjaassoonn |
feat(RingTheory/Flat/CategoryTheory): a flat module has vanishing higher Tor groups |
[](https://gitpod.io/from-referrer/)
|
awaiting-author
merge-conflict
t-ring-theory
|
37/1 |
Mathlib/RingTheory/Flat/CategoryTheory.lean |
1 |
4 |
['github-actions', 'kim-em', 'mathlib4-merge-conflict-bot'] |
nobody |
25-10425 25 days ago |
25-10425 25 days ago |
3-28223 3 days |
| 14733 |
jjaassoonn author:jjaassoonn |
feat(RingTheory/Flat/CategoryTheory): a module is flat iff tensoring preserves finite limits |
---
[](https://gitpod.io/from-referrer/)
|
awaiting-author
merge-conflict
t-ring-theory
|
99/1 |
Mathlib.lean,Mathlib/Algebra/Category/ModuleCat/Basic.lean,Mathlib/Algebra/Category/ModuleCat/Monoidal/RightExact.lean,Mathlib/RingTheory/Flat/CategoryTheory.lean |
4 |
3 |
['github-actions', 'kim-em', 'mathlib4-merge-conflict-bot'] |
nobody |
25-10423 25 days ago |
25-10424 25 days ago |
6-6256 6 days |
| 15055 |
sinhp author:sinhp |
feat: the category of pointed objects of a concrete category |
This file defines the category of pointed objects of a concrete category. After this we will have the categories of pointed groups, pointed abelian groups, pointed groupoids, etc.
To define `Pointed.functor`, we need to add the following "pullback" construction to the category of elements.
```
@[simps obj map]
def pullback (F : D ⥤ Type w) (G : C ⥤ D) :
(G ⋙ F).Elements ⥤ F.Elements where
obj X := ⟨G.obj X.1, X.2⟩
map {X Y} f := ⟨G.map f.1, f.2⟩
```
This is called pullback since the display map of `G ⋙ F` (i.e. `π (G ⋙ F)`) is a pullback of the display map of `F`.
---
[](https://gitpod.io/from-referrer/)
|
awaiting-author
merge-conflict
t-category-theory
|
185/0 |
Mathlib.lean,Mathlib/CategoryTheory/ConcreteCategory/Pointed.lean,Mathlib/CategoryTheory/Elements.lean |
3 |
14 |
['dagurtomas', 'github-actions', 'kim-em', 'mathlib4-merge-conflict-bot'] |
nobody |
25-10422 25 days ago |
25-10423 25 days ago |
7-80557 7 days |
| 15224 |
AnthonyBordg author:AnthonyBordg |
feat(CategoryTheory/Sites): covering families and their associated Grothendieck topology |
Define covering families on a category and their associated Grothendieck topology by using the API for `Coverage`.
Give an explicit characterization of the covering sieves of the said topology.
---
[](https://gitpod.io/from-referrer/)
|
awaiting-author
merge-conflict
t-category-theory
new-contributor
|
112/0 |
Mathlib.lean,Mathlib/CategoryTheory/Sites/CoveringFamilies.lean |
2 |
21 |
['AnthonyBordg', 'adamtopaz', 'dagurtomas', 'github-actions', 'joelriou', 'mathlib4-merge-conflict-bot'] |
nobody |
25-10421 25 days ago |
25-10422 25 days ago |
1-48443 1 day |
| 15453 |
tomaz1502 author:tomaz1502 |
Track formalization of runtime complexity |
I finished porting https://github.com/leanprover-community/mathlib3/pull/14494/ to Lean 4 and made several small PRs, as suggested. This meta PR is used to track the progress of the smaller PRs.
## Pending PRs
- [Formalization of List.insertionSort](https://github.com/leanprover-community/mathlib4/pull/15449)
- [Lemmas about Split](https://github.com/leanprover-community/mathlib4/pull/15450)
- [Formalization of List.merge](https://github.com/leanprover-community/mathlib4/pull/15451)
- [Formalization of List.mergeSort](https://github.com/leanprover-community/mathlib4/pull/15452)
---
[](https://gitpod.io/from-referrer/)
|
merge-conflict |
525/0 |
Mathlib.lean,Mathlib/Computability/Timed/InsertionSort.lean,Mathlib/Computability/Timed/Merge.lean,Mathlib/Computability/Timed/MergeSort.lean,Mathlib/Computability/Timed/Split.lean |
5 |
5 |
['joneugster', 'mathlib4-merge-conflict-bot', 'mergify'] |
nobody |
25-10419 25 days ago |
25-10419 25 days ago |
0-0 0 seconds |
| 16303 |
grunweg author:grunweg |
feat(CI): check for badly formatted titles or missing/contradictory labels |
---
The zulip workflow is entirely cargo-culted from #16296; please review carefully.
[](https://gitpod.io/from-referrer/)
|
awaiting-author
merge-conflict
CI
|
325/0 |
.github/build.in.yml,Mathlib.lean,Mathlib/Tactic.lean,Mathlib/Tactic/Linter/ValidatePRTitle.lean,MathlibTest/ValidatePRTitle.lean,lakefile.lean,scripts/README.md,scripts/check-title-labels.lean |
8 |
45 |
['Command-Master', 'adomani', 'bryangingechen', 'edegeltje', 'github-actions', 'grunweg', 'joneugster', 'leanprover-community-bot-assistant', 'mathlib4-merge-conflict-bot'] |
bryangingechen assignee:bryangingechen |
25-10417 25 days ago |
25-10418 25 days ago |
78-54824 78 days |
| 17587 |
kmill author:kmill |
feat: Sym2-as-Finset theory |
---
[](https://gitpod.io/from-referrer/)
|
merge-conflict
new-contributor
t-data
|
105/3 |
Mathlib/Combinatorics/SimpleGraph/Basic.lean,Mathlib/Combinatorics/SimpleGraph/Finite.lean,Mathlib/Data/Sym/Sym2.lean,Mathlib/RingTheory/Polynomial/Vieta.lean |
4 |
11 |
['FordUniver', 'YaelDillies', 'github-actions', 'kmill', 'mathlib4-merge-conflict-bot'] |
nobody |
25-10267 25 days ago |
25-10268 25 days 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
[](https://gitpod.io/from-referrer/)
|
WIP
awaiting-author
merge-conflict
awaiting-CI
t-category-theory
t-algebra
label:t-algebra$ |
180/0 |
Mathlib.lean,Mathlib/Algebra/Category/ModuleCat/Presheaf/FunctorOfNatTrans.lean |
2 |
6 |
['github-actions', 'kim-em', 'mathlib4-dependent-issues-bot', 'mathlib4-merge-conflict-bot'] |
nobody |
25-10266 25 days ago |
25-10267 25 days ago |
0-0 0 seconds |
| 18630 |
tomaz1502 author:tomaz1502 |
feat(Computability.Timed): Formalization of runtime complexity of List.mergeSort |
This PR adds the formalization of the runtime complexity of the merge sort algorithm, defined in `Data/List/Sort`.
Requires: https://github.com/leanprover-community/mathlib4/pull/15451
References:
- Previous PR on mathlib3: https://github.com/leanprover-community/mathlib3/pull/14494/
- First discussion on Zulip: https://leanprover.zulipchat.com/#narrow/stream/113488-general/topic/BSc.20Final.20Project/near/220647062
- Second disussion on Zulip: https://leanprover.zulipchat.com/#narrow/stream/113488-general/topic/Formalization.20of.20Runtime.20Complexity.20of.20Sorting.20Algorithms/near/284184450
---
[](https://gitpod.io/from-referrer/)
|
merge-conflict
new-contributor
t-computability
|
526/0 |
Mathlib.lean,Mathlib/Computability/Timed/InsertionSort.lean,Mathlib/Computability/Timed/Merge.lean,Mathlib/Computability/Timed/MergeSort.lean,Mathlib/Computability/Timed/Split.lean |
5 |
9 |
['github-actions', 'mathlib4-merge-conflict-bot'] |
nobody |
25-10265 25 days ago |
25-10265 25 days ago |
0-0 0 seconds |
| 18749 |
GabinKolly author:GabinKolly |
feat(ModelTheory): preparatory work for the existence of Fraïsse limits |
Define the map of a PartialEquiv through an embedding, and related properties.
Define embeddings and equivalences between equal structures or equal substructures, and related properties.
Add miscellaneous lemmas which will be used to prove the existence of fraisse limits.
---
This is preparation for #18876
[](https://gitpod.io/from-referrer/)
|
awaiting-author
merge-conflict
t-logic
|
308/5 |
Mathlib/ModelTheory/Bundled.lean,Mathlib/ModelTheory/DirectLimit.lean,Mathlib/ModelTheory/FinitelyGenerated.lean,Mathlib/ModelTheory/PartialEquiv.lean,Mathlib/ModelTheory/Substructures.lean |
5 |
10 |
['GabinKolly', 'YaelDillies', 'github-actions', 'mathlib4-merge-conflict-bot', 'vihdzp'] |
nobody |
25-10263 25 days ago |
25-10264 25 days ago |
73-63475 73 days |
| 19323 |
madvorak author:madvorak |
feat: Function to Sum decomposition |
---
Discussion: https://leanprover.zulipchat.com/#narrow/channel/287929-mathlib4/topic/Function.20to.20Sum.20decomposition |
WIP
merge-conflict
t-data
|
50/0 |
Mathlib.lean,Mathlib/Data/Sum/Decompose.lean |
2 |
3 |
['github-actions', 'madvorak', 'mathlib4-merge-conflict-bot'] |
nobody |
25-10260 25 days ago |
25-10261 25 days ago |
43-18005 43 days |
| 19378 |
adamtopaz author:adamtopaz |
feat: Explanation widgets |
This adds some simple widgets, wrapped in a tactic, term and command elaborator, for displaying markdown explanations in the infoview.
---
[](https://gitpod.io/from-referrer/)
|
awaiting-author
merge-conflict
t-meta
|
101/0 |
Mathlib.lean,Mathlib/Tactic.lean,Mathlib/Tactic/Widget/Explain.lean |
3 |
9 |
['adamtopaz', 'eric-wieser', 'github-actions', 'joneugster', 'kmill', 'mathlib4-merge-conflict-bot'] |
nobody |
25-10259 25 days ago |
25-10260 25 days ago |
49-80804 49 days |
| 19456 |
AntoineChambert-Loir author:AntoineChambert-Loir |
feat(Data/Finsupp/MonomialOrder/DegRevLex): homogeneous reverse lexicographic order |
Definition of the homogeneous reverse lexicographic order
---
- [x] depends on: #19453
- [x] depends on: #19455
[](https://gitpod.io/from-referrer/)
|
WIP
merge-conflict
t-algebraic-geometry
t-order
t-data
|
362/0 |
Mathlib.lean,Mathlib/Data/Finsupp/MonomialOrder/DegLex.lean,Mathlib/Data/Finsupp/MonomialOrder/DegRevLex.lean |
3 |
3 |
['github-actions', 'mathlib4-dependent-issues-bot', 'mathlib4-merge-conflict-bot'] |
nobody |
25-10258 25 days ago |
25-10258 25 days ago |
0-1720 28 minutes |
| 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.
---
|