let get_at_vars ~remove env label =
    let lname = Macros.logic_label_name label in
      Wp_parameters.debug ~level:3 "get_at_vars for label %s@." lname;
    let rec pop_all () =
      if remove then
        begin
          try let (v, e) = Hashtbl.find env.env_at lname in
            Wp_parameters.debug ~level:3 "get_at_vars : %a -> %a@."
              Why_output.pp_var v pp_exp e;
            Hashtbl.remove env.env_at lname;
            (v, e)::(pop_all ())
          with Not_found -> []
        end
      else Hashtbl.find_all  env.env_at lname
    in match pop_all () with
      | [] ->  raise Not_found
      | l -> l