
theorem
  for K be add-associative right_zeroed right_complementable associative
  well-unital distributive non empty doubleLoopStr for V,W be add-associative
right_zeroed right_complementable vector-distributive scalar-distributive
scalar-associative scalar-unital non empty ModuleStr over K for
  v,u be Vector of V, w,t be Vector of W, a,b be Element of K for f be
bilinear-Form of V,W holds f.(v+a*u,w+b*t) = f.(v,w) + b*f.(v,t) + (a*f.(u,w) +
  a*(b*f.(u,t)))
proof
  let K be add-associative right_zeroed right_complementable associative
  well-unital distributive non empty doubleLoopStr;
  let V,W be add-associative right_zeroed right_complementable
  vector-distributive scalar-distributive scalar-associative scalar-unital
  non empty ModuleStr over K, v,w be Vector of V, y,z be Vector of W, a,b be
  Element of K;
  let f be bilinear-Form of V,W;
  set v1 = f.(v,y), v3 = f.(v,z), v4 = f.(w,y), v5 = f.(w,z);
  thus f.(v+a*w,y+b*z) = v1 +f.(v,b*z) + (f.(a*w,y) +f.(a*w,b*z)) by Th28
    .= v1 +b*v3 + (f.(a*w,y) +f.(a*w,b*z)) by Th32
    .= v1 + b*v3 + (a*v4 + f.(a*w,b*z)) by Th31
    .= v1 + b*v3 + (a*v4 + a*f.(w,b*z)) by Th31
    .= v1 + b*v3 + (a*v4 + a*(b*v5)) by Th32;
end;
