sig
type t
val num_of_site :
?agent_name:string -> string Locality.annot -> Signature.t -> int
val site_of_num : int -> Signature.t -> string
val fold : (int -> string -> 'a -> 'a) -> 'a -> Signature.t -> 'a
val num_of_internal_state :
int -> string Locality.annot -> Signature.t -> int
val internal_state_of_num : int -> int -> Signature.t -> string
val counter_of_site : int -> Signature.t -> (int * int) option
val has_counter : Signature.t -> bool
type s
val create :
counters:(string Locality.annot * string Locality.annot list) list ->
bool ->
(string Locality.annot *
(unit NamedDecls.t *
(string Locality.annot * string Locality.annot) list *
(int * int) option)
NamedDecls.t)
list -> Signature.s
val size : Signature.s -> int
val get : Signature.s -> int -> Signature.t
val arity : Signature.s -> int -> int
val max_arity : Signature.s -> int
val num_of_agent : string Locality.annot -> Signature.s -> int
val agent_of_num : int -> Signature.s -> string
val id_of_site :
string Locality.annot -> string Locality.annot -> Signature.s -> int
val id_of_internal_state :
string Locality.annot ->
string Locality.annot -> string Locality.annot -> Signature.s -> int
val internal_states_number : int -> int -> Signature.s -> int
val default_internal_state : int -> int -> Signature.s -> int option
val allowed_link : int -> int -> int -> int -> Signature.s -> bool
val print_agent : Signature.s -> Format.formatter -> int -> unit
val print_site : Signature.s -> int -> Format.formatter -> int -> unit
val print_internal_state :
Signature.s -> int -> int -> Format.formatter -> int -> unit
val print_site_internal_state :
Signature.s -> int -> int -> Format.formatter -> int option -> unit
val print_counter : Signature.s -> int -> Format.formatter -> int -> unit
val print : Format.formatter -> Signature.s -> unit
val to_json : Signature.s -> Yojson.Basic.json
val of_json : Yojson.Basic.json -> Signature.s
val is_counter_agent : Signature.s option -> int -> bool
val ports_if_counter_agent : Signature.s -> int -> (int * int) option
val site_is_counter : Signature.s -> int -> int -> bool
val incr_agent : Signature.s -> int * int * int * int
end