let for_all s p x =
  let rec loop y =
    p y &&
    try
      Set.for_all loop (Map.find y s.inv)
    with
        Not_found -> true
  in
  let (y, _) = find s x in
    loop y