proposition: Lemma mule_lt0 x y : (x * y < 0) = [&& x != 0, y != 0 & (x < 0) (+) (y < 0)].
proof: Proof. have [xlt0|xgt0|->] := ltgtP x 0; last by rewrite mul0e. by rewrite nmule_rlt0//= -leNgt lt_def. by rewrite pmule_rlt0//= !lt_neqAle andbA andbb. Qed.
imports: HB(structures) mathcomp(all_ssreflect all_algebra finmap) mathcomp(mathcomp_extra) signed