sig
type t
type matching = Matching.t
val empty : Matching.t
val debug_print : Format.formatter -> Matching.t -> unit
val get : Agent.t * int -> Matching.t -> int
val reconstruct_renaming :
Pattern.Env.t -> Edges.t -> Pattern.id -> int -> Renaming.t
val reconstruct :
Pattern.Env.t ->
Edges.t -> Matching.t -> int -> Pattern.id -> int -> Matching.t option
val add_cc : Matching.t -> int -> Renaming.t -> Matching.t option
val is_root_of : Pattern.Env.t -> Edges.t -> Agent.t -> Pattern.id -> bool
val roots_of : Pattern.Env.t -> Edges.t -> Pattern.id -> IntCollection.t
val elements_with_types :
Pattern.Env.t -> Pattern.id array -> Matching.t -> Agent.t list array
type cache
val empty_cache : Matching.cache
val observables_from_agent :
Pattern.Env.t ->
Edges.t ->
((Pattern.id * (int * int)) list * Operator.DepSet.t) * Matching.cache ->
Agent.t ->
((Pattern.id * (int * int)) list * Operator.DepSet.t) * Matching.cache
val observables_from_free :
Pattern.Env.t ->
Edges.t ->
((Pattern.id * (int * int)) list * Operator.DepSet.t) * Matching.cache ->
Agent.t ->
int ->
((Pattern.id * (int * int)) list * Operator.DepSet.t) * Matching.cache
val observables_from_internal :
Pattern.Env.t ->
Edges.t ->
((Pattern.id * (int * int)) list * Operator.DepSet.t) * Matching.cache ->
Agent.t ->
int ->
int ->
((Pattern.id * (int * int)) list * Operator.DepSet.t) * Matching.cache
val observables_from_link :
Pattern.Env.t ->
Edges.t ->
((Pattern.id * (int * int)) list * Operator.DepSet.t) * Matching.cache ->
Agent.t ->
int ->
Agent.t ->
int ->
((Pattern.id * (int * int)) list * Operator.DepSet.t) * Matching.cache
module Agent :
sig
type t = Existing of Agent.t * int | Fresh of int * int
val rename : int -> Renaming.t -> Matching.Agent.t -> Matching.Agent.t
val concretize :
Matching.matching * int Mods.IntMap.t ->
Matching.Agent.t -> int * int
val get_type : Matching.Agent.t -> int
val get_id : Matching.Agent.t -> int
val same_connected_component :
Matching.Agent.t -> Matching.Agent.t -> bool
val is_fresh : Matching.Agent.t -> bool
val print :
?sigs:Signature.s -> Format.formatter -> Matching.Agent.t -> unit
val print_site :
?sigs:Signature.s ->
Matching.Agent.t -> Format.formatter -> int -> unit
val print_internal :
?sigs:Signature.s ->
Matching.Agent.t -> int -> Format.formatter -> int -> unit
val to_yojson : Matching.Agent.t -> Yojson.Basic.json
val of_yojson : Yojson.Basic.json -> Matching.Agent.t
end
end