PhysLean Documentation

PhysLean.Relativity.Tensors.Contraction.Products

The interfaction of contractions and products #

Products and contractions #

theorem TensorSpecies.Tensor.Pure.dropPairEmb_apply_lt_lt {n : } (i j : Fin (n + 1 + 1)) (hij : i j) (m : Fin n) (hi : m < i) (hj : m < j) :
theorem TensorSpecies.Tensor.Pure.dropPairEmb_natAdd_apply_castAdd {n n1 : } (i j : Fin (n + 1 + 1)) (hij : i j) (m : Fin n1) :
theorem TensorSpecies.Tensor.Pure.dropPairEmb_natAdd_image_range_castAdd {n n1 : } (i j : Fin (n + 1 + 1)) (hij : i j) :
dropPairEmb (Fin.natAdd n1 i) (Fin.natAdd n1 j) '' Set.range (Fin.castAdd n) = {i : Fin (n1 + n + 1 + 1) | i < n1}
theorem TensorSpecies.Tensor.Pure.dropPairEmb_comm_natAdd {n n1 : } (i j : Fin (n + 1 + 1)) (hij : i j) (m : Fin n) :
theorem TensorSpecies.Tensor.Pure.dropPairEmb_permCond_prod {k : Type} [CommRing k] {G : Type} [Group G] {S : TensorSpecies k G} {n n1 : } {c : Fin (n + 1 + 1)S.C} {c1 : Fin n1S.C} (i j : Fin (n + 1 + 1)) (hij : i j S.τ (c i) = c j) :
theorem TensorSpecies.Tensor.Pure.contrPCoeff_natAdd {k : Type} [CommRing k] {G : Type} [Group G] {S : TensorSpecies k G} {n n1 : } {c : Fin (n + 1 + 1)S.C} {c1 : Fin n1S.C} (i j : Fin (n + 1 + 1)) (hij : i j S.τ (c i) = c j) (p : Pure S c) (p1 : Pure S c1) :
contrPCoeff (Fin.natAdd n1 i) (Fin.natAdd n1 j) (p1.prodP p) = contrPCoeff i j hij p
theorem TensorSpecies.Tensor.Pure.contrPCoeff_castAdd {k : Type} [CommRing k] {G : Type} [Group G] {S : TensorSpecies k G} {n n1 : } {c : Fin (n + 1 + 1)S.C} {c1 : Fin n1S.C} (i j : Fin (n + 1 + 1)) (hij : i j S.τ (c i) = c j) (p : Pure S c) (p1 : Pure S c1) :
contrPCoeff (Fin.castAdd n1 i) (Fin.castAdd n1 j) (p.prodP p1) = contrPCoeff i j hij p
theorem TensorSpecies.Tensor.Pure.prodP_dropPair {k : Type} [CommRing k] {G : Type} [Group G] {S : TensorSpecies k G} {n n1 : } {c : Fin (n + 1 + 1)S.C} {c1 : Fin n1S.C} (i j : Fin (n + 1 + 1)) (hij : i j S.τ (c i) = c j) (p : Pure S c) (p1 : Pure S c1) :
p1.prodP (dropPair i j p) = permP id (dropPair (Fin.natAdd n1 i) (Fin.natAdd n1 j) (p1.prodP p))
theorem TensorSpecies.Tensor.Pure.prodP_contrP_snd {k : Type} [CommRing k] {G : Type} [Group G] {S : TensorSpecies k G} {n n1 : } {c : Fin (n + 1 + 1)S.C} {c1 : Fin n1S.C} (i j : Fin (n + 1 + 1)) (hij : i j S.τ (c i) = c j) (p : Pure S c) (p1 : Pure S c1) :
(prodT p1.toTensor) (contrP i j hij p) = (permT id ) (contrP (finSumFinEquiv (Sum.inr i)) (finSumFinEquiv (Sum.inr j)) (p1.prodP p))
theorem TensorSpecies.Tensor.prodT_contrT_snd {k : Type} [CommRing k] {G : Type} [Group G] {S : TensorSpecies k G} {n n1 : } {c : Fin (n + 1 + 1)S.C} {c1 : Fin n1S.C} (i j : Fin (n + 1 + 1)) (hij : i j S.τ (c i) = c j) (t : S.Tensor c) (t1 : S.Tensor c1) :
(prodT t1) ((contrT n i j hij) t) = (permT id ) ((contrT (n1.add n) (finSumFinEquiv (Sum.inr i)) (finSumFinEquiv (Sum.inr j)) ) ((prodT t1) t))
theorem TensorSpecies.Tensor.contrT_prodT_snd {k : Type} [CommRing k] {G : Type} [Group G] {S : TensorSpecies k G} {n n1 : } {c : Fin (n + 1 + 1)S.C} {c1 : Fin n1S.C} (i j : Fin (n + 1 + 1)) (hij : i j S.τ (c i) = c j) (t : S.Tensor c) (t1 : S.Tensor c1) :
(contrT (n1.add n) (finSumFinEquiv (Sum.inr i)) (finSumFinEquiv (Sum.inr j)) ) ((prodT t1) t) = (permT id ) ((prodT t1) ((contrT n i j hij) t))