Section ListRelations.
Variable (X : Type) (R: X -> X -> Prop).
Inductive lstep: list X -> list X -> Prop :=
| stepHead s s' A: R s s' -> lstep (s :: A) (s' :: A)
| stepTail s A A': lstep A A' -> lstep (s :: A) (s :: A').
Hint Constructors lstep : core.
Global Instance lsteps_cons :
Proper (star R ++> star lstep ++> star lstep) cons.
Hint Resolve confluence_lstep : core.

Lemma normal_lstep_in A:
Normal lstep A -> forall x, In x A  -> Normal R x.