proposition: Lemma nat_to_B_le x y: x <=y <-> nat_to_B x <=c nat_to_B y.
proof: Proof. split. move /subnKC => h; move: (nat_to_B_sum x (y - x)); rewrite h => ->. apply: csum_M0le; apply: CS_nat; apply: nat_to_B_Nat. move/cdiff_pr. set z := (nat_to_B y -c nat_to_B x). have zb: natp z by apply: NS_diff; apply: nat_to_B_Nat. have [u ->]:= (nat_to_B_surjective zb). rewrite - nat_to_B_sum => /nat_to_B_injective <-. apply:leq_addr. Qed.
imports: mathcomp(ssreflect ssrfun ssrbool eqtype ssrnat)