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 red_normal : forall (e : env) (u v : term), R_rt R e u v -> normal e u -> u = v.