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