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

Lemma exorcize_sound:
forall e pnatoms sigma nextv nextv2
(FRESHe: fresh freshmax_expr e nextv)
(LT: Ident.lt nextv nextv2),
(fresh freshmax_assertion (Assertion pnatoms sigma) nextv) ->
forall cl,
(exorcize e pnatoms nil sigma nextv) = Some cl ->
(assertion_denote (Assertion pnatoms sigma)
|-- fold_right (fun P => orp (existsv nextv (assertion_denote P))) FF cl) /\
(forall Q,
In Q cl ->
match Q with
|Assertion _ (Next e0 _ :: _) => e=e0
| _ => False
end /\
fresh freshmax_assertion Q nextv2).