let local_scope m vars scope p =
    match scope with
      | Mcfg.SC_Function_frame -> p
      | Mcfg.SC_Block_in | Mcfg.SC_Function_in ->
          notexists_vars m vars (alloc_vars m vars p)
      | Mcfg.SC_Block_out | Mcfg.SC_Function_out  ->
          free_vars m vars p
      | Mcfg.SC_Global ->
          if L.has_context_vars [m.x_alloc] p
          then F.p_implies (F.p_app1 "global" m.alloc) p
          else p