sig
  type pattern = T.Fun.t Qed.Pattern.fpattern
  val pmatch : pattern -> T.term -> T.term array
  val pmatch_all : pattern list -> T.term list -> T.term array
  val instance : T.term array -> pattern -> T.term
end