New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
[Merged by Bors] - feat: port FieldTheory.SplittingField.Construction #4891
[Merged by Bors] - feat: port FieldTheory.SplittingField.Construction #4891
Conversation
Mathbin -> Mathlib fix certain import statements move "by" to end of line add import to Mathlib.lean
@ChrisHughes24 in case you forgot, there may be fixes in #4339 that can be salvaged |
I didn't forget. I'm going to claim this for about a day I think. I have an idea about how to tidy it up a lot. |
Co-authored-by: Eric Wieser <wieser.eric@gmail.com>
LGTM. |
Maybe we should add a co authored by because I stole code from the previous PR. |
Should we wait to fix the mathlib3 problems before merging this? The relevant PR is #19178. |
I think we should also forward-port #19179 first. The version of those changes in this PR is not identical to the ones in mathlib3, and a forward-port PR would create an easy place to align them |
This PR/issue depends on: |
We refactor the definition of `splitting_field`. The main motivation is to backport [!4#4891](leanprover-community/mathlib4#4891) since the is seems very problematic to port the current design. Zulip discussion relevant to this PR: https://leanprover.zulipchat.com/#narrow/stream/287929-mathlib4/topic/!4.234891.20.20FieldTheory.2ESplittingField
Now that Lean 3 is happy with the corresponding refactor, let's get this merged! |
bors r+ |
Co-authored-by: Scott Morrison <scott.morrison@anu.edu.au> Co-authored-by: Johan Commelin <johan@commelin.net> Co-authored-by: Eric Wieser <wieser.eric@gmail.com>
Pull request successfully merged into master. Build succeeded! The publicly hosted instance of bors-ng is deprecated and will go away soon. If you want to self-host your own instance, instructions are here. If you want to switch to GitHub's built-in merge queue, visit their help page. |
--Porting note: new instance | ||
instance isScalarTower_right [CommSemiring R] [CommSemiring S₁] [DistribSMul R S₁] | ||
[IsScalarTower R S₁ S₁] : IsScalarTower R (MvPolynomial σ S₁) (MvPolynomial σ S₁) := | ||
⟨by | ||
rintro x p q | ||
dsimp [MvPolynomial] at p q ⊢ | ||
rw [smul_mul_assoc]⟩ |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This is replaced in #5070
A sloppy version of this was added in #4891. This adds the better version that we wrote in mathlib3.
Co-authored-by: Scott Morrison <scott.morrison@anu.edu.au> Co-authored-by: Johan Commelin <johan@commelin.net> Co-authored-by: Eric Wieser <wieser.eric@gmail.com>
A sloppy version of this was added in #4891. This adds the better version that we wrote in mathlib3.
Co-authored-by: Scott Morrison <scott.morrison@anu.edu.au> Co-authored-by: Johan Commelin <johan@commelin.net> Co-authored-by: Eric Wieser <wieser.eric@gmail.com>
A sloppy version of this was added in #4891. This adds the better version that we wrote in mathlib3.
I've started a slightly different approach to this PR. So far I've constructed a
SplittingFieldAux
without worrying about whether the instances satisfy nice definitional equalities. Then the actualSplittingField
is defined to be a quotient of anMvPolynomial
ring by the kernel of the obvious map intoSplittingFieldAux
. Because the actualSplittingField
will be a quotient of aMvPolynomial
it should have nice instances on it.This is just a suggestion, if somebody prefers doing it the old way and reviving the old PR, I won't object to that.