chore: create a Basic top folder#39703
Conversation
PR summary da2e271136
|
| File | Base Count | Head Count | Change |
|---|---|---|---|
| Mathlib.Tactic.CongrExclamation | 67 | 58 | -9 (-13.43%) |
Import changes for all files
| Files | Import difference |
|---|---|
Mathlib.Logic.Denumerable |
-483 |
Mathlib.Logic.UnivLE |
-121 |
Mathlib.Logic.Nontrivial.Basic |
-106 |
Mathlib.Logic.IsEmpty.Basic Mathlib.Logic.Unique |
-92 |
Mathlib.Logic.IsEmpty |
-91 |
Mathlib.Logic.Lemmas |
-75 |
Mathlib.Logic.Basic |
-63 |
Mathlib.Logic.Nontrivial.Defs |
-57 |
3 filesMathlib.Logic.ExistsUnique Mathlib.Logic.IsEmpty.Defs Mathlib.Logic.Nonempty |
-55 |
Mathlib.Tactic.CongrExclamation Mathlib.Tactic.Convert |
-9 |
3 filesMathlib.Basic.ExistsUnique Mathlib.Basic.IsEmpty.Defs Mathlib.Basic.Nonempty |
55 |
Mathlib.Basic.Nontrivial.Defs |
57 |
Mathlib.Basic.Logic.Basic |
63 |
Mathlib.Basic.Logic.Lemmas |
75 |
Mathlib.Basic.IsEmpty |
91 |
Mathlib.Basic.IsEmpty.Basic Mathlib.Basic.Unique |
92 |
Mathlib.Basic.Nontrivial.Basic |
106 |
Mathlib.Basic.UnivLE |
121 |
Mathlib.Basic.Denumerable |
483 |
Declarations diff (regex)
No declarations were harmed in the making of this PR! 🐙
You can run this locally as follows
## from your `mathlib4` directory:
git clone https://github.com/leanprover-community/mathlib-ci.git ../mathlib-ci
## summary with just the declaration names:
../mathlib-ci/scripts/pr_summary/declarations_diff.sh <optional_commit>
## more verbose report:
../mathlib-ci/scripts/pr_summary/declarations_diff.sh long <optional_commit>The doc-module for scripts/pr_summary/declarations_diff.sh in the mathlib-ci repository contains some details about this script.
Declarations diff (Lean)
✅ Lean-aware diff — post-build, computed from the Lean environment (commit
da2e271).
- +0 new declarations
- −0 removed declarations
No declaration differences.
No changes to strong technical debt.
No changes to weak technical debt.
Current commit da2e271136
Reference commit fd1d54bcac
This script lives in the mathlib-ci repository. To run it locally, from your mathlib4 directory:
git clone https://github.com/leanprover-community/mathlib-ci.git ../mathlib-ci
../mathlib-ci/scripts/reporting/technical-debt-metrics.sh pr_summary
- The
relativevalue is the weighted sum of the differences with weight given by the inverse of the current value of the statistic. - The
absolutevalue is therelativevalue divided by the total sum of the inverses of the current values (i.e. the weighted average of the differences).
note: file Mathlib/Logic/Nonempty.lean` was renamed to `Mathlib/Basic/Nonempty.lean without a module deprecation
Please create a follow-up pull request adding one. Thanks!
note: file Mathlib/Logic/Unique.lean` was renamed to `Mathlib/Basic/Unique.lean without a module deprecation
Please create a follow-up pull request adding one. Thanks!
note: file Mathlib/Logic/IsEmpty/Basic.lean` was renamed to `Mathlib/Basic/IsEmpty/Basic.lean without a module deprecation
Please create a follow-up pull request adding one. Thanks!
note: file Mathlib/Logic/Nontrivial/Defs.lean` was renamed to `Mathlib/Basic/Nontrivial/Defs.lean without a module deprecation
Please create a follow-up pull request adding one. Thanks!
note: file Mathlib/Logic/Basic.lean` was renamed to `Mathlib/Basic/Logic/Basic.lean without a module deprecation
Please create a follow-up pull request adding one. Thanks!
note: file Mathlib/Logic/Denumerable.lean` was renamed to `Mathlib/Basic/Denumerable.lean without a module deprecation
Please create a follow-up pull request adding one. Thanks!
note: file Mathlib/Logic/IsEmpty.lean` was renamed to `Mathlib/Basic/IsEmpty.lean without a module deprecation
Please create a follow-up pull request adding one. Thanks!
note: file Mathlib/Logic/IsEmpty/Defs.lean` was renamed to `Mathlib/Basic/IsEmpty/Defs.lean without a module deprecation
Please create a follow-up pull request adding one. Thanks!
note: file Mathlib/Logic/UnivLE.lean` was renamed to `Mathlib/Basic/UnivLE.lean without a module deprecation
Please create a follow-up pull request adding one. Thanks!
note: file Mathlib/Logic/ExistsUnique.lean` was renamed to `Mathlib/Basic/ExistsUnique.lean without a module deprecation
Please create a follow-up pull request adding one. Thanks!
note: file Mathlib/Logic/Nontrivial/Basic.lean` was renamed to `Mathlib/Basic/Nontrivial/Basic.lean without a module deprecation
Please create a follow-up pull request adding one. Thanks!
note: file Mathlib/Logic/Lemmas.lean` was renamed to `Mathlib/Basic/Logic/Lemmas.lean without a module deprecation
Please create a follow-up pull request adding one. Thanks!
|
I have heard Bhavik and Julia articulate a good case for this split, and how the eventual vision could look like. This would make an excellent addition to this PR description and the zulip thread. Let's wait on that being added before discussing. |
|
This pull request has conflicts, please merge |
I do not remember what they said that I haven't already incorporated in the PR description. |
|
This pull request has conflicts, please merge |
|
You will find #39990 interesting: today's your lucky day as I felt like mucking up the |
|
Does this proposal imply that |
|
Should this be discussed on zulip? (Or has it: if so, can you link to the discussion, please?) |
|
No, we'll need to import This has been discussed in the reviewers stream on Zulip. Do you want a wider discussion than that? |
If a file naturally belongs to Algebra, why should it not move there?
I think reviewers are a sufficient target group (though at some point, something public would be good --- other contributors should learn this exists!). Linking that discussion would be nice, though :-) |
|
Reading your previous message raises the question: how do I decide if a file belongs to edit: asked back on Zulip --- perhaps that is a good location for any discussions |
There was a problem hiding this comment.
@reviewer: Here is the vision for the new folder. If unclear or incomplete, this README should be extended
|
🚀 Pull request has been placed on the maintainer queue by joneugster. |
|
This pull request has conflicts, please merge |
|
I just asked on Zulip, but I would like more documentation in the READMEs. As-is, I still don't have a firm grasp on the distinctions and the reasoning behind them. I would prefer not to merge this until we have clear(-ish) distinctions documented. |
|
Let me know what you think now. |
|
This pull request has conflicts, please merge |
|
This pull request has conflicts, please merge |
|
This pull request has conflicts, please merge |
|
|
||
| This folder contains results about data structures such as `List`, `Bool` or `Option`. | ||
| In an ideal world, this folder wouldn't exist as its content could reasonably be upstreamed | ||
| to either Core or Batteries. |
There was a problem hiding this comment.
I don't think I agree with this sentence. I think that there is a small set of data structures which are only relevant for mathlib and hence not suitable for inclusion in core or batteries. I think the differentiation should be more about the material appearing in this folder being supporting material for making mathlib possible, but not really mathematics itself.
There was a problem hiding this comment.
My opinion would be for this material to be in Basic instead, otherwise we might end up with Data.List for the basic List material that's "not mathematics" and Basic.List for the one that is (leading to bikesheddy discussions on what is mathematics and what is not, etc...). Would you be happy with that?
|
This pull request has conflicts, please merge |
|
This pull request has conflicts, please merge |
Move a select few folders from
Logicto a newBasicfolder.The goal is to finally move the material misplaced in the
DataandLogicfolder and to clarify the various expectations of each folder. Ultimately:Basicfolder will be about basic predicates on types and basic mathematical types not fitting in any other folder;Datafolder will be about data structures, instead of the current mix of data structures and basic mathematical types not fitting in any other folder;Logicfolder will be about advanced logic results not fitting in eitherModelTheoryorSetTheory, instead of the current mix of basic predicates on types and advanced logic results.Many more files (~1000) could be moved, so I will do it in several PRs. Not all files should move to
Basic. Some files should go toAlgebra.Orderinstead (egData.Nat.Lattice) and some should be straight out deprecated (egData.Analysis).Zulip discussion
This PR stems from discussions at the MI retreat 2026.