Module Matching

module Matching: sig .. end
Injection from a pattern in the mixture

type t 
type matching = t 
val empty : t
val debug_print : Format.formatter -> t -> unit
val get : Agent.t * int -> t -> int
val reconstruct_renaming : Pattern.Env.t -> Edges.t -> Pattern.id -> int -> Renaming.t
reconstruct_renaming domain graph cc root
val reconstruct : Pattern.Env.t ->
Edges.t -> t -> int -> Pattern.id -> int -> t option
reconstruct domain graph matching_of_previous_cc cc_id_in_rule cc root
val add_cc : t -> int -> Renaming.t -> 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 -> t -> Agent.t list array
type cache 
val empty_cache : cache
val observables_from_agent : Pattern.Env.t ->
Edges.t ->
((Pattern.id * (int * int)) list * Operator.DepSet.t) * cache ->
Agent.t ->
((Pattern.id * (int * int)) list * Operator.DepSet.t) * cache
observables_from_free domain graph sort agent the int * int in the return list and the following ones is a Instantiation.concrete
val observables_from_free : Pattern.Env.t ->
Edges.t ->
((Pattern.id * (int * int)) list * Operator.DepSet.t) * cache ->
Agent.t ->
int -> ((Pattern.id * (int * int)) list * Operator.DepSet.t) * cache
observables_from_free domain graph sort agent site
val observables_from_internal : Pattern.Env.t ->
Edges.t ->
((Pattern.id * (int * int)) list * Operator.DepSet.t) * cache ->
Agent.t ->
int ->
int -> ((Pattern.id * (int * int)) list * Operator.DepSet.t) * cache
observables_from_internal domain graph sort agent site internal_state
val observables_from_link : Pattern.Env.t ->
Edges.t ->
((Pattern.id * (int * int)) list * Operator.DepSet.t) * cache ->
Agent.t ->
int ->
Agent.t ->
int -> ((Pattern.id * (int * int)) list * Operator.DepSet.t) * cache
observables_from_link domain graph sort ag site sort' ag' site'
module Agent: sig .. end