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

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