Skip to content

Conversation

@eric-wieser
Copy link
Member

@eric-wieser eric-wieser commented Jul 20, 2023

This is now fully covered by leanprover-community/mathlib4#6778

@eric-wieser eric-wieser temporarily deployed to documentation July 20, 2023 22:35 — with GitHub Actions Inactive
@eric-wieser eric-wieser temporarily deployed to documentation July 20, 2023 22:36 — with GitHub Actions Inactive
@eric-wieser eric-wieser temporarily deployed to documentation July 21, 2023 01:11 — with GitHub Actions Inactive
@eric-wieser eric-wieser temporarily deployed to documentation July 21, 2023 01:45 — with GitHub Actions Inactive
@eric-wieser eric-wieser temporarily deployed to documentation July 21, 2023 10:07 — with GitHub Actions Inactive
@eric-wieser eric-wieser temporarily deployed to documentation July 21, 2023 13:37 — with GitHub Actions Inactive
@eric-wieser eric-wieser temporarily deployed to documentation July 21, 2023 13:59 — with GitHub Actions Inactive
@eric-wieser eric-wieser temporarily deployed to documentation July 21, 2023 22:12 — with GitHub Actions Inactive
@eric-wieser eric-wieser temporarily deployed to documentation July 21, 2023 22:34 — with GitHub Actions Inactive
@eric-wieser eric-wieser temporarily deployed to documentation August 3, 2023 20:56 — with GitHub Actions Inactive
@eric-wieser eric-wieser temporarily deployed to documentation August 4, 2023 11:30 — with GitHub Actions Inactive
@eric-wieser eric-wieser temporarily deployed to documentation August 4, 2023 11:32 — with GitHub Actions Inactive
bors bot pushed a commit to leanprover-community/mathlib4 that referenced this pull request Aug 17, 2023
…ar forms (#6306)

This generalizes the existing `BilinForm.tensorDistrib` to be heterogenous in the rings it uses, such that a base change,
```lean
protected def baseChange (B : BilinForm R M₂) :
  BilinForm A (A ⊗[R] M₂) :=
```
falls out as a special case. I do not attempt to generalize `BilinForm.tensorDistribEquiv`.

Unfortunately, this changes the defeq as
```diff
-(B₁.tmul B₂) (m₁ ⊗ₜ m₂) (m₁' ⊗ₜ m₂') = B₁ m₁ m₁' * B₂ m₂ m₂'
+(B₁.tmul B₂) (m₁ ⊗ₜ m₂) (m₁' ⊗ₜ m₂') = B₂ m₂ m₂' • B₁ m₁ m₁'
```
We could fix this by using the right action instead, but that's a lot of work for a very minorly annoying defeq.

This also breaks the defeq of `tensorDistribEquiv B = tensorDistrib B`; though the reason is more complicated than the scalar action issue above. It would be fixed if we defined all the homogenous operations on tensor products as special cases of the heterogenous ones, but that's also a lot of work for a very small win.

This is a port of work from pygae/lean-ga#31, and almost at the end of the path to a base change of quadratic forms and clifford algebras.

This was independently developed at the Leiden workshop as [`BilinForm.baseChange`](https://github.com/alexjbest/ant-lorentz/blob/1f97add294b2d50f99537c15583666d78b0d7e24/AntLorentz/BaseChange.lean#L75-L85), though the results there are not sorry-free.
bors bot pushed a commit to leanprover-community/mathlib4 that referenced this pull request Aug 17, 2023
…ar forms (#6306)

This generalizes the existing `BilinForm.tensorDistrib` to be heterogenous in the rings it uses, such that a base change,
```lean
protected def baseChange (B : BilinForm R M₂) :
  BilinForm A (A ⊗[R] M₂) :=
```
falls out as a special case. I do not attempt to generalize `BilinForm.tensorDistribEquiv`.

Unfortunately, this changes the defeq as
```diff
-(B₁.tmul B₂) (m₁ ⊗ₜ m₂) (m₁' ⊗ₜ m₂') = B₁ m₁ m₁' * B₂ m₂ m₂'
+(B₁.tmul B₂) (m₁ ⊗ₜ m₂) (m₁' ⊗ₜ m₂') = B₂ m₂ m₂' • B₁ m₁ m₁'
```
We could fix this by using the right action instead, but that's a lot of work for a very minorly annoying defeq.

This also breaks the defeq of `tensorDistribEquiv B = tensorDistrib B`; though the reason is more complicated than the scalar action issue above. It would be fixed if we defined all the homogenous operations on tensor products as special cases of the heterogenous ones, but that's also a lot of work for a very small win.

This is a port of work from pygae/lean-ga#31, and almost at the end of the path to a base change of quadratic forms and clifford algebras.

This was independently developed at the Leiden workshop as [`BilinForm.baseChange`](https://github.com/alexjbest/ant-lorentz/blob/1f97add294b2d50f99537c15583666d78b0d7e24/AntLorentz/BaseChange.lean#L75-L85), though the results there are not sorry-free.
@eric-wieser eric-wieser temporarily deployed to documentation October 25, 2023 15:12 — with GitHub Actions Inactive
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants