proposition: Lemma BZsum_mm x y: inc x BZms -> inc y BZms -> x +z y = BZm_of_nat ((BZ_val x) +c (BZ_val y)).
proof: Proof. move => xm ym. have pa: (~ inc x BZp) by move => pa; case: (BZ_di_neg_pos xm pa). have pb: (~ inc y BZp) by move => pb; case: (BZ_di_neg_pos ym pb). have pc: ~ (inc x BZp /\ inc y BZp) by case. by rewrite BZsumE /BZsum_v2 (Y_false pc) (Y_true (conj pa pb)). Qed.
imports: mathcomp(ssreflect ssrfun ssrbool eqtype ssrnat)