simple induction 1; simpl in |- *; intros; auto with arith pts.
generalize H1.
elim H0; simpl in |- *; auto with arith pts.
simple induction 1; simpl in |- *; intros.
inversion_clear H3.
elim H5 with T M; auto with arith pts.
intros.
inversion_clear H4.
split; auto with arith pts.
red in |- *; intros.
generalize H5.
inversion_clear H4 in H2.
generalize H6.
inversion_clear H2; simpl in |- *; intros.
generalize H7.
inversion_clear H4; simpl in |- *; intros.
inversion_clear H4.
elim H9 with T0 M; auto with arith pts.
elim H2 with M t0; auto with arith pts.
elim H2 with T M; auto with arith pts.
Qed.

(* Specifications: *)
Lemma whnf_head_normal :
forall t : term, whnf_beta t -> forall e : env, head_normal beta e t.