module Subst: sig end
type t = (Term.trm * Term.trm) list
val pp : t Pretty.printer
val empty : t
val fuse : Term.apply -> Term.trm * Term.trm -> t -> t
Parameters: |
|
val compose : Term.apply -> Term.trm * Term.trm -> t -> t
Parameters: |
|
val lookup : t -> Term.trm -> Term.trm
val invlookup : t -> (Term.trm -> bool) -> Term.trm
val apply : Term.map ->
((Term.trm * Term.trm) * 'a) list -> Term.trm -> Term.trm * 'a list
val fold : (Term.trm * Term.trm -> 'a -> 'a) -> t -> 'a -> 'a