Definition sn (e : env) (t : term) : Prop := Acc (transp term (R e)) t.Definition normal (e : env) (t : term) : Prop := forall u : term, ~ R e t u.Definition head_normal (e : env) (t : term) : Prop :=
    forall u : term, red R e t u -> normal e u.Definition confluent :=
    forall e : env, commut term (R e) (transp term (R e)).Definition church_rosser :=
    forall (e : env) (u v : term),
    R_rst R e u v ->
    ex2 (fun t : term => R_rt R e u t) (fun t : term => R_rt R e v t).

Lemma hn_red_hn : forall (e : env) (t u : term), head_normal e t -> red R e t u -> head_normal e u.