Module Logtk__ID
Unique Identifiers
type t
= private
{
id : int;
name : string;
mutable payload : exn list;
Use
exn
as an open type for user-defined payload}
val make : string -> t
Makes a fresh ID
val makef : ('a, Format.formatter, unit, t) Pervasives.format4 -> 'a
val copy : t -> t
Copy with a new ID
val id : t -> int
val name : t -> string
val payload : t -> exn list
val payload_find : f:(exn -> 'a option) -> t -> 'a option
val payload_pred : f:(exn -> bool) -> t -> bool
val set_payload : ?can_erase:(exn -> bool) -> t -> exn -> unit
Set given exception as payload.
- parameter can_erase
if provided, checks whether an existing value is to be replaced instead of adding a new entry
include Logtk.Interfaces.PRINT with type t := t
val pp_full : t CCFormat.printer
Prints the ID with its internal number
val pp_fullc : t CCFormat.printer
Prints the ID with its internal number colored in gray (better for readability). Only use for debugging.
val pp_tstp : t CCFormat.printer
val pp_zf : t CCFormat.printer
val gensym : unit -> t
Generate a new ID with a new, unique name
exception
Attr_skolem of skolem_kind * int
exception
Attr_distinct
val as_infix : t -> string option
val is_infix : t -> bool
val as_prefix : t -> string option
val is_prefix : t -> bool
val as_parameter : t -> int option
val is_parameter : t -> bool
val is_skolem : t -> bool
is_skolem id
returnstrue
iffid
is a Skolem symbol
val as_skolem : t -> skolem_kind option
val num_mandatory_args : t -> int
number of mandatory arguments of a skolem constant or 0 otherwise
val is_distinct_object : t -> bool
whether the identifier is a distinct object (as defined in TPTP syntax)