simple induction args; simpl in |- *; intros; auto with arith pts.
apply whnf_bd_head_normal; auto with arith pts.
apply H; intros.
simpl in |- *; auto with arith pts.
discriminate.
Qed.
Let f1 (a : approx) :=
match a with
| (e, (t, args)) => existS (fun _ => value) (e, app_list args t) (e, t)
end.
Definition whnf_bd_ord (x y : approx) :=
lexprod value (fun _ : value => value) (R_exp beta_delta)
(fun _ : value => subterm) (f1 x) (f1 y).

(* Specifications: *)
Lemma bd_app_list_ctxt :
forall (l : list term) (e : env) (u v : term),
ctxt beta_delta e u v -> ctxt beta_delta e (app_list l u) (app_list l v).