reserve FS for non empty doubleLoopStr;
reserve F for Field;
reserve R for Abelian add-associative right_zeroed right_complementable non
  empty addLoopStr,
  x, y, z for Scalar of R;
reserve SF for Skew-Field,
  x, y, z for Scalar of SF;
reserve R, R1, R2 for Ring;
reserve R for Abelian add-associative right_zeroed right_complementable
  associative well-unital right_unital distributive non empty doubleLoopStr,
  F for non degenerated almost_left_invertible Ring,
  x for Scalar of F,
  V for add-associative right_zeroed right_complementable vector-distributive
  scalar-distributive scalar-associative scalar-unital
   non empty
  ModuleStr over F,
  v for Vector of V;
reserve V for add-associative right_zeroed right_complementable RightMod-like
  non empty RightModStr over R;
reserve x for Scalar of R;
reserve v,w for Vector of V;
reserve F for non degenerated almost_left_invertible Ring;
reserve x for Scalar of F;
reserve V for add-associative right_zeroed right_complementable RightMod-like
  non empty RightModStr over F;
reserve v for Vector of V;

theorem
  v*x = 0.V iff x = 0.F or v = 0.V
proof
  v*x = 0.V implies x = 0.F or v = 0.V
  proof
    assume v*x = 0.V;
    then
A1: v*(x*x") = (0.V)*x" by Def8
      .= 0.V by Th32;
    assume x<>(0.F);
    then 0.V = v*(1_F) by A1,Th9;
    hence thesis by Def8;
  end;
  hence thesis by Th32;
end;
