OAI/LinearAlgebra/MatrixMultiplication/AuxiliarySeparation/Tensor/Semiring.lean
74 declarations, 0 contain sorry, 0 declared as axioms
Finite tensors modulo mutual restriction
Representatives have three natural-number dimensions and complex coefficients. The order is actual linear restriction, and equality in the quotient is mutual restriction. In particular, changing coordinates does not change the class.
- def
OAI.MatrixMultiplication.AuxiliarySeparation.TensorSemiring.IsRestrictionline 32Source documentation
Tis obtained fromSby three linear maps on its coordinate spaces.def IsRestriction (T : Tensor ℂ X Y Z) (S : Tensor ℂ U V W) : Prop := …
- theorem
OAI.MatrixMultiplication.AuxiliarySeparation.TensorSemiring.IsRestriction.reflline 36 - theorem
OAI.MatrixMultiplication.AuxiliarySeparation.TensorSemiring.IsRestriction.transline 41 - theorem
OAI.MatrixMultiplication.AuxiliarySeparation.TensorSemiring.IsRestriction.pullbackline 50 - theorem
OAI.MatrixMultiplication.AuxiliarySeparation.TensorSemiring.IsRestriction.of_reindexline 57 - theorem
OAI.MatrixMultiplication.AuxiliarySeparation.TensorSemiring.IsRestriction.reindex_iffline 66 - theorem
OAI.MatrixMultiplication.AuxiliarySeparation.TensorSemiring.IsRestriction.productline 84 - theorem
OAI.MatrixMultiplication.AuxiliarySeparation.TensorSemiring.IsRestriction.sumline 94 - theorem
OAI.MatrixMultiplication.AuxiliarySeparation.TensorSemiring.IsRestriction.zeroline 104 - theorem
OAI.MatrixMultiplication.AuxiliarySeparation.TensorSemiring.IsRestriction.rank_leline 110 - theorem
OAI.MatrixMultiplication.AuxiliarySeparation.TensorSemiring.IsRestriction.eq_zero_of_zeroline 116 - structure
OAI.MatrixMultiplication.AuxiliarySeparation.TensorSemiring.FiniteTensorline 126Source documentation
A set-sized presentation of any finite complex coefficient tensor.
structure FiniteTensor where …
- def
OAI.MatrixMultiplication.AuxiliarySeparation.TensorSemiring.FiniteTensor.ofTensorline 135Source documentation
Replace arbitrary finite coordinate sets by standard finite sets.
def ofTensor {X Y Z : Type*} [Fintype X] [Fintype Y] [Fintype Z] (T : Tensor ℂ X Y Z) : FiniteTensor where …Mentions: OAI.MatrixMultiplication.AuxiliarySeparation.TensorSemiring.FiniteTensor
- instance
OAI.MatrixMultiplication.AuxiliarySeparation.TensorSemiring.FiniteTensor.(instance at line 143)line 143 - instance
OAI.MatrixMultiplication.AuxiliarySeparation.TensorSemiring.FiniteTensor.(instance at line 145)line 145 - theorem
OAI.MatrixMultiplication.AuxiliarySeparation.TensorSemiring.FiniteTensor.ofTensor_le_iffline 149 - def
OAI.MatrixMultiplication.AuxiliarySeparation.TensorSemiring.FiniteTensor.productline 156 - def
OAI.MatrixMultiplication.AuxiliarySeparation.TensorSemiring.FiniteTensor.sumline 159 - theorem
OAI.MatrixMultiplication.AuxiliarySeparation.TensorSemiring.FiniteTensor.product_monoline 162 - theorem
OAI.MatrixMultiplication.AuxiliarySeparation.TensorSemiring.FiniteTensor.sum_monoline 166 - abbrev
OAI.MatrixMultiplication.AuxiliarySeparation.TensorSemiring.TensorClassline 174Source documentation
Finite complex tensors, with two presentations identified exactly when each is a linear restriction of the other.
abbrev TensorClass := Antisymmetrization FiniteTensor (· ≤ ·)
Mentions: OAI.MatrixMultiplication.AuxiliarySeparation.TensorSemiring.FiniteTensor
- def
OAI.MatrixMultiplication.AuxiliarySeparation.TensorSemiring.tensorClassline 177Source documentation
The class of a finite tensor presentation.
def tensorClass (T : FiniteTensor) : TensorClass := toAntisymmetrization (· ≤ ·) T
Mentions: OAI.MatrixMultiplication.AuxiliarySeparation.TensorSemiring.FiniteTensor, OAI.MatrixMultiplication.AuxiliarySeparation.TensorSemiring.TensorClass
- theorem
OAI.MatrixMultiplication.AuxiliarySeparation.TensorSemiring.tensorClass_eq_iffline 179 - theorem
OAI.MatrixMultiplication.AuxiliarySeparation.TensorSemiring.tensorClass_le_iffline 183 - def
OAI.MatrixMultiplication.AuxiliarySeparation.TensorSemiring.classOfline 187Source documentation
The quotient class of a tensor on any three finite coordinate sets.
def classOf {X Y Z : Type*} [Fintype X] [Fintype Y] [Fintype Z] (T : Tensor ℂ X Y Z) : TensorClass := tensorClass (FiniteTensor.ofTensor T)Mentions: OAI.MatrixMultiplication.AuxiliarySeparation.TensorSemiring.TensorClass, OAI.MatrixMultiplication.AuxiliarySeparation.TensorSemiring.tensorClass, OAI.MatrixMultiplication.AuxiliarySeparation.TensorSemiring.FiniteTensor.ofTensor
- theorem
OAI.MatrixMultiplication.AuxiliarySeparation.TensorSemiring.classOf_le_iffline 190 - theorem
OAI.MatrixMultiplication.AuxiliarySeparation.TensorSemiring.classOf_eq_iffline 196 - theorem
OAI.MatrixMultiplication.AuxiliarySeparation.TensorSemiring.classOf_reindexline 203 - theorem
OAI.MatrixMultiplication.AuxiliarySeparation.TensorSemiring.classOf_eq_of_reindexline 211 - theorem
OAI.MatrixMultiplication.AuxiliarySeparation.TensorSemiring.classOf_coeffline 219 - instance
OAI.MatrixMultiplication.AuxiliarySeparation.TensorSemiring.(instance at line 223)line 223 - instance
OAI.MatrixMultiplication.AuxiliarySeparation.TensorSemiring.(instance at line 229)line 229 - theorem
OAI.MatrixMultiplication.AuxiliarySeparation.TensorSemiring.tensorClass_productline 234 - theorem
OAI.MatrixMultiplication.AuxiliarySeparation.TensorSemiring.tensorClass_sumline 237 - theorem
OAI.MatrixMultiplication.AuxiliarySeparation.TensorSemiring.classOf_productline 240 - theorem
OAI.MatrixMultiplication.AuxiliarySeparation.TensorSemiring.classOf_sumline 251 - instance
OAI.MatrixMultiplication.AuxiliarySeparation.TensorSemiring.(instance at line 274)line 274 - instance
OAI.MatrixMultiplication.AuxiliarySeparation.TensorSemiring.(instance at line 275)line 275 - theorem
OAI.MatrixMultiplication.AuxiliarySeparation.TensorSemiring.classOf_zeroline 277 - theorem
OAI.MatrixMultiplication.AuxiliarySeparation.TensorSemiring.class_add_assocline 281 - theorem
OAI.MatrixMultiplication.AuxiliarySeparation.TensorSemiring.class_add_commline 291 - theorem
OAI.MatrixMultiplication.AuxiliarySeparation.TensorSemiring.class_add_zeroline 299 - theorem
OAI.MatrixMultiplication.AuxiliarySeparation.TensorSemiring.class_zero_addline 308 - theorem
OAI.MatrixMultiplication.AuxiliarySeparation.TensorSemiring.class_mul_assocline 311 - theorem
OAI.MatrixMultiplication.AuxiliarySeparation.TensorSemiring.class_mul_commline 321 - theorem
OAI.MatrixMultiplication.AuxiliarySeparation.TensorSemiring.class_mul_oneline 329 - theorem
OAI.MatrixMultiplication.AuxiliarySeparation.TensorSemiring.class_one_mulline 337 - theorem
OAI.MatrixMultiplication.AuxiliarySeparation.TensorSemiring.class_mul_zeroline 340 - theorem
OAI.MatrixMultiplication.AuxiliarySeparation.TensorSemiring.class_zero_mulline 351 - theorem
OAI.MatrixMultiplication.AuxiliarySeparation.TensorSemiring.class_left_distribline 354 - theorem
OAI.MatrixMultiplication.AuxiliarySeparation.TensorSemiring.class_right_distribline 364 - instance
OAI.MatrixMultiplication.AuxiliarySeparation.TensorSemiring.(instance at line 367)line 367 - theorem
OAI.MatrixMultiplication.AuxiliarySeparation.TensorSemiring.mul_monoline 382 - theorem
OAI.MatrixMultiplication.AuxiliarySeparation.TensorSemiring.add_monoline 390 - theorem
OAI.MatrixMultiplication.AuxiliarySeparation.TensorSemiring.zero_leline 399Source documentation
Every tensor class is nonnegative in the restriction order.
theorem zero_le (T : TensorClass) : 0 ≤ T := by …
Mentions: OAI.MatrixMultiplication.AuxiliarySeparation.TensorSemiring.TensorClass
- instance
OAI.MatrixMultiplication.AuxiliarySeparation.TensorSemiring.(instance at line 405)line 405 - instance
OAI.MatrixMultiplication.AuxiliarySeparation.TensorSemiring.(instance at line 409)line 409 - instance
OAI.MatrixMultiplication.AuxiliarySeparation.TensorSemiring.(instance at line 412)line 412 - instance
OAI.MatrixMultiplication.AuxiliarySeparation.TensorSemiring.(instance at line 415)line 415 - def
OAI.MatrixMultiplication.AuxiliarySeparation.TensorSemiring.rankline 425Source documentation
Exact rank descends to mutual-restriction classes.
def rank : TensorClass → ℕ := Quotient.lift (fun T : FiniteTensor => exactRank T.coeff) …
Mentions: OAI.MatrixMultiplication.AuxiliarySeparation.TensorSemiring.TensorClass, OAI.MatrixMultiplication.AuxiliarySeparation.TensorSemiring.FiniteTensor, OAI.MatrixMultiplication.AuxiliarySeparation.exactRank
- theorem
OAI.MatrixMultiplication.AuxiliarySeparation.TensorSemiring.rank_tensorClassline 430 - theorem
OAI.MatrixMultiplication.AuxiliarySeparation.TensorSemiring.rank_classOfline 433 - theorem
OAI.MatrixMultiplication.AuxiliarySeparation.TensorSemiring.rank_monoline 437 - theorem
OAI.MatrixMultiplication.AuxiliarySeparation.TensorSemiring.rank_mul_leline 442 - def
OAI.MatrixMultiplication.AuxiliarySeparation.TensorSemiring.matrixClassline 451Source documentation
Square matrix multiplication as an element of the tensor semiring.
def matrixClass (n : ℕ) : TensorClass := classOf (Tensor.matrixMultiplication n n n)
Mentions: OAI.MatrixMultiplication.AuxiliarySeparation.TensorSemiring.TensorClass, OAI.MatrixMultiplication.AuxiliarySeparation.TensorSemiring.classOf
- theorem
OAI.MatrixMultiplication.AuxiliarySeparation.TensorSemiring.rank_matrixClassline 453 - theorem
OAI.MatrixMultiplication.AuxiliarySeparation.TensorSemiring.classOf_matrixCoefficients_equivline 456 - theorem
OAI.MatrixMultiplication.AuxiliarySeparation.TensorSemiring.matrixClass_mulline 465 - theorem
OAI.MatrixMultiplication.AuxiliarySeparation.TensorSemiring.matrixClass_oneline 479 - theorem
OAI.MatrixMultiplication.AuxiliarySeparation.TensorSemiring.matrixClass_powline 488 - theorem
OAI.MatrixMultiplication.AuxiliarySeparation.TensorSemiring.classOf_eq_zero_iffline 493 - instance
OAI.MatrixMultiplication.AuxiliarySeparation.TensorSemiring.(instance at line 503)line 503 - theorem
OAI.MatrixMultiplication.AuxiliarySeparation.TensorSemiring.one_le_classOf_of_ne_zeroline 512Source documentation
A nonzero tensor has a nonzero coefficient, which restricts to scalar multiplication.
theorem one_le_classOf_of_ne_zero {X Y Z : Type*} [Fintype X] [Fintype Y] [Fintype Z] {T : Tensor ℂ X Y Z} (hT : T ≠ 0) : 1 ≤ classOf T := by …Mentions: OAI.MatrixMultiplication.AuxiliarySeparation.TensorSemiring.classOf
- theorem
OAI.MatrixMultiplication.AuxiliarySeparation.TensorSemiring.one_le_of_ne_zeroline 530Source documentation
Every nonzero class dominates the multiplicative unit.
theorem one_le_of_ne_zero {T : TensorClass} (hT : T ≠ 0) : 1 ≤ T := by …Mentions: OAI.MatrixMultiplication.AuxiliarySeparation.TensorSemiring.TensorClass