-
Notifications
You must be signed in to change notification settings - Fork 893
Description
Key: SP = small project, SC = small chore.
This is a list of a bunch of todos in a semi-disorganised way; I've been going through literally every occurence of the string "todo". These were chosen to specifically be quite small and limited in scope, and the hope is that most can be done in <1hr each, very often much less. I thought it'd be helpful to provide an easy way to access a long list of things to fix in Mathlib when you have a couple seconds here or there (or as the inspriation for this started, on somewhere like the Tube!). If you PR a fix to any of these, I'd appreciate editing the PR number into the issue, so that it is easy for others to keep track of.
I haven't finished going through the whole list yet, so I will probably add far more with time:)
Re SP, SC: I feel like these are small mini things that are hopefully rewarding and not too awful to do. Some of these are chosen according to what I know well - there may be many more SPs in category theory, for example, but I'm mega unfamiliar with that part of the library, so I didn't want to send people on a wild goose chase!
Todos:
-
Algebra/Algebra/Basic: [Merged by Bors] - chore: coe_ratCast remove note #8017
-
Algebra/Algebra/Unitization: essential ideal not defined; also the actual ideal also doesn’t seem to be defined?
-
Algebra/Algebra/Subalgebra: iSupLift seems easy to do
-
Algebra/Algebra/Subalgebra/Unitization: why is subring not a
NonAssocRingthing? -
Algebra/BigOperators/Basic:
Scoped[NS]is implemented! -
Algebra/BigOperators/Order: to_additive duplication doesn’t seem to happen anymore!
-
Algebra/Category/GroupCat: don’t we have ulift instances already?
-
Algebra/CharP/MixedCharZero: “Relate mixed characteristic in a local ring to p-adic numbers” - what is the link?
-
Algebra/DirectSum/Basic: what is meant by this?
-
def setToSet (S T : Set ι) (H : S ⊆ T) : (⨁ i : S, β i) →+ ⨁ i : T, β i :=without S ⊆ T seems nonsensical. -
Algebra/FreeMonoid/Basic: run CI when landing
-
Algebra/GroupPower/Lemmas: can provide NoZeroSMulDivisors later.
-
Algebra/Hom/Freiman: map_multiset_prod seems generalised, but not sure if this instance is advisable
-
Algebra/Lie/Killing: SP, see https://math.stackexchange.com/questions/2248503/proof-that-the-killing-form-on-a-simple-lie-algebra-is-non-degenerate
-
Algebra/Lie/Subalgebra: SP chore: generalize
LieSubalgebra.mem_map_submodule#7994 -
Algebra/Module/Projective.lean: 1/2,3: SP/universes
-
Algebra/Order/Floor: SC
-
Algebra/Order/Kleene: SC
-
Algebra/Order/SMul: should be easy to write but may be slow!
-
Algebra/Order/WithZero: check/remove
-
Algebra/Order/Field: small generalisations
-
Algebra/Order/Monoid/Canonical/Defs: should exist? if not check already
-
Algebra/Order/Ring/Canonical: this can enable Odd.tsub, however it may also be too much — Odd.tsub can be achieved with a refactor of
Oddto use onlyAddandOne. -
Algebra/Order/Ring/Lemmas: easy to make local with
scopednotation now -
Algebra/Order/Ring/WithTop: it doesn’t even work now, maybe remove todo?
-
Algebra/Order/Sub/Defs: SP to generalise nat lemmas
-
Algebra/Ring/BooleanRing: we can lower priority now I think?
-
Algebra/Star/Module: can these be made simp?
-
AlgebraicTopology/FundamentalGroupoid: make issue?
-
Analysis/BoundedVariation:
rflnow works: [Merged by Bors] - chore: avoidsubstbyrfl#8145 -
Analysis/Seminorm: should be easy!
-
Analysis/BoxIntegral/Partition/Filter: maybe SP? unfamiliar with this area
-
Analysis/Calculus/ContDiff: -- porting note: TODO: define
Neginstance onContinuousLinearEquivshould be easy? -
ContDiffWithinAt.div: also easy?
-
Analysis/Complex/PhragmenLindelof: fun investigation
-
Analysis/Convex/Exposed, Extreme: @YaelDillies what’s the lean4 status of this?
-
Analysis/Convex/SpecificFunctions/Basic,Pow: SP
-
Analysis/Fourier/PoissonSummation: do we have that the fourier transform preserve Schwartz? no, this is somewhat involved
-
Analysis/InnerProductSpace/Adjoint: [Merged by Bors] - chore(InnerProductSpace/Adjoint): isAdjointPair_inner for IsROrC #8295
-
Analysis/Normed/Group/ControlledClosure: possible SP
-
Analysis/NormedSpace/Banach: do we have quotient normed spaces?
-
Analysis/NormedSpace/lpSpace: Holder: SP; investigate IsLUB API.
-
Analysis/NormedSpace/Star/Basic: SP
-
Analysis/SpecialFunctions/Exp: remove mentions of backporting; try making @[simp].
-
Analysis/SpecialFunctions/Log/Monotone: SP
-
CategoryTheory/Skeletal: may exist by now?
-
CategoryTheory/Limits/Shapes/Biproducts: 2: SP
-
CategoryTheory/Limits/Shapes/Terminal: SP
-
CategoryTheory/Monoidal/Center: can this be done easily?
-
CategoryTheory/Sites/SheafOfTypes: maybe easy
-
Combinatorics/Composition: SC
-
Combinatorics/Configuration: just check?
-
Combinatorics/Additive/SalemSpencer: if possible, I assume obvious?
-
Combinatorics/Quiver/Covering: SC
-
Combinatorics/SetFamily/Shadow: SP
-
Combinatorics/SimpleGraph/AdjMatrix: check ML:3024
-
Combinatorics/SimpleGraph/Coloring: 2: in theory doable but seems computationally ridiculous? 3-4: what’s the proposed refactor of chromatic numbers?
-
Combinatorics/SimpleGraph/Regularity/{Chunk,Increment}:
gcongrgolf fiesta? SC (not really a chore LOL) -
Combinatorics/Young/YoungDiagram: what is “correct” here? SetLike experts
-
Data/Finmap:
[Merged by Bors] - chore: TODOs inallshould not returntruefor an empty Finmap, surely.Data#13227 -
Data/Part: note down that it is
control_laws_tac -
Data/Rel:
image_eqdoes get proved byrfl; is this what’s meant? -
Data/Analysis/Filter: SC, docs
-
Data/Complex/Basic: this
NeZeroinstance can either be elsewhere or somehow gotten to in a different way -
Data/DFinsupp/Basic: can this be fixed? is this expected?
-
Data/Finset/Card: isn’t the noncomputable version
Nat.card? -
Data/Finset/Lattice: SC for first 3, the fourth one seems irrelevant
-
Data/Finset/LocallyFinite: SP: prove that DenselyOrdered + LocallyFinite -> False. Then use this to prove the lemmas that have these assumptions, or try and remove them if possible. Also the one about
id_eq- not sure what is meant. (the lemmas near this one can be golfed a tiny bit usingle_rfl) -
Data/Finset/Pointwise, Data/Set/Pointwise/SMul: does such a typeclass exist yet?
-
Data/Finset/Slice: SP
-
Data/Finset/Sym: SP
-
Data/Finsupp/Multiset: SP
-
Data/Finsupp/Order: SC
-
Data/Finsupp/Pointwise: look to see if generalization is sensible?
-
Data/Fintype/Basic: ↥ is not here anymore.
-
Data/Fintype/List: nodup_permutations seems to exist.
-
Data/Int/Interval: can this be done?
int.coe_nat_injpresumably exists -
Data/Int/Dvd/Pow: not sure why we wouldn’t?
-
Data/List/AList: SC
-
Data/List/Basic: SP: toChunks.
-
Data/List/Perm: SP -
List.nodup_permutationmay be helpful? -
Data/List/Permutation: SC docs. List.nodup_permutation seems to come up a lot.
-
Data/List/Rotate: SC, just check @[simp] compiles!
-
Data/List/ToFinsupp: find/report a Lean4 bug here.
-
Data/List/Operator/Basic: don’t we have tropical rings?
-
Data/Matrix/{Basic,Block,Hadamard,Kronecker,PEquiv}: mathlib4#3024 is resolved,
-
Data/Matrix/Basis: induction_on' seems unchangeable, as far as I can see
-
Data/Multiset/Basic: move to near decidablePerm?
-
Data/MvPolynomial/Equiv: I’m not sure they should be?
-
Data/MvPolynomial/Variables: 1,2 SP
-
Data/Nat/Bits: is this supported by
norm_numanymore? should it be? transform this into new TODO -
Data/Nat/Factorization/Basic: SP/SC? not sure haha; also
h1should probably be in by now -
Data/Nat/Fib/Zeckendorf: open lean4 issue
-
Data/Nat/Order: can this be upstreamed?
-
Data/Polynomial/Basic: SC delete
monomial_add -
Data/Polynomial/Coeff: does it cause import issues?
-
Data/Polynomial/Eval: SC
-
Data/Polynomial/Mirror: SC
-
Data/Polynomial/Monic: this mathlib3-GH issue refers to Polynomial.opRingEquiv; SC
-
Data/Polynomial/UnitTrinomial: SP
-
Data/Polynomial/Degree/Definitions: try dedup, it may be that
sum_finends up more useful, unsure -
Data/Rat/Defs: this align looks wrong anyways? unsure
-
Data/Real/Basic: these variables are not.
-
Data/Real/EReal: 1: isn’t it provided explicitly?
-
Data/Real/NNReal: 23 check if can be deleted, 4 SP
-
Data/Real/Sqrt: do we have a pp_nodot?
-
Data/Set/Semiring: do we have a GH issue for the fact that funlikes can’t have dot notation? 2: what do you mean port?
-
Data/Set/Pointwise/Basic: to_additive what?
-
Data/Set/Pointwise/BigOperators: SP
-
Data/Set/Pointwise/Interval: the notation doesn’t seem to be broken
-
Data/Sigma/Order: SP
-
Data/ZMod/Basic: 1: is it worth making this equivalence work for all n? 2: SP