Module Logtk__ID
Unique Identifiers
type t= private{id : int;name : string;mutable payload : exn list;Use
exnas an open type for user-defined payload}
val make : string -> tMakes a fresh ID
val makef : ('a, Format.formatter, unit, t) Pervasives.format4 -> 'aval copy : t -> tCopy with a new ID
val id : t -> intval name : t -> stringval payload : t -> exn listval payload_find : f:(exn -> 'a option) -> t -> 'a optionval payload_pred : f:(exn -> bool) -> t -> boolval set_payload : ?can_erase:(exn -> bool) -> t -> exn -> unitSet 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.printerPrints the ID with its internal number
val pp_fullc : t CCFormat.printerPrints the ID with its internal number colored in gray (better for readability). Only use for debugging.
val pp_tstp : t CCFormat.printerval pp_zf : t CCFormat.printerval gensym : unit -> tGenerate a new ID with a new, unique name
exceptionAttr_skolem of skolem_kind * intexceptionAttr_distinct
val as_infix : t -> string optionval is_infix : t -> boolval as_prefix : t -> string optionval is_prefix : t -> boolval as_parameter : t -> int optionval is_parameter : t -> boolval is_skolem : t -> boolis_skolem idreturnstrueiffidis a Skolem symbol
val as_skolem : t -> skolem_kind optionval num_mandatory_args : t -> intnumber of mandatory arguments of a skolem constant or 0 otherwise
val is_distinct_object : t -> boolwhether the identifier is a distinct object (as defined in TPTP syntax)