[Merged by Bors] - chore(Data/Set/Basic): deprecate lemmas that abuse the Set α := α → Prop defeq#25669
[Merged by Bors] - chore(Data/Set/Basic): deprecate lemmas that abuse the Set α := α → Prop defeq#25669YaelDillies wants to merge 4 commits intomasterfrom
Set α := α → Prop defeq#25669Conversation
PR summary 8024e6939aImport changes for modified filesNo significant changes to the import graph Import changes for all files
Declarations diffNo declarations were harmed in the making of this PR! 🐙 You can run this locally as follows## summary with just the declaration names:
./scripts/declarations_diff.sh <optional_commit>
## more verbose report:
./scripts/declarations_diff.sh long <optional_commit>The doc-module for No changes to technical debt.You can run this locally as
|
36306f9 to
0e5e4a7
Compare
| @@ -152,13 +152,15 @@ theorem realize_genericPolyMapSurjOnOfInjOn | |||
| S.InjOn f ↔ ∀ x y, x ∈ S → y ∈ S → f x = f y → x = y := by | |||
| simp [Set.InjOn]; tauto | |||
| simp only [Sentence.Realize, Formula.Realize, genericPolyMapSurjOnOfInjOn, Formula.relabel, | |||
There was a problem hiding this comment.
(Oof, this is way too huge of a simp only. That goes on my tech debt todo list.)
1c78c2b to
08be2b4
Compare
|
Thanks for the PR! I've observed that when you apply defs involving Sets (example) to Subtypes, the set found by unification will actually be a predicate, so the lemmas deprecated in this PR becomes applicable. I haven't checked whether this issue contribute to the lengthening of some proofs in this PR. Is there a good way to solve this issue, maybe through some unification hint that inserts the setOf? |
What proofs that get longer do you have in mind? I think all changes in the diff right now are unambiguously improvements, except possibly
Here's the criterion to decide whether some downstream proof is affected by the current PR: "Does making |
Vierkantor
left a comment
There was a problem hiding this comment.
Looks good to me with Eric's suggestion.
bors d+
|
✌️ YaelDillies can now approve this pull request. To approve and merge a pull request, simply reply with |
|
bors merge |
|
Build failed (retrying...): |
|
Pull request successfully merged into master. Build succeeded: |
Set α := α → Prop defeqSet α := α → Prop defeq
* master: (447 commits) chore(Data/Set): move very basic lemmas earlier (leanprover-community#25707) feat: preserve draft status when migrating PRs to fork (leanprover-community#25777) chore(Data/Set/Basic): deprecate lemmas that abuse the `Set α := α → Prop` defeq (leanprover-community#25669) refactor: redefine `ProperCone` as an `abbrev` for `ClosedSubmodule` (leanprover-community#25204) feat: interaction between ContinuousLinearMap.coprod and ContinuousLinearEquiv.prodComm (leanprover-community#25564) fix: outdated docstring (leanprover-community#25717) feat(MeasureTheory): convolution of measures with densities (leanprover-community#25718) feat: make sure that the simp normal form of equiv-like classes pushes `symm` and `trans` to the right (leanprover-community#25604) feat(ModelTheory): Formula.iSup and iInf (leanprover-community#21948) feat(RingTheory/Polynomial/ContentIdeal): the content ideal of a polynomial. (leanprover-community#25333) fix: typo in labels_from_comment.yml (leanprover-community#25727) feat: is{Inducing,Embedding}_prodMkLeft (leanprover-community#25705) feat: check that the mathlib options exist (leanprover-community#25687) feat(Algebra/Group/Even): Add missing lemmas (leanprover-community#20818) refactor: make `Matrix.kroneckerTMulAlgEquiv` heterogeneous (leanprover-community#25693) feat: allow contributors to remove labels with comments (leanprover-community#25723) chore: disable build.yml and bors.yml on forks (leanprover-community#25722) feat: improvements to user_activity_report.py (leanprover-community#25721) chore: update the migration script to check for necessary permissions and prefer ssh if possible (leanprover-community#25701) chore: update the migration script to check for necessary permissions and prefer ssh if possible (leanprover-community#25701) ...
I was referring to this comment but you've fixed it. I did confuse myself a bit when I wrote my previous comment, and I'm sorry for that. I realized that when dealing with Subtype that is not CoeSort of Set, I should use e.g. Equiv.subtypeEquivProp and Homeomorph.subtype instead of Equiv.setCongr and Homeomorph.setCongr. I recall that in some cases the Subtype version is missing and the Set version gets used in other decls about Subtype, resulting in the unification issue I described when trying to use those decls, but I don't have an example right now. |
Uh oh!
There was an error while loading. Please reload this page.