Functor Wto.Make

module Make: 
functor (Node : sig
type t 
val equal : t -> t -> bool
val hash : t -> int
val pretty : Stdlib.Format.formatter -> t -> unit
end-> sig .. end

This functor provides the partitioning algorithm constructing a WTO.

Parameters:
Node : sig type t val equal: t -> t -> bool val hash: t -> int val pretty: Format.formatter -> t -> unit end

type pref = Node.t -> Node.t -> int 

Partial order of preference for the choice of the head of a loop. pref current_head new_candidate must return < 0 if new_candidate is preferred to current_head. Use "(fun _ _ -> 0)" for no specific preference.

val partition : pref:pref ->
init:Node.t -> succs:(Node.t -> Node.t list) -> Node.t Wto.partition

Implements Bourdoncle "Efficient chaotic iteration strategies with widenings" algorithm to compute a WTO.

val pretty_partition : Stdlib.Format.formatter -> Node.t Wto.partition -> unit
val pretty_component : Stdlib.Format.formatter -> Node.t Wto.component -> unit
val equal_component : Node.t Wto.component -> Node.t Wto.component -> bool
val equal_partition : Node.t Wto.partition -> Node.t Wto.partition -> bool