Fixpoint_graph.MakeSourceControl locations are also vertices in the graph. We provide to_int that uniquely identifies each node, as they will be used as keys in PatriciaTree.
include Fixpoint_wto.Graph
with module ControlLocation := ControlLocation
and type transition = G.transitionThe list of successors from each node.
val make :
G.Vertex.t ->
(G.Vertex.t -> (transition * G.Vertex.t) list) ->
ControlLocation.t * ControlLocation.t * intmake init succs traverses the exiting graph to creates a new graph suitable for wto iteration. It returns a triple input_node,first_node,count where
first_node corresponds to init in the original graph;input_node is a (pseudo-)node before first_node, which should not be part of the fixpoint computation, as it is used to hold the initial value for the fixpoint graphcount is the number of nodes in the graph.