(*********************************************************************** ********************************************************************** **********************************************************************  BINOMIAL *)
Fixpoint binomial (a : nat) : nat -> nat :=
fun b : nat =>
match a, b with
| _, O => 1
| O, S b' => 0
| S a', S b' => binomial a' (S b') + binomial a' b'
end.

(* Specifications: *)
Lemma binomial_def1 : forall n : nat, binomial n 0 = 1.
Lemma binomial_def2 : forall n m : nat, n < m -> binomial n m = 0.
simple induction n; simpl in |- *; auto.