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 sn_red_sn : forall (e : env) (a b : term), R_rt R e a b -> sn e a -> sn e b.