Fixpoint edelta (e : expr) :=
match e with
| nil => None
| (c,l) :: e1  =>
match has_delta c l e1 with
| None => edelta e1
| Some r => Some ((c,l), r) end
end.

Lemma edelta_in e :
match edelta e with None => True | Some (p,(p1,_)) =>
In p e /\ In p1 e end.