proposition: Lemma addn_snum_subproof (xnz ynz : nullity) (xr yr : reality) (x : {compare 0 & xnz & xr}) (y : {compare 0 & ynz & yr}) (rnz := add_nonzero_subdef xnz ynz xr yr) (rrl := add_reality_subdef xnz ynz xr yr) : Signed.spec 0 rnz rrl (x%:num + y%:num).
proof: Proof. rewrite {}/rnz {}/rrl; apply/andP; split; by move: xr yr xnz ynz x y => [[[]|]|] [[[]|]|] [] []//= [[|x]//= _] [[|y]]. Qed.
imports: HB(structures) Coq(ssreflect ssrfun ssrbool) mathcomp(ssrnat eqtype choice order ssralg ssrnum ssrint) mathcomp(mathcomp_extra)