sig
  module Domain : InvGenDomain.Domain
  type graph
  val mk : InvGenGraph.term -> InvGenGraph.set -> InvGenGraph.Graph.graph
  val has_svars : InvGenGraph.Graph.graph -> bool
  val mine :
    bool ->
    bool ->
    Analysis.param ->
    TransSys.t ->
    (TransSys.t -> unit) ->
    (TransSys.t * InvGenGraph.Graph.graph * InvGenGraph.set * InvGenGraph.set)
    list
  val clone : InvGenGraph.Graph.graph -> InvGenGraph.Graph.graph
  val term_count : InvGenGraph.Graph.graph -> int
  val class_count : InvGenGraph.Graph.graph -> int
  val is_stale : InvGenGraph.Graph.graph -> bool
  val drop_class_member :
    InvGenGraph.Graph.graph -> InvGenGraph.term -> InvGenGraph.term -> unit
  val fmt_graph_dot : Format.formatter -> InvGenGraph.Graph.graph -> unit
  val fmt_graph_classes_dot :
    Format.formatter -> InvGenGraph.Graph.graph -> unit
  val check_graph : InvGenGraph.Graph.graph -> bool
  val terms_of :
    InvGenGraph.Graph.graph ->
    (InvGenGraph.term -> bool) -> InvGenGraph.term list
  val equalities_of :
    InvGenGraph.Graph.graph ->
    (InvGenGraph.term -> bool) ->
    (InvGenGraph.term * (InvGenGraph.term * InvGenGraph.term)) list
  val relations_of :
    InvGenGraph.Graph.graph ->
    (InvGenGraph.term * unit) list ->
    (InvGenGraph.term -> bool) -> (InvGenGraph.term * unit) list
  val stabilize :
    InvGenGraph.Graph.graph ->
    TransSys.t -> (InvGenGraph.term -> bool) -> Lsd.base -> unit
  val step_stabilize :
    bool ->
    InvGenGraph.Graph.graph ->
    TransSys.t ->
    (InvGenGraph.term -> bool) ->
    Lsd.step -> ((Term.t * Certificate.t) list -> unit) -> Term.t list
end