OAI/LinearAlgebra/MatrixMultiplication/AuxiliarySeparation/Tensor/Characters.lean
17 declarations, 0 contain sorry, 0 declared as axioms
Concrete tensor characters and the tensor semiring
The coefficient-level character interface and monotone real-valued semiring
homomorphisms on mutual-restriction classes describe the same valuations.
The map classOf uses finite natural-number coordinate presentations, so
the construction applies to all finite coordinate types in the character
interface.
- def
OAI.MatrixMultiplication.AuxiliarySeparation.Character.valueOnTensorClassline 30Source documentation
A character has a well-defined value on mutual-restriction classes.
def valueOnTensorClass (χ : Character) : TensorClass → ℝ := …
Mentions: OAI.MatrixMultiplication.AuxiliarySeparation.Character
- theorem
OAI.MatrixMultiplication.AuxiliarySeparation.Character.valueOnTensorClass_tensorClassline 41 - theorem
OAI.MatrixMultiplication.AuxiliarySeparation.Character.valueOnTensorClass_classOfline 45Source documentation
Passing to a finite natural-coordinate presentation preserves the value.
@[simp] theorem valueOnTensorClass_classOf (χ : Character) {X Y Z : Type} [Fintype X] [Fintype Y] [Fintype Z] (T : Tensor ℂ X Y Z) : χ.valueOnTensorClass (classOf T) = χ.value T := …Mentions: OAI.MatrixMultiplication.AuxiliarySeparation.Character
- theorem
OAI.MatrixMultiplication.AuxiliarySeparation.Character.valueOnTensorClass_monotoneline 51Source documentation
Restriction monotonicity descends to the quotient order.
theorem valueOnTensorClass_monotone (χ : Character) : Monotone χ.valueOnTensorClass := by …
Mentions: OAI.MatrixMultiplication.AuxiliarySeparation.Character
- theorem
OAI.MatrixMultiplication.AuxiliarySeparation.Character.valueOnTensorClass_zeroline 61 - theorem
OAI.MatrixMultiplication.AuxiliarySeparation.Character.valueOnTensorClass_oneline 66 - theorem
OAI.MatrixMultiplication.AuxiliarySeparation.Character.valueOnTensorClass_mulline 72Source documentation
Multiplicativity is unchanged on passing to tensor classes.
theorem valueOnTensorClass_mul (χ : Character) (T S : TensorClass) : χ.valueOnTensorClass (T * S) = χ.valueOnTensorClass T * χ.valueOnTensorClass S := by …Mentions: OAI.MatrixMultiplication.AuxiliarySeparation.Character
- theorem
OAI.MatrixMultiplication.AuxiliarySeparation.Character.valueOnTensorClass_addline 83Source documentation
Additivity is unchanged on passing to tensor classes.
theorem valueOnTensorClass_add (χ : Character) (T S : TensorClass) : χ.valueOnTensorClass (T + S) = χ.valueOnTensorClass T + χ.valueOnTensorClass S := by …Mentions: OAI.MatrixMultiplication.AuxiliarySeparation.Character
- def
OAI.MatrixMultiplication.AuxiliarySeparation.Character.toTensorClassHomline 94Source documentation
A coefficient-level character descends to a normalized semiring homomorphism.
def toTensorClassHom (χ : Character) : TensorClass →+* ℝ where …
Mentions: OAI.MatrixMultiplication.AuxiliarySeparation.Character
- theorem
OAI.MatrixMultiplication.AuxiliarySeparation.Character.toTensorClassHom_monotoneline 101 - theorem
OAI.MatrixMultiplication.AuxiliarySeparation.Character.toTensorClassHom_classOfline 104 - def
OAI.MatrixMultiplication.AuxiliarySeparation.Character.ofTensorClassHomline 111Source documentation
A monotone semiring homomorphism on tensor classes gives a character on all finite coefficient tensors. Normalization follows from preservation of
0and1.def ofTensorClassHom (φ : TensorClass →+* ℝ) (hφ : Monotone φ) : Character where …
Mentions: OAI.MatrixMultiplication.AuxiliarySeparation.Character
- theorem
OAI.MatrixMultiplication.AuxiliarySeparation.Character.ofTensorClassHom_valueline 134 - theorem
OAI.MatrixMultiplication.AuxiliarySeparation.Character.extline 139Source documentation
Equality of all coefficient-level values determines a character.
@[ext] theorem ext {χ ψ : Character} (h : ∀ {X Y Z : Type} [Fintype X] [Fintype Y] [Fintype Z] (T : Tensor ℂ X Y Z), χ.value T = ψ.value T) : χ = ψ := by …Mentions: OAI.MatrixMultiplication.AuxiliarySeparation.Character
- theorem
OAI.MatrixMultiplication.AuxiliarySeparation.Character.ofTensorClassHom_toTensorClassHomline 149Source documentation
Descending and then lifting recovers the original coefficient-level character.
@[simp] theorem ofTensorClassHom_toTensorClassHom (χ : Character) : ofTensorClassHom χ.toTensorClassHom χ.toTensorClassHom_monotone = χ := by …Mentions: OAI.MatrixMultiplication.AuxiliarySeparation.Character, OAI.MatrixMultiplication.AuxiliarySeparation.Character.ofTensorClassHom
- theorem
OAI.MatrixMultiplication.AuxiliarySeparation.Character.toTensorClassHom_ofTensorClassHomline 156Source documentation
Lifting and then descending recovers the original semiring homomorphism.
@[simp] theorem toTensorClassHom_ofTensorClassHom (φ : TensorClass →+* ℝ) (hφ : Monotone φ) : (ofTensorClassHom φ hφ).toTensorClassHom = φ := by …Mentions: OAI.MatrixMultiplication.AuxiliarySeparation.Character.ofTensorClassHom, OAI.MatrixMultiplication.AuxiliarySeparation.Character.toTensorClassHom
- def
OAI.MatrixMultiplication.AuxiliarySeparation.Character.tensorClassHomEquivline 166Source documentation
Concrete characters are exactly monotone real-valued tensor semiring homomorphisms.
def tensorClassHomEquiv : Character ≃ {φ : TensorClass →+* ℝ // Monotone φ} where …Mentions: OAI.MatrixMultiplication.AuxiliarySeparation.Character