fact: Fixpoint binomial_rec (n m : nat) (pn pm : bool) : int := match m, pm with | 0%N, true => 1 | _, false => 0 | m'.+1, true => let fix auxm n0 pn0 := match n0, pn0 with | 0%N, true => 0 | n0'.+1, true => binomial_rec n0' m' pn0 pm + auxm n0' pn0 | n0'.+1, false => auxm n0' pn0 - binomial_rec n0 m' pn0 pm | 0%N, false => - binomial_rec n0 m' pn0 pm end in auxm n pn end.
imports: mathcomp(all_ssreflect all_algebra) tactics