let restrict i x s =
try
let b = fst(Map.find x s.find) in
Trace.msg (to_string i) "Restrict" x Term.pp;
{find = Map.remove x s.find;
inv = Map.remove b s.inv;
use = Use.remove x b s.use}
with
Not_found -> s