sidekick/src/core/gensym.mli

19 lines
454 B
OCaml

(** Fresh symbol generation *)
open Sidekick_core_logic
type term = Term.t
type ty = Term.t
type t
(** Fresh symbol generator.
The theory needs to be able to create new terms with fresh names,
to be used as placeholders for complex formulas during Tseitin
encoding. *)
val create : Term.store -> t
(** New (stateful) generator instance. *)
val fresh_term : t -> pre:string -> ty -> term
(** Make a fresh term of the given type *)