intros.
simpl.
rewrite (space_denote_permute _ _ H).
trivial.
Qed.

(* need this bogus "exorcize_e" lemma, because doing it in-line, in the obvious way using case_eq or (remember; destruct) makes the Qed take forever. *)
Lemma exorcize_e:
forall e pnatoms sigma0 e0 e1 sigma nextv cl,
exorcize e pnatoms sigma0 (Lseg e0 e1 :: sigma) nextv = Some cl ->
(entailment_denote
(Entailment (Assertion pnatoms (rev (Lseg e0 e1 :: sigma0) ++ sigma))
(Assertion [Equ e e0] (rev (Lseg e0 e1 :: sigma0) ++ sigma)))
/\ (exists cl',
exorcize e (Equ e0 e1 :: pnatoms) (Lseg e0 e1 :: sigma0) sigma nextv = Some cl' /\
cl = (Assertion pnatoms
(Next e (Var nextv) :: Lseg (Var nextv) e1 :: rev sigma0 ++ sigma)) :: cl'))
\/ exorcize e pnatoms (Lseg e0 e1 :: sigma0) sigma nextv = Some cl.