Skip to content
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/remove BilinForm #10553

Closed
mans0954 opened this issue Feb 14, 2024 · 1 comment
Closed

Refactor/remove BilinForm #10553

mans0954 opened this issue Feb 14, 2024 · 1 comment

Comments

@mans0954
Copy link
Collaborator

mans0954 commented Feb 14, 2024

There seems to be broad agreement that in the long term structure BilinForm should not exist - instead we should use M →ₗ[R] M →ₗ[R] R.

Many BilinForm results already have equivalents e.g. following #9485, many of the results in LinearAlgebra/Matrix/BilinearForm are just wrappers around results in LinearAlgebra/Matrix/SesquilinearForm.

One possible objection to removing BilinForm altogether at this stage is that it supports non-commutative semirings, which M →ₗ[R] M →ₗ[R] R does not support without further assumptions.

Zulip discussion:

Related issues/PRs:

@eric-wieser
Copy link
Member

eric-wieser commented Feb 14, 2024

One possible objection to removing BilinForm altogether at this stage is that it supports non-commutative semirings,

I don't think this is meaningfully true; the axiomatization is basically nonsense for non-commutative semirings, so while we may support BilinForm R when Semiring R, it's not a "bilinear form" any more.

mathlib-bors bot pushed a commit that referenced this issue Feb 17, 2024
This is one of the steps in #10553.

Once we eliminate `_root_.BilinForm`, we can drop the `LinearMap.` prefix.

Requested on Zulip [by me](https://leanprover.zulipchat.com/#narrow/stream/116395-maths/topic/Bounded.20bilinear.20forms/near/261981962) (2021), [by @kmill](https://leanprover.zulipchat.com/#narrow/stream/116395-maths/topic/.60bilinear_form.60/near/310675731) (2022), and perhaps one or two other places.



Co-authored-by: Christopher Hoskin <christopher.hoskin@gmail.com>
riccardobrasca pushed a commit that referenced this issue Feb 18, 2024
This is one of the steps in #10553.

Once we eliminate `_root_.BilinForm`, we can drop the `LinearMap.` prefix.

Requested on Zulip [by me](https://leanprover.zulipchat.com/#narrow/stream/116395-maths/topic/Bounded.20bilinear.20forms/near/261981962) (2021), [by @kmill](https://leanprover.zulipchat.com/#narrow/stream/116395-maths/topic/.60bilinear_form.60/near/310675731) (2022), and perhaps one or two other places.



Co-authored-by: Christopher Hoskin <christopher.hoskin@gmail.com>
thorimur pushed a commit that referenced this issue Feb 24, 2024
This is one of the steps in #10553.

Once we eliminate `_root_.BilinForm`, we can drop the `LinearMap.` prefix.

Requested on Zulip [by me](https://leanprover.zulipchat.com/#narrow/stream/116395-maths/topic/Bounded.20bilinear.20forms/near/261981962) (2021), [by @kmill](https://leanprover.zulipchat.com/#narrow/stream/116395-maths/topic/.60bilinear_form.60/near/310675731) (2022), and perhaps one or two other places.



Co-authored-by: Christopher Hoskin <christopher.hoskin@gmail.com>
thorimur pushed a commit that referenced this issue Feb 26, 2024
This is one of the steps in #10553.

Once we eliminate `_root_.BilinForm`, we can drop the `LinearMap.` prefix.

Requested on Zulip [by me](https://leanprover.zulipchat.com/#narrow/stream/116395-maths/topic/Bounded.20bilinear.20forms/near/261981962) (2021), [by @kmill](https://leanprover.zulipchat.com/#narrow/stream/116395-maths/topic/.60bilinear_form.60/near/310675731) (2022), and perhaps one or two other places.



Co-authored-by: Christopher Hoskin <christopher.hoskin@gmail.com>
mathlib-bors bot pushed a commit that referenced this issue Mar 2, 2024
Replaces `BilinForm` with `LinearMap.BilinForm` in support of #10553



Co-authored-by: Christopher Hoskin <mans0954@users.noreply.github.com>
mathlib-bors bot pushed a commit that referenced this issue Mar 2, 2024
Replaces `BilinForm` with `LinearMap.BilinForm` in support of #10553



Co-authored-by: Christopher Hoskin <mans0954@users.noreply.github.com>
Co-authored-by: Eric Wieser <wieser.eric@gmail.com>
mathlib-bors bot pushed a commit that referenced this issue Mar 8, 2024
…orm (#11078)

Replaces `BilinForm` with `LinearMap.BilinForm` in support of #10553
kbuzzard pushed a commit that referenced this issue Mar 12, 2024
Replaces `BilinForm` with `LinearMap.BilinForm` in support of #10553



Co-authored-by: Christopher Hoskin <mans0954@users.noreply.github.com>
Co-authored-by: Eric Wieser <wieser.eric@gmail.com>
kbuzzard pushed a commit that referenced this issue Mar 12, 2024
…orm (#11078)

Replaces `BilinForm` with `LinearMap.BilinForm` in support of #10553
mathlib-bors bot pushed a commit that referenced this issue Mar 18, 2024
…dules over commutative semirings (#11280)

Require the module in the definition of the `BilinForm` structure to be over a commutative semiring.

This PR is a per-requisite for #11278. It supersedes #10422.

It's been pointed out elsewhere that the current definition over a non-commutative semiring doesn't make mathematical sense: #10553 (comment)

Eventually the non-commutative situation may be considered in a mathematically meaningful way in the context of sesquilinear maps (e.g. something like #9334 (review)).

Co-authored-by: @Vierkantor 



Co-authored-by: Christopher Hoskin <christopher.hoskin@gmail.com>
Co-authored-by: Christopher Hoskin <christopher.hoskin@overleaf.com>
Co-authored-by: Eric Wieser <wieser.eric@gmail.com>
dagurtomas pushed a commit that referenced this issue Mar 22, 2024
This is one of the steps in #10553.

Once we eliminate `_root_.BilinForm`, we can drop the `LinearMap.` prefix.

Requested on Zulip [by me](https://leanprover.zulipchat.com/#narrow/stream/116395-maths/topic/Bounded.20bilinear.20forms/near/261981962) (2021), [by @kmill](https://leanprover.zulipchat.com/#narrow/stream/116395-maths/topic/.60bilinear_form.60/near/310675731) (2022), and perhaps one or two other places.



Co-authored-by: Christopher Hoskin <christopher.hoskin@gmail.com>
dagurtomas pushed a commit that referenced this issue Mar 22, 2024
Replaces `BilinForm` with `LinearMap.BilinForm` in support of #10553



Co-authored-by: Christopher Hoskin <mans0954@users.noreply.github.com>
Co-authored-by: Eric Wieser <wieser.eric@gmail.com>
dagurtomas pushed a commit that referenced this issue Mar 22, 2024
…orm (#11078)

Replaces `BilinForm` with `LinearMap.BilinForm` in support of #10553
dagurtomas pushed a commit that referenced this issue Mar 22, 2024
…dules over commutative semirings (#11280)

Require the module in the definition of the `BilinForm` structure to be over a commutative semiring.

This PR is a per-requisite for #11278. It supersedes #10422.

It's been pointed out elsewhere that the current definition over a non-commutative semiring doesn't make mathematical sense: #10553 (comment)

Eventually the non-commutative situation may be considered in a mathematically meaningful way in the context of sesquilinear maps (e.g. something like #9334 (review)).

Co-authored-by: @Vierkantor 



Co-authored-by: Christopher Hoskin <christopher.hoskin@gmail.com>
Co-authored-by: Christopher Hoskin <christopher.hoskin@overleaf.com>
Co-authored-by: Eric Wieser <wieser.eric@gmail.com>
utensil pushed a commit that referenced this issue Mar 26, 2024
Replaces `BilinForm` with `LinearMap.BilinForm` in support of #10553



Co-authored-by: Christopher Hoskin <mans0954@users.noreply.github.com>
Co-authored-by: Eric Wieser <wieser.eric@gmail.com>
utensil pushed a commit that referenced this issue Mar 26, 2024
…orm (#11078)

Replaces `BilinForm` with `LinearMap.BilinForm` in support of #10553
utensil pushed a commit that referenced this issue Mar 26, 2024
…dules over commutative semirings (#11280)

Require the module in the definition of the `BilinForm` structure to be over a commutative semiring.

This PR is a per-requisite for #11278. It supersedes #10422.

It's been pointed out elsewhere that the current definition over a non-commutative semiring doesn't make mathematical sense: #10553 (comment)

Eventually the non-commutative situation may be considered in a mathematically meaningful way in the context of sesquilinear maps (e.g. something like #9334 (review)).

Co-authored-by: @Vierkantor 



Co-authored-by: Christopher Hoskin <christopher.hoskin@gmail.com>
Co-authored-by: Christopher Hoskin <christopher.hoskin@overleaf.com>
Co-authored-by: Eric Wieser <wieser.eric@gmail.com>
@mathlib-bors mathlib-bors bot closed this as completed in aee79f6 Apr 9, 2024
Louddy pushed a commit that referenced this issue Apr 15, 2024
Replaces `BilinForm` with `LinearMap.BilinForm` in support of #10553



Co-authored-by: Christopher Hoskin <mans0954@users.noreply.github.com>
Co-authored-by: Eric Wieser <wieser.eric@gmail.com>
Louddy pushed a commit that referenced this issue Apr 15, 2024
…orm (#11078)

Replaces `BilinForm` with `LinearMap.BilinForm` in support of #10553
Louddy pushed a commit that referenced this issue Apr 15, 2024
…dules over commutative semirings (#11280)

Require the module in the definition of the `BilinForm` structure to be over a commutative semiring.

This PR is a per-requisite for #11278. It supersedes #10422.

It's been pointed out elsewhere that the current definition over a non-commutative semiring doesn't make mathematical sense: #10553 (comment)

Eventually the non-commutative situation may be considered in a mathematically meaningful way in the context of sesquilinear maps (e.g. something like #9334 (review)).

Co-authored-by: @Vierkantor 



Co-authored-by: Christopher Hoskin <christopher.hoskin@gmail.com>
Co-authored-by: Christopher Hoskin <christopher.hoskin@overleaf.com>
Co-authored-by: Eric Wieser <wieser.eric@gmail.com>
Louddy pushed a commit that referenced this issue Apr 15, 2024
…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 <wieser.eric@gmail.com>
Co-authored-by: Christopher Hoskin <christopher.hoskin@overleaf.com>
Co-authored-by: Christopher Hoskin <mans0954@users.noreply.github.com>
Co-authored-by: Vierkantor <vierkantor@vierkantor.com>
atarnoam pushed a commit that referenced this issue Apr 16, 2024
…dules over commutative semirings (#11280)

Require the module in the definition of the `BilinForm` structure to be over a commutative semiring.

This PR is a per-requisite for #11278. It supersedes #10422.

It's been pointed out elsewhere that the current definition over a non-commutative semiring doesn't make mathematical sense: #10553 (comment)

Eventually the non-commutative situation may be considered in a mathematically meaningful way in the context of sesquilinear maps (e.g. something like #9334 (review)).

Co-authored-by: @Vierkantor 



Co-authored-by: Christopher Hoskin <christopher.hoskin@gmail.com>
Co-authored-by: Christopher Hoskin <christopher.hoskin@overleaf.com>
Co-authored-by: Eric Wieser <wieser.eric@gmail.com>
atarnoam pushed a commit that referenced this issue Apr 16, 2024
…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 <wieser.eric@gmail.com>
Co-authored-by: Christopher Hoskin <christopher.hoskin@overleaf.com>
Co-authored-by: Christopher Hoskin <mans0954@users.noreply.github.com>
Co-authored-by: Vierkantor <vierkantor@vierkantor.com>
uniwuni pushed a commit that referenced this issue Apr 19, 2024
…orm (#11078)

Replaces `BilinForm` with `LinearMap.BilinForm` in support of #10553
uniwuni pushed a commit that referenced this issue Apr 19, 2024
…dules over commutative semirings (#11280)

Require the module in the definition of the `BilinForm` structure to be over a commutative semiring.

This PR is a per-requisite for #11278. It supersedes #10422.

It's been pointed out elsewhere that the current definition over a non-commutative semiring doesn't make mathematical sense: #10553 (comment)

Eventually the non-commutative situation may be considered in a mathematically meaningful way in the context of sesquilinear maps (e.g. something like #9334 (review)).

Co-authored-by: @Vierkantor 



Co-authored-by: Christopher Hoskin <christopher.hoskin@gmail.com>
Co-authored-by: Christopher Hoskin <christopher.hoskin@overleaf.com>
Co-authored-by: Eric Wieser <wieser.eric@gmail.com>
uniwuni pushed a commit that referenced this issue Apr 19, 2024
…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 <wieser.eric@gmail.com>
Co-authored-by: Christopher Hoskin <christopher.hoskin@overleaf.com>
Co-authored-by: Christopher Hoskin <mans0954@users.noreply.github.com>
Co-authored-by: Vierkantor <vierkantor@vierkantor.com>
callesonne pushed a commit that referenced this issue Apr 22, 2024
…orm (#11078)

Replaces `BilinForm` with `LinearMap.BilinForm` in support of #10553
callesonne pushed a commit that referenced this issue Apr 22, 2024
…dules over commutative semirings (#11280)

Require the module in the definition of the `BilinForm` structure to be over a commutative semiring.

This PR is a per-requisite for #11278. It supersedes #10422.

It's been pointed out elsewhere that the current definition over a non-commutative semiring doesn't make mathematical sense: #10553 (comment)

Eventually the non-commutative situation may be considered in a mathematically meaningful way in the context of sesquilinear maps (e.g. something like #9334 (review)).

Co-authored-by: @Vierkantor 



Co-authored-by: Christopher Hoskin <christopher.hoskin@gmail.com>
Co-authored-by: Christopher Hoskin <christopher.hoskin@overleaf.com>
Co-authored-by: Eric Wieser <wieser.eric@gmail.com>
callesonne pushed a commit that referenced this issue Apr 22, 2024
…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 <wieser.eric@gmail.com>
Co-authored-by: Christopher Hoskin <christopher.hoskin@overleaf.com>
Co-authored-by: Christopher Hoskin <mans0954@users.noreply.github.com>
Co-authored-by: Vierkantor <vierkantor@vierkantor.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
2 participants