Documentation

LeanPool.Monlib4.LinearAlgebra.TensorProduct.FiniteDimensional

Tensor products of finite-dimensional star modules #

This file defines the star operation on a tensor product of finite-dimensional star modules and proves compatibility lemmas for tensor-product maps.

@[reducible, inline]
noncomputable abbrev TensorProduct.Star {๐•œ : Type u_1} {E : Type u_2} {F : Type u_3} [Field ๐•œ] [StarRing ๐•œ] [AddCommGroup E] [AddCommGroup F] [StarAddMonoid E] [StarAddMonoid F] [Module ๐•œ E] [Module ๐•œ F] [StarModule ๐•œ E] [StarModule ๐•œ F] :
_root_.Star (TensorProduct ๐•œ E F)

Compatibility name for the tensor-product star instance now provided by Mathlib.

Equations
Instances For
    @[reducible, inline]
    noncomputable abbrev TensorProduct.InvolutiveStar {๐•œ : Type u_1} {E : Type u_2} {F : Type u_3} [Field ๐•œ] [StarRing ๐•œ] [AddCommGroup E] [AddCommGroup F] [StarAddMonoid E] [StarAddMonoid F] [Module ๐•œ E] [Module ๐•œ F] [StarModule ๐•œ E] [StarModule ๐•œ F] :

    Compatibility name for the tensor-product involutive-star instance.

    Equations
    Instances For
      @[reducible, inline]
      noncomputable abbrev TensorProduct.starAddMonoid {๐•œ : Type u_1} {E : Type u_2} {F : Type u_3} [Field ๐•œ] [StarRing ๐•œ] [AddCommGroup E] [AddCommGroup F] [StarAddMonoid E] [StarAddMonoid F] [Module ๐•œ E] [Module ๐•œ F] [StarModule ๐•œ E] [StarModule ๐•œ F] :

      Compatibility name for the tensor-product star-additive instance.

      Equations
      Instances For
        theorem TensorProduct.starModule {๐•œ : Type u_1} {E : Type u_2} {F : Type u_3} [Field ๐•œ] [StarRing ๐•œ] [AddCommGroup E] [AddCommGroup F] [StarAddMonoid E] [StarAddMonoid F] [Module ๐•œ E] [Module ๐•œ F] [StarModule ๐•œ E] [StarModule ๐•œ F] :
        StarModule ๐•œ (TensorProduct ๐•œ E F)

        Compatibility name for the tensor-product star-module instance.

        theorem TensorProduct.star_add {๐•œ : Type u_1} {E : Type u_2} {F : Type u_3} [Field ๐•œ] [StarRing ๐•œ] [AddCommGroup E] [AddCommGroup F] [StarAddMonoid E] [StarAddMonoid F] [Module ๐•œ E] [Module ๐•œ F] [StarModule ๐•œ E] [StarModule ๐•œ F] (x y : TensorProduct ๐•œ E F) :
        star (x + y) = star x + star y

        Tensor-product star is additive.

        theorem TensorProduct.star_is_involutive {๐•œ : Type u_1} {E : Type u_2} {F : Type u_3} [Field ๐•œ] [StarRing ๐•œ] [AddCommGroup E] [AddCommGroup F] [StarAddMonoid E] [StarAddMonoid F] [Module ๐•œ E] [Module ๐•œ F] [StarModule ๐•œ E] [StarModule ๐•œ F] :

        Tensor-product star is involutive.

        theorem TensorProduct.map_real {๐•œ : Type u_5} [Field ๐•œ] [StarRing ๐•œ] {A : Type u_1} {B : Type u_2} {E : Type u_3} {F : Type u_4} [AddCommGroup A] [AddCommGroup B] [AddCommGroup E] [AddCommGroup F] [StarAddMonoid A] [StarAddMonoid B] [StarAddMonoid E] [StarAddMonoid F] [Module ๐•œ A] [Module ๐•œ B] [Module ๐•œ E] [Module ๐•œ F] [StarModule ๐•œ A] [StarModule ๐•œ B] [StarModule ๐•œ E] [StarModule ๐•œ F] [Module.Finite ๐•œ A] [Module.Finite ๐•œ B] [Module.Finite ๐•œ E] [Module.Finite ๐•œ F] (f : E โ†’โ‚—[๐•œ] F) (g : A โ†’โ‚—[๐•œ] B) :
        (map f g).real = map f.real g.real
        theorem LinearMap.mul'_real {๐•œ : Type u_2} [Field ๐•œ] [StarRing ๐•œ] (A : Type u_1) [Ring A] [Module ๐•œ A] [StarRing A] [StarModule ๐•œ A] [SMulCommClass ๐•œ A A] [IsScalarTower ๐•œ A A] :
        (mul' ๐•œ A).real = mul' ๐•œ A โˆ˜โ‚— โ†‘(TensorProduct.comm ๐•œ A A)
        theorem TensorProduct.assoc_real {๐•œ : Type u_4} {E : Type u_1} {F : Type u_2} {G : Type u_3} [Field ๐•œ] [StarRing ๐•œ] [AddCommGroup E] [AddCommGroup F] [AddCommGroup G] [StarAddMonoid E] [StarAddMonoid F] [StarAddMonoid G] [Module ๐•œ E] [Module ๐•œ F] [Module ๐•œ G] [StarModule ๐•œ G] [StarModule ๐•œ E] [StarModule ๐•œ F] :
        (โ†‘(TensorProduct.assoc ๐•œ E F G)).real = โ†‘(TensorProduct.assoc ๐•œ E F G)
        theorem TensorProduct.comm_real {๐•œ : Type u_3} {E : Type u_1} {F : Type u_2} [Field ๐•œ] [StarRing ๐•œ] [AddCommGroup E] [AddCommGroup F] [StarAddMonoid E] [StarAddMonoid F] [Module ๐•œ E] [Module ๐•œ F] [StarModule ๐•œ E] [StarModule ๐•œ F] :
        (โ†‘(TensorProduct.comm ๐•œ E F)).real = โ†‘(TensorProduct.comm ๐•œ E F)
        theorem TensorProduct.lid_real {๐•œ : Type u_1} {E : Type u_2} [Field ๐•œ] [StarRing ๐•œ] [AddCommGroup E] [StarAddMonoid E] [Module ๐•œ E] [StarModule ๐•œ E] :
        (โ†‘(TensorProduct.lid ๐•œ E)).real = โ†‘(TensorProduct.lid ๐•œ E)
        theorem TensorProduct.rid_real {๐•œ : Type u_1} {E : Type u_2} [Field ๐•œ] [StarRing ๐•œ] [AddCommGroup E] [StarAddMonoid E] [Module ๐•œ E] [StarModule ๐•œ E] :
        (โ†‘(TensorProduct.rid ๐•œ E)).real = โ†‘(TensorProduct.rid ๐•œ E)
        theorem tensor_op_star_apply {๐•œ : Type u_2} {E : Type u_1} [Field ๐•œ] [StarRing ๐•œ] [AddCommGroup E] [StarAddMonoid E] [Module ๐•œ E] [StarModule ๐•œ E] (x : E) (y : Eแตแต’แต–) :
        star (x โŠ—โ‚œ[๐•œ] y) = star x โŠ—โ‚œ[๐•œ] (op ๐•œ) (star ((unop ๐•œ) y))
        theorem tenSwap_star {๐•œ : Type u_1} {E : Type u_2} [Field ๐•œ] [StarRing ๐•œ] [AddCommGroup E] [StarAddMonoid E] [Module ๐•œ E] [StarModule ๐•œ E] (x : TensorProduct ๐•œ E Eแตแต’แต–) :
        star ((tenSwap ๐•œ) x) = (tenSwap ๐•œ) (star x)
        noncomputable def starAlgEquivOfLinearEquivTensorProduct {R : Type u_1} {A : Type u_2} {B : Type u_3} {C : Type u_4} [RCLike R] [Ring A] [StarAddMonoid A] [Algebra R A] [StarModule R A] [Ring B] [StarAddMonoid B] [Algebra R B] [StarModule R B] [Semiring C] [Algebra R C] [StarAddMonoid C] (f : TensorProduct R A B โ‰ƒโ‚—[R] C) (h_mul : โˆ€ (aโ‚ aโ‚‚ : A) (bโ‚ bโ‚‚ : B), f ((aโ‚ * aโ‚‚) โŠ—โ‚œ[R] (bโ‚ * bโ‚‚)) = f (aโ‚ โŠ—โ‚œ[R] bโ‚) * f (aโ‚‚ โŠ—โ‚œ[R] bโ‚‚)) (h_one : f (1 โŠ—โ‚œ[R] 1) = 1) (h_star : โˆ€ (x : A) (y : B), f (star (x โŠ—โ‚œ[R] y)) = star (f (x โŠ—โ‚œ[R] y))) :

        Build a star algebra equivalence from a tensor-product linear equivalence.

        Equations
        Instances For
          noncomputable def StarAlgEquiv.TensorProduct.map {R : Type u_1} {A : Type u_2} {B : Type u_3} {C : Type u_4} {D : Type u_5} [RCLike R] [Ring A] [Ring B] [Ring C] [Ring D] [Algebra R A] [Algebra R B] [Algebra R C] [Algebra R D] [StarAddMonoid A] [StarAddMonoid B] [StarAddMonoid C] [StarAddMonoid D] [StarModule R A] [StarModule R B] [StarModule R C] [StarModule R D] (f : A โ‰ƒโ‹†โ‚[R] B) (g : C โ‰ƒโ‹†โ‚[R] D) :

          Tensor a pair of star algebra equivalences.

          Equations
          Instances For
            theorem StarAlgEquiv.TensorProduct.map_tmul {R : Type u_1} {A : Type u_2} {B : Type u_3} {C : Type u_4} {D : Type u_5} [RCLike R] [Ring A] [Ring B] [Ring C] [Ring D] [Algebra R A] [Algebra R B] [Algebra R C] [Algebra R D] [StarAddMonoid A] [StarAddMonoid B] [StarAddMonoid C] [StarAddMonoid D] [StarModule R A] [StarModule R B] [StarModule R C] [StarModule R D] (f : A โ‰ƒโ‹†โ‚[R] B) (g : C โ‰ƒโ‹†โ‚[R] D) (x : A) (y : C) :
            (map f g) (x โŠ—โ‚œ[R] y) = f x โŠ—โ‚œ[R] g y
            theorem StarAlgEquiv.TensorProduct.map_symm_tmul {R : Type u_1} {A : Type u_2} {B : Type u_3} {C : Type u_4} {D : Type u_5} [RCLike R] [Ring A] [Ring B] [Ring C] [Ring D] [Algebra R A] [Algebra R B] [Algebra R C] [Algebra R D] [StarAddMonoid A] [StarAddMonoid B] [StarAddMonoid C] [StarAddMonoid D] [StarModule R A] [StarModule R B] [StarModule R C] [StarModule R D] (f : A โ‰ƒโ‹†โ‚[R] B) (g : C โ‰ƒโ‹†โ‚[R] D) (x : B) (y : D) :
            noncomputable def StarAlgEquiv.lTensor {R : Type u_1} {A : Type u_2} {B : Type u_3} (C : Type u_4) [RCLike R] [Ring A] [Ring B] [Ring C] [Algebra R A] [Algebra R B] [Algebra R C] [StarAddMonoid A] [StarAddMonoid B] [StarAddMonoid C] [StarModule R A] [StarModule R B] [StarModule R C] (f : A โ‰ƒโ‹†โ‚[R] B) :

            Tensor a star algebra equivalence on the left by a fixed algebra.

            Equations
            Instances For
              theorem StarAlgEquiv.lTensor_tmul {R : Type u_1} {A : Type u_2} {B : Type u_3} {C : Type u_4} [RCLike R] [Ring A] [Ring B] [Ring C] [Algebra R A] [Algebra R B] [Algebra R C] [StarAddMonoid A] [StarAddMonoid B] [StarAddMonoid C] [StarModule R A] [StarModule R B] [StarModule R C] (f : A โ‰ƒโ‹†โ‚[R] B) (x : C) (y : A) :
              theorem StarAlgEquiv.lTensor_symm_tmul {R : Type u_1} {A : Type u_2} {B : Type u_3} {C : Type u_4} [RCLike R] [Ring A] [Ring B] [Ring C] [Algebra R A] [Algebra R B] [Algebra R C] [StarAddMonoid A] [StarAddMonoid B] [StarAddMonoid C] [StarModule R A] [StarModule R B] [StarModule R C] (f : A โ‰ƒโ‹†โ‚[R] B) (x : C) (y : B) :