simple induction d; simpl in |- *; auto. intros t1 H1 t2 H2 H.
simpl in |- *. elim H; intro H0.
cut (leavemult t1 = 0). intro H3. rewrite H3; simpl in |- *; auto. auto.
cut (leavemult t2 = 0). intro H3. rewrite H3; simpl in |- *.
symmetry  in |- *; apply mult_n_O. auto.
Qed.
(* A  proof of (t:nat_tree)(SPECIF t) which uses the preceding lemma *)
Let subtree_ersatz (t' t : nat_tree) := Has_Zero t' -> Has_Zero t.
Let kappa (t t' : nat_tree) := forall n' : nat, n' = leavemult t' -> SPECIF t.

(* Specifications: *)
Theorem cpsalgo : forall t : nat_tree, SPECIF t.
intro.