let local_scope frame vars scope p =
match scope with
| Mcfg.SC_Block_in | Mcfg.SC_Function_in ->
notexists_vars frame vars
(alloc_vars frame vars (fresh_vars frame vars p))
| Mcfg.SC_Function_frame-> (* nothing to do *) p
| Mcfg.SC_Block_out | Mcfg.SC_Function_out ->
fresh_vars frame vars (free_vars frame vars p)
| Mcfg.SC_Global ->
let (_,a_h) = varmem_at frame Here in
if D.has_vars [a_h] p
then F.p_implies (D.p_app1 "global" (F.var a_h)) p
else p