sig
  type ti = Fol.predicate
  type t = (int * int, ti) Hashtbl.t
  val create : int -> ('a, 'b) Hashtbl.t
  val edge_key : CFG.E.t -> int * int
  val find : (int * int, 'a) Hashtbl.t -> CFG.E.t -> 'a
  val replace : (int * int, 'a) Hashtbl.t -> CFG.E.t -> '-> unit
end