Upstreaming dashboard
The eventual goal of the APAP project is to be fully upstreamed to Mathlib.
As such, it is crucial to continuously organise upstreaming from APAP to Mathlib.
The way we organise this is with the following two lists,
showing files with no APAP dependencies depending on whether they contain sorry or not.
Files ready to upstream
The following files are sorry-free and do not depend on any other file, meaning they can be readily PRed to Mathlib.
6 open pull requests
10 open pull requests
- chore: use `open scoped` #4960
- chore: dedent `to_additive` docstrings #28298
- chore(Mathlib): replace `=>` by `↦` #28622
- experiment(Algebra): unbundle npow/zpow from Monoid/InvDivMonoid #29605
- chore: prefer `Pi.single i 1 j` over `fun j => if i = j then 1 else 0` #31949
- refactor(Algebra): add type-classes for algebraic properties of `FunLike` #33477
- chore(Mathlib): shake mathlib harder #38408
- feat: use `Is*Apply` classes for continuous linear maps #38561
- feat(Tactic): congr! and convert now discharge side goals at reducible transparency #39039
- chore: shake --keep-implied --keep-prefix --fix #39386
4 open pull requests
10 open pull requests
- ignore this: Lean pr testing 9124 #26581
- chore: fix naming of `mono` and `monotone` #26911
- chore: dedent `to_additive` docstrings #28298
- feat(Tactic/Push): add basic tags and tests #29000
- refactor (Algebra.Group.Defs): add npow/zpow/nsmul/zsmul as fields of new parents classes #29482
- experiment(Algebra): unbundle npow/zpow from Monoid/InvDivMonoid #29605
- feat(push): `@[push]` attributes for `∈` in `Set`, `Finset` and `Multiset` #30042
- refactor: rename `MulAction` to `MonoidAction` #32737
- feat: use `LE.le` for subset relation in `Set`, `Finset`, `PSet`, `ZFSet` #32983
- feat(Analysis/Convex/Intrinsic): add `affineSpan_prod_eq` and `intrinsicInterior_prod_eq` #38551
No open pull requests.
No open pull requests.
7 open pull requests
- feat: define the additive submonoid of positive elements in a star ordered ring #4871
- chore: fix links #27709
- feat: modify `cfc_tac` to use `grind` #27829
- feat: add `IsMulCommutative` instances for topological closures of subobjects #36418
- chore(*): turn comments before declarations into docstrings #36635
- feat(Tactic/Linter): linter for comments that should become docstrings #36636
- test: insert `@[informal]` attributes from overview #38195
6 open pull requests
- lint also `let` vs `have` #12181
- chore: rename `continuous{,On,At,Within}_const` to `ContinuousFoo.const` #31607
- feat: add convolution_comp_add_right #32169
- chore: golf using .ne and friends #37553
- test: insert `@[informal]` attributes from overview #38195
- feat: use `Is*Apply` classes for continuous linear maps #38561
4 open pull requests
- feat(Analysis/Normed/Ring/Basic): Add NonUnitalNonAssocSeminormedRing and NonUnitalNonAssocNormedRing #29856
- feat(Field/WithAbs): the lift of a ring homomorphism from `WithAbs v` to `WithAbs w` to their completions #29934
- feat: `GroupWithZero` versions of `le` lemmas #34120
- refactor(Analysis): golf 100 files #37968
13 open pull requests
- refactor(Analysis/Normed*): use `RingHomIsometric` for `*.norm_cast` #6931
- chore: migrate to `tfae` block tactic #11003
- feat: more linting of cdots #12411
- feat: a norm_num extension for complex numbers #26975
- chore: reduce `Topology` imports in `Data` #29012
- refactor(Algebra/Algebra/Equiv): allow for non-unital `AlgEquiv` #29354
- chore: rename `continuous{,On,At,Within}_const` to `ContinuousFoo.const` #31607
- feat(RCLike): add `Continuous.re` and similar #34419
- chore(*): turn comments before declarations into docstrings #36635
- feat(Tactic/Linter): linter for comments that should become docstrings #36636
- fix(Tactic/Continuity): mark Continuous.comp' as unsafe #36806
- perf(Algebra/Ring): faster Ring.toAddGroupWithOne instance #38017
- chore(Data/Real): encapsulate real numbers #38702
4 open pull requests
11 open pull requests
- feat: port ge_or_gt linter from mathlib3 #12879
- chore: replace some use of > or ≥ by < or ≤ #12933
- chore: split Mathlib.Algebra.Star.Basic #14330
- chore: fix links #27709
- chore(*): turn comments before declarations into docstrings #36635
- feat(Tactic/Linter): linter for comments that should become docstrings #36636
- feat: `NSMul`/`NPow` type class #38036
- test(Tactic/Algebra): try to replace `ring` with algebra in many places #38637
- chore(Data/Real): encapsulate real numbers #38702
- feat(Data/Complex/Basic): add simproc to reduce powers of I #39506
- chore: add shortcut instances for Rat, Complex #39527
13 open pull requests
- chore: deprecate `LinearOrderedComm{Monoid, Group}WithZero` #23621
- feat: extend the `whitespace` linter to proof bodies #30658
- perf: test the effect of localizing the whitespace linter #34086
- feat: `GroupWithZero` versions of `le` lemmas #34120
- refactor: use `OrderSupInfSet` #35263
- feat(Tactic/Positivity): make positivity work for types that are not partial orders #35394
- refactor: use `OrderSupSet` in `ConditionallyCompleteLattice` #35674
- feat(Valued/ValuationTopology): creating instances of `IsValuativeTopology` #36769
- fix(RingTheory/Valuation): change `ValueGroup` from taking HomClass to Hom #36911
- doc(Algebra/Order): update mentions of `OrderedSemiring` and friends #37835
- refactor(Order/(Conditionally)CompletePartialOrder): extends `OrderSupSet` #38444
- chore(Data/Real): encapsulate real numbers #38702
- feat(Data/NNReal): `nnabs n = n` for `n : ℕ` #39577
8 open pull requests
- feat(MeasureTheory/Function): Add ContinuousLinearMap.bilinearCompLp(L) #20372
- WIP: generalise lemmas to ENorm #21375
- chore: change more lemmas to be about enorm instead of nnnorm #21433
- chore: make `finiteness` a default tactic #26090
- chore: more enorm lemmas #27446
- refactor: unbundle algebra from `ENormed*` #28803
- perf: unbundle algebra from `ENormed*`, April 2026 version #38032
- refactor: redefine `eLpNorm` at `p = 0` #39311
Files easy to unlock
The following files do not depend on any other file but still contain sorry, usually indicating that working on eliminating those sorries might unblock some part of the project.