for subspaces over a field
ProvedQLLL.TensorProduct.range_mapIncl_eq_infLet be a field and let be vector spaces over . For subspaces and write for the subspace of spanned by the pure tensors with , . In Lean this subspace is Mathlib's LinearMap.range (TensorProduct.mapIncl A B), the image of the map induced by the two inclusions. For every subspace and ,
This reduces intersections of tensor products of subspaces to the one-sided subspaces and , and is the main step towards the factorwise intersection formula QLLL.TensorProduct.range_mapIncl_inf_range_mapIncl. It is also used to identify extended constraints in the tensor-product form of the -QSAT corollary.
Formalization Note No finite-dimensionality is assumed. On the platform the name carries a QLLL. prefix so that it cannot clash with Mathlib if an equivalent lemma is added there later.
import Mathlib
open TensorProduct LinearMap Function
variable {K V W : Type*} [Field K]
[AddCommGroup V] [Module K V] [AddCommGroup W] [Module K W]
open _root_.TensorProducttheorem QLLL.TensorProduct.range_mapIncl_eq_inf (A : Submodule K V) (B : Submodule K W) :
LinearMap.range (TensorProduct.mapIncl A B)
= LinearMap.range (TensorProduct.mapIncl A (⊤ : Submodule K W))
⊓ LinearMap.range (TensorProduct.mapIncl (⊤ : Submodule K V) B) := by sorry