package colibri2

  1. Overview
  2. Docs
type t

An InvertedPath is a way to go from one subterm of patterns to substitution of triggers. It allows to know which nodes merge can create new substitutions for a pattern and how to find them. Cf Efficient E-matching + modifications

include Colibri2_popop_lib.Popop_stdlib.Datatype with type t := t
include Colibri2_popop_lib.Popop_stdlib.OrderedHashedType with type t := t
val equal : t -> t -> bool
val hash_fold_t : t Base.Hash.folder
module S : Colibri2_popop_lib.Map_intf.Set with type 'a M.t = 'a M.t and type M.key = M.key
include Base.Hashtbl.Key.S with type t := t
val compare : t Base__Ppx_compare_lib.compare
val sexp_of_t : t -> Sexplib0.Sexp.t
val hash : t -> int

exec d acc substs n ip adds to acc new substitutions to the triggers that are obtained by the execution of the invertedpath

add_callback d pat callback wait for the pattern to be matched

val add_trigger : Colibri2_core.Egraph.wt -> Trigger.t -> unit

add_trigger d trigger wait for the trigger to be matched

val pp_ips : t HPP.t

The database of inverted path for each parent-parent pairs

val pc_ips : t HPC.t

The database of inverted path for each parent-child pairs

val pt_ips : t HPT.t

The database of inverted path for each parent-type, needed for variables present unique times

val pn_ips : t HPN.t

The database of inverted path for each parent-node pairs

OCaml

Innovation. Community. Security.