[Merged by Bors] - feat(MathlibTest/FieldSimp): add a few more tests#28413
[Merged by Bors] - feat(MathlibTest/FieldSimp): add a few more tests#28413grunweg wants to merge 3 commits intoleanprover-community:masterfrom
Conversation
PR summary b9adabfbe0Import 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
|
| #guard_msgs in | ||
| example {hx : x ≠ 0} : P (x / x ^ 4) := by test_field_simp | ||
|
|
||
| -- We simplify subtracting the same term, even in constants and with literals. |
There was a problem hiding this comment.
I would argue this isn't necessarily in scope for field_simp -- our new implementation doesn't do it, right? 😄 (E.g. it normalizes x * (1 - 1) to x - x, not 0.)
Are you including these tests to document the kind of extra simp-ing that field_simp currently does and that will be lost?
There was a problem hiding this comment.
Might as well keep the tests, but can you add a half-sentence to your comment here noting that this isn't necessarily in scope for field_simp, just a documentation of current behaviour?
There was a problem hiding this comment.
Our implementation could decide to
- unify
x * yandy * x(for example), - and then decide to cancel
x - xterms, right?
(It probably doesn't do so, one could argue whether it even should.) In any case, documenting this seems useful.
There was a problem hiding this comment.
Our implementation normalizes x * y - y * x to x * y * (1 - 1), it just doesn't normalize the numeric subtraction to a zero. Anyway, that decision will get discussed down the line!
There was a problem hiding this comment.
Similarly to how we didn't decide about the 0 * x case yet either. 👍
|
Thanks! bors d+ |
|
✌️ grunweg can now approve this pull request. To approve and merge a pull request, simply reply with |
|
Added a comment, and another small test (straightforward, I presume). I'll wait with merging so you have a chance to take a quick look also. |
|
LGTM! |
|
Thanks for the quick review - makes contribution (and collaboration) so much more enjoyable! |
Add a few more tests documenting current features of field_simp (or their absence). Extension to #28362; all of these have been discussed in the current field_simp rewrite with @FLDutchmann and @hrmacbeth.
|
Pull request successfully merged into master. Build succeeded: |
* origin/master: (508 commits) feat(Logic/Basic): forall_and_index (leanprover-community#27737) feat(Algebra/intNorm): `x` divides `intNorm x` (leanprover-community#28021) feat(RingTheory/MvPolynomial/MonomialOrder): some lemmas about degree (leanprover-community#26000) chore: more elementary Motzkin polynomial proof (leanprover-community#28482) feat: e-seminormed monoid (leanprover-community#27385) feat(RingTheory): ` (⊥ : Ideal R) ^ n = ⊥` (leanprover-community#28171) fix(LinearAlgebra/Dimension/ErdosKaplansky): authorship (leanprover-community#28513) chore: golf entire `X_pow_eq_monomial` (leanprover-community#28504) feat(RingTheory): invertible modules and Picard group (leanprover-community#25337) chore: use delta `deriving` for leanprover-community#380 (leanprover-community#28498) feat: add bilinear maps for vector/matrix products (leanprover-community#28130) feat(Counterexamples): topologists' sine curve (leanprover-community#25833) feat(Analysis/Convex): doubly stochastic matrices have operator norm at most one (leanprover-community#28453) chore(Topology/Compactification): deprecate duplicate `ultrafilter_pure_injective` (leanprover-community#28436) feat: add `@[simp]` to `Multiset.cons_le_cons` and `Finset.insert_subset_insert` (leanprover-community#28285) feat: make `ring` work for semifields (leanprover-community#28494) feat: filtering lists and bounded quantifiers are primitive recursive (leanprover-community#26295) chore(Analysis/Analytic): split `Analytic.Basic` (leanprover-community#26270) refactor: tidy `mulVec` and `vecMul` lemmas about `•` (leanprover-community#28450) feat(Order/WellFounded): Acc and infinite descending chain (leanprover-community#28120) feat(NumberTheory/Padics): {Int,Rat}.padicValuation (leanprover-community#27667) chore(*): address a few timeout-related porting notes (leanprover-community#28483) feat(Algebra): toAlgebra_algebraMap (leanprover-community#28238) feat(Shrink): `IsCancelMul` instance (leanprover-community#28407) chore(Geometry): golf entire `chart_eq'` and `orthogonalProjection_orthogonalProjection` (leanprover-community#28485) feat: shifted geometric series and a `ProbabilityMeasure` version of `measure_iUnion_le` (leanprover-community#28087) chore(LinearAlgebra/PiTensorProduct): `rw` away use of `erw` in `lifts_zero` (leanprover-community#27554) feat(RingTheory): faithfully flat ring maps (leanprover-community#24530) chore(Geometry/RingedSpace): remove use of `erw` in `stalkSpecializes_stalkMap` (leanprover-community#27656) chore: add the Brownian motion project to downstream_repos.yml (leanprover-community#28459) feat(CategoryTheory/Sites/SheafOfTypes): composition of a sheaf with uliftFunctor is still a sheaf (leanprover-community#27816) feat(Valuation/DiscreteValuationRel): val relations with compatible valuations to Zm0 are IsDiscrete (leanprover-community#27213) chore(*): process a bunch of `aesop`-related porting notes (leanprover-community#28402) feat(CategoryTheory): abstract argument for the stability under transfinite compositions (leanprover-community#26030) chore: bump toolchain to v4.23.0-rc2 (leanprover-community#28454) chore(FieldTheory/Finite): fermat's little theorem in Nat form (leanprover-community#27962) feat(Combinatorics/SimpleGraph/Paths): add theorem `SimpleGraph.Walk.IsPath.concat` (leanprover-community#27582) feat(Slope): slope_pos_iff_of_le and related lemmas (leanprover-community#28039) feat: tactic analysis framework (leanprover-community#26683) chore(Data/EReal): deprecate `add_pos_of_nonneg_of_pos` and `add_ne_top_iff_of_ne_bot` (duplicates) (leanprover-community#28424) feat(MathlibTest/FieldSimp): add a few more tests (leanprover-community#28413) chore(RingTheory/HahnSeries): deprecate duplicate `orderTop_add_orderTop_le_orderTop_mul` (leanprover-community#28231) chore(AlgebraicGeometry/IdealSheaf): deprecate duplicate `AlgebraicGeometry.Scheme.IdealSheafData.Scheme.zeroLocus_radical` (leanprover-community#28202) feat(Algebra/Order): ArchimedeanClass ball (leanprover-community#27885) chore(Geometry/RingedSpace): remove use of `erw` in `isUnit_of_isUnit_germ` (leanprover-community#27660) feat(SkewMonoidAlgebra): coeff_mul lemmas (leanprover-community#27255) chore(LinearAlgebra): golf entire `isUnit_det` (leanprover-community#28438) chore(FieldTheory/IntermediateField): golf entire `coe_sum` and `coe_prod` (leanprover-community#28431) feat: separate linter error message for empty doc-strings (leanprover-community#27895) feat(RingTheory/PowerSeries/Binomial): add basic lemmas, golf (leanprover-community#27497) ...
Following on from leanprover-community#28362 and leanprover-community#28413: a few more `field_simp` tests and light cleanup of the test file.
…ty#28413) Add a few more tests documenting current features of field_simp (or their absence). Extension to leanprover-community#28362; all of these have been discussed in the current field_simp rewrite with @FLDutchmann and @hrmacbeth.
Following on from leanprover-community#28362 and leanprover-community#28413: a few more `field_simp` tests and light cleanup of the test file.
…ty#28413) Add a few more tests documenting current features of field_simp (or their absence). Extension to leanprover-community#28362; all of these have been discussed in the current field_simp rewrite with @FLDutchmann and @hrmacbeth.
Following on from leanprover-community#28362 and leanprover-community#28413: a few more `field_simp` tests and light cleanup of the test file.
Add a few more tests documenting current features of field_simp (or their absence). Extension to #28362; all of these have been discussed in the current field_simp rewrite with @FLDutchmann and @hrmacbeth.