-
Notifications
You must be signed in to change notification settings - Fork 368
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
refactor(RingTheory/Trace): Define TraceForm
with LinearMap.BilinForm
#11057
Conversation
LinearMap.BilinForm
TraceForm
with LinearMap.BilinForm
…Mathlib, migrate all of `_root_.BilinForm` to `LinearMap.BilinForm` (#11278) Remove `structure BilinForm` from `LinearAlgebra/BilinearForm/Basic` and migrate all of `_root_.BilinForm` to `LinearMap.BilinForm` Closes: #10553 This isn't the end of the story, as there's still a lot of overlap between `LinearAlgebra/BilinearForm` and `LinearAlgebra/SesquilinearForm` but that can be sorted out in subsequent PRs. Supersedes: - #11057 - #11032 - #10432 - #10422 Co-authored-by: Eric Wieser <[email protected]> Co-authored-by: Christopher Hoskin <[email protected]> Co-authored-by: Christopher Hoskin <[email protected]> Co-authored-by: Vierkantor <[email protected]>
This PR/issue depends on: |
…Mathlib, migrate all of `_root_.BilinForm` to `LinearMap.BilinForm` (#11278) Remove `structure BilinForm` from `LinearAlgebra/BilinearForm/Basic` and migrate all of `_root_.BilinForm` to `LinearMap.BilinForm` Closes: #10553 This isn't the end of the story, as there's still a lot of overlap between `LinearAlgebra/BilinearForm` and `LinearAlgebra/SesquilinearForm` but that can be sorted out in subsequent PRs. Supersedes: - #11057 - #11032 - #10432 - #10422 Co-authored-by: Eric Wieser <[email protected]> Co-authored-by: Christopher Hoskin <[email protected]> Co-authored-by: Christopher Hoskin <[email protected]> Co-authored-by: Vierkantor <[email protected]>
…Mathlib, migrate all of `_root_.BilinForm` to `LinearMap.BilinForm` (#11278) Remove `structure BilinForm` from `LinearAlgebra/BilinearForm/Basic` and migrate all of `_root_.BilinForm` to `LinearMap.BilinForm` Closes: #10553 This isn't the end of the story, as there's still a lot of overlap between `LinearAlgebra/BilinearForm` and `LinearAlgebra/SesquilinearForm` but that can be sorted out in subsequent PRs. Supersedes: - #11057 - #11032 - #10432 - #10422 Co-authored-by: Eric Wieser <[email protected]> Co-authored-by: Christopher Hoskin <[email protected]> Co-authored-by: Christopher Hoskin <[email protected]> Co-authored-by: Vierkantor <[email protected]>
…Mathlib, migrate all of `_root_.BilinForm` to `LinearMap.BilinForm` (#11278) Remove `structure BilinForm` from `LinearAlgebra/BilinearForm/Basic` and migrate all of `_root_.BilinForm` to `LinearMap.BilinForm` Closes: #10553 This isn't the end of the story, as there's still a lot of overlap between `LinearAlgebra/BilinearForm` and `LinearAlgebra/SesquilinearForm` but that can be sorted out in subsequent PRs. Supersedes: - #11057 - #11032 - #10432 - #10422 Co-authored-by: Eric Wieser <[email protected]> Co-authored-by: Christopher Hoskin <[email protected]> Co-authored-by: Christopher Hoskin <[email protected]> Co-authored-by: Vierkantor <[email protected]>
…Mathlib, migrate all of `_root_.BilinForm` to `LinearMap.BilinForm` (#11278) Remove `structure BilinForm` from `LinearAlgebra/BilinearForm/Basic` and migrate all of `_root_.BilinForm` to `LinearMap.BilinForm` Closes: #10553 This isn't the end of the story, as there's still a lot of overlap between `LinearAlgebra/BilinearForm` and `LinearAlgebra/SesquilinearForm` but that can be sorted out in subsequent PRs. Supersedes: - #11057 - #11032 - #10432 - #10422 Co-authored-by: Eric Wieser <[email protected]> Co-authored-by: Christopher Hoskin <[email protected]> Co-authored-by: Christopher Hoskin <[email protected]> Co-authored-by: Vierkantor <[email protected]>
Mathlib/RingTheory/Trace.lean
Outdated
@@ -190,8 +193,8 @@ variable (R S) | |||
/-- The `traceForm` maps `x y : S` to the trace of `x * y`. | |||
It is a symmetric bilinear form and is nondegenerate if the extension is separable. -/ | |||
noncomputable def traceForm : BilinForm R S := | |||
-- Porting note: dot notation `().toBilin` does not work anymore. | |||
LinearMap.toBilin (LinearMap.compr₂ (lmul R S).toLinearMap (trace R S)) | |||
-- Porting note: dot notation `().toBilin` does not work anymore. |
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.
-- Porting note: dot notation `().toBilin` does not work anymore. |
This does not make sense anymore.
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.
traceForm
got redefined in #12078, but the porting note remains.
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.
Well, I guess it's time to remove it.
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.
BilinForm.nondegenerate_of_det_ne_zero (traceForm K L) _ | ||
(det_traceForm_ne_zero (FiniteDimensional.finBasis K L)) | ||
#align trace_form_nondegenerate traceForm_nondegenerate | ||
theorem traceForm_separatingLeft [FiniteDimensional K L] [IsSeparable K L] : |
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.
Why erasing traceForm_nondegenerate
? Even if traceForm_separatingLeft
is stronger we can have both (as a lot of people will look for nondegeneracy).
The description of the PR is wrong, right? You use |
@eric-wieser do you think I should close this PR without merging? I'm not sure that it's useful now #11278 has been merged. |
Closing this, for now at least, as I don't think it helps us move things forwards. |
Redefine
traceForm : BilinForm R S
usingLinearMap.BilinForm
instead ofBilinForm
.Contributes to #10553