Binary Kronecker multiplicativity of the tau-value
Provedmme_HasTauValueAtLeast_kron_of_each_strict_below_productMultiplicativity of the asymptotic tau-value under a two-factor Kronecker product.
Let and be order-three tensors over a field , let be a real exponent, and let be strict value endpoints, meaning that has tau-value at least for every and has tau-value at least for every .
Then the Kronecker product has tau-value at least for every .
This is the two-factor case of the standard fact that Coppersmith--Winograd values multiply under tensor products, in the strict-endpoint form the extraction arguments actually consume: one never has a value at the endpoint, only below it, and the conclusion is again an endpoint statement so the lemma composes with itself.
The platform already has the -factor version phrased through TensorObj.kronFin and a vector of
multiplicities (mme_HasTauValueAtLeast_kronFin_multiplicities_of_each_strict_below_product), but
the tensors that arise from the fine-to-coarse constituent restrictions of the fourth-power laser
method are literal binary products TensorObj.kron X Y, not kronFin expressions. The two differ
by trailing unit factors: kronFin 2 (fun i => (![X,Y] i).kronPow 1) unfolds to
kron (kron X 1) (kron (kron Y 1) 1). They are isomorphic, hence equal in the isomorphism
quotient TensorQ, so the value transports along mme_HasTauValueAtLeast_mono_restrict.
Together with mme_dwz_fourth_pair_factor_restrictions_to_coarse, which turns a pair of square
constituent restrictions into one fourth-power coarse-block restriction, this lemma is exactly the
step that converts a pair of square component values into a fourth-power block value.
import Definitions.Def_mme_tau_value open MME BigOperators universe u set_option autoImplicit false
theorem mme_HasTauValueAtLeast_kron_of_each_strict_below_product
{K : Type u} [Field K]
(X Y : TensorObj K 3) (tau eX eY : ℝ)
(heX : 0 < eX) (heY : 0 < eY)
(hX : ∀ V : ℝ, 0 ≤ V → V < eX → HasTauValueAtLeast X tau V)
(hY : ∀ V : ℝ, 0 ≤ V → V < eY → HasTauValueAtLeast Y tau V) :
∀ W : ℝ, 0 ≤ W → W < eX * eY →
HasTauValueAtLeast (TensorObj.kron X Y) tau W := by
sorry