package colibri2

  1. Overview
  2. Docs
Legend:
Library
Module
Module type
Parameter
Class
Class type

Pattern

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
exception Unconvertible
val of_term_exn : ?coercion:bool -> subst:Colibri2_core.Ground.Subst.t -> Colibri2_core.Expr.Term.t -> t

Singleton set with the empty substitution, can be used as initial value for the following function. Ground.Subst.empty should not be used since the functions will do nothing

match_ty substs ty pat match the ty on pat for each substitution of substs

match_term d substs n pat match the node n on the pattern pat for each substitution. Each return substitution corresponds to one given as input.

check_ty subst ty pat checks that the pattern pat substituted by subst is equal to ty

check_term d subst n pat checks the pattern pat substituted by subst is equal by congruence of d to n

check_term_exists d subst pat return nodes that are equal to the pattern pat substituted by the substitution subst

match_any_term d subst pat match the pattern pat to all the nodes of d for each substitution. Each return substitution corresponds to one given as input.

val get_pps : t -> t list -> PP.t list Colibri2_core.Expr.Term.Var.M.t

get_pps pat pats return for each variables the parent-parent pairs between position in pat and position in pat or pats

The set of ground terms sorted by their top function

The set of nodes sorted by their type. A node can have multiple types

find_existing_app d s f tyl nodes_args find existing application of f with one of the nodes as arguments

OCaml

Innovation. Community. Security.