 reserve x,y,z for object,
   i,j,k,l,n,m for Nat,
   D,E for non empty set;
 reserve M for Matrix of D;
 reserve L for Matrix of E;
 reserve k,t,i,j,m,n for Nat,
   D for non empty set;
 reserve V for free Z_Module;
 reserve a for Element of INT.Ring,
   W for Element of V;
 reserve KL1,KL2,KL3 for Linear_Combination of V,
   X for Subset of V;
 reserve V for finite-rank free Z_Module,
   W for Element of V;
 reserve KL1,KL2,KL3 for Linear_Combination of V,
   X for Subset of V;
 reserve s for FinSequence,
   V1,V2,V3 for finite-rank free Z_Module,
   f,f1,f2 for Function of V1,V2,
   g for Function of V2,V3,
   b1 for OrdBasis of V1,
   b2 for OrdBasis of V2,
   b3 for OrdBasis of V3,
   v1,v2 for Vector of V2,
   v,w for Element of V1;
 reserve p2,F for FinSequence of V1,
   p1,d for FinSequence of INT.Ring,
   KL for Linear_Combination of V1;

theorem LMThMBF1X:
  for V1, V2 being finite-rank free Z_Module,
  b2 being OrdBasis of V2, b3 being OrdBasis of V2,
  f being bilinear-Form of V1, V2,
  v1 being Vector of V1,
  v2 being Vector of V2,
  X, Y being FinSequence of INT.Ring
  st len X = len b2 & len Y = len b2 &
  ( for k being Nat st k in Seg len b2 holds Y.k = f.(v1, b2/.k)) &
  X = (v2|-- b2)
  holds Y "*" X = f.(v1, v2)
  proof
    let V1, V2 be finite-rank free Z_Module,
    b2 be OrdBasis of V2, b3 be OrdBasis of V2,
    f be bilinear-Form of V1, V2,
    v1 be Vector of V1,
    v2 be Vector of V2,
    X, Y be FinSequence of INT.Ring;
    assume that
    A1: len X = len b2 and
    A2: len Y = len b2 and
    A3:( for k being Nat st k in Seg len b2 holds Y.k = f.(v1, b2/.k)) and
    A4: X = (v2|-- b2);
    set x = (v2|-- b2);
    P2: for k being Nat st k in Seg len x
    holds Y.k = (FunctionalFAF(f,v1)).(b2/.k)
    proof
      let k be Nat;
      assume k in Seg len x;
      then Y.k = f.(v1, b2/.k) by A1,A3,A4;
      hence Y.k = (FunctionalFAF(f,v1)).(b2/.k) by BLTh8;
    end;
    thus Y "*" X = X "*" Y by FVSUM_1:90
    .= (FunctionalFAF(f,v1)).(Sum lmlt(v2|--b2,b2)) by LMThMBF1X0,A1,A2,A4,P2
    .= f.(v1, Sum lmlt(v2|--b2,b2)) by BLTh8
    .= f.(v1, v2) by Th35;
  end;
