let find s x = 
  match x with
    | App _ -> x
    | _ -> (try fst(Map.find x s) with Not_found -> x)