(* Lemma agree_except_sym: forall x s s', agree_except x s s' -> agree_except x s' s. *)

Axiom isolate_sound:
forall e P nextv nextv2 results
(LT: Ident.lt nextv nextv2),
isolate e P nextv = Some results ->
fresh freshmax_expr e nextv ->
fresh freshmax_assertion P nextv ->
assertion_denote P |--
fold_right (fun P => orp (existsv nextv (assertion_denote P))) FF results /\
forall Q, In Q results ->
match Q with
|Assertion _ (Next e0 _ :: _) => e=e0
| _ => False
end /\
fresh freshmax_assertion Q nextv2.