Section Beta_Whnf.
Fixpoint whnf_beta (t : term) : Prop :=
match t with
| App u v => whnf_beta u /\ (forall T t : term, u <> Abs T t)
| _ => True
end.
Hint Unfold whnf_beta: pts.

(* Specifications: *)
Lemma beta_red_whnf :
forall (e : env) (t u : term),
red beta e t u -> whnf_beta t -> whnf_beta u.