Expand description
Low-level FFI bindings to the Vampire theorem prover.
This crate provides unsafe, raw bindings to the Vampire C API. It is intended
as an implementation detail of the vampire crate and is not meant to be used
directly.
§Usage
You probably want the vampire-prover crate instead.
The vampire crate provides a safe, ergonomic Rust API on top of these raw
bindings. This crate (vampire-sys) only provides the low-level unsafe
functions and types needed to interface with the Vampire C++ library.
§Building
This crate automatically builds the Vampire library from source using CMake during compilation. You need:
- CMake 3.10 or later
- A C++ compiler (GCC, Clang, or MSVC)
- Standard C++ library
§Thread Safety
The underlying Vampire library is not thread-safe. The vampire crate
handles this by protecting all calls with a global mutex. If you use this
crate directly, you must implement your own synchronization.
§Platform Support
This crate supports:
- Linux (links against libstdc++)
- macOS (links against libc++)
- Other platforms may work but are untested
§License
This FFI crate is dual-licensed under MIT OR Apache-2.0 (your choice).
The Vampire theorem prover library that this crate links to is licensed under the BSD 3-Clause License. Applications using this crate must comply with both the Rust bindings license and the Vampire BSD 3-Clause license.
Structs§
- max_
align_ t - vampire_
clause_ t - vampire_
formula_ t - vampire_
literal_ t - vampire_
problem_ t - vampire_
proof_ step_ t - A single step in a proof
- vampire_
term_ t - vampire_
unit_ t
Constants§
- __
bool_ true_ false_ are_ defined - false_
- true_
- vampire_
inference_ rule_ t_ ADD_ SORT_ FUNCTIONS - vampire_
inference_ rule_ t_ ADD_ SORT_ PREDICATES - vampire_
inference_ rule_ t_ ALASCA_ ABSTRACTION - vampire_
inference_ rule_ t_ ALASCA_ BWD_ DEMODULATION - vampire_
inference_ rule_ t_ ALASCA_ COHERENCE - vampire_
inference_ rule_ t_ ALASCA_ COHERENCE_ NORMALIZATION - vampire_
inference_ rule_ t_ ALASCA_ EQ_ FACTORING - vampire_
inference_ rule_ t_ ALASCA_ FLOOR_ BOUNDS - vampire_
inference_ rule_ t_ ALASCA_ FLOOR_ ELIMINATION - vampire_
inference_ rule_ t_ ALASCA_ FOURIER_ MOTZKIN - vampire_
inference_ rule_ t_ ALASCA_ FWD_ DEMODULATION - vampire_
inference_ rule_ t_ ALASCA_ INTEGER_ FOURIER_ MOTZKIN - vampire_
inference_ rule_ t_ ALASCA_ INTEGER_ TRANSFORMATION - vampire_
inference_ rule_ t_ ALASCA_ LITERAL_ FACTORING - vampire_
inference_ rule_ t_ ALASCA_ NORMALIZATION - vampire_
inference_ rule_ t_ ALASCA_ SUPERPOSITION - vampire_
inference_ rule_ t_ ALASCA_ TERM_ FACTORING - vampire_
inference_ rule_ t_ ALASCA_ VARIABLE_ ELIMINATION - vampire_
inference_ rule_ t_ ALASCA_ VIRAS_ QE - vampire_
inference_ rule_ t_ ANSWER_ LITERAL_ INJECTION - vampire_
inference_ rule_ t_ ANSWER_ LITERAL_ INPUT_ SKOLEMISATION - vampire_
inference_ rule_ t_ ANSWER_ LITERAL_ JOIN_ AS_ ITE - vampire_
inference_ rule_ t_ ANSWER_ LITERAL_ JOIN_ WITH_ CONSTRAINTS - vampire_
inference_ rule_ t_ ANSWER_ LITERAL_ REMOVAL - vampire_
inference_ rule_ t_ ANSWER_ LITERAL_ RESOLVER - vampire_
inference_ rule_ t_ ARG_ CONG - vampire_
inference_ rule_ t_ ARITHMETIC_ SUBTERM_ GENERALIZATION - vampire_
inference_ rule_ t_ AVATAR_ ASSERTION_ REINTRODUCTION - vampire_
inference_ rule_ t_ AVATAR_ COMPONENT - vampire_
inference_ rule_ t_ AVATAR_ CONTRADICTION_ CLAUSE - vampire_
inference_ rule_ t_ AVATAR_ DEFINITION - vampire_
inference_ rule_ t_ AVATAR_ REFUTATION - vampire_
inference_ rule_ t_ AVATAR_ REFUTATION_ SMT - vampire_
inference_ rule_ t_ AVATAR_ SPLIT_ CLAUSE - vampire_
inference_ rule_ t_ BACKWARD_ DEMODULATION - vampire_
inference_ rule_ t_ BACKWARD_ SUBSUMPTION_ DEMODULATION - vampire_
inference_ rule_ t_ BACKWARD_ SUBSUMPTION_ RESOLUTION - vampire_
inference_ rule_ t_ BINARY_ CONN_ ELIMINATION - vampire_
inference_ rule_ t_ BOOLEAN_ TERM_ ENCODING - vampire_
inference_ rule_ t_ BOOL_ SIMP - vampire_
inference_ rule_ t_ CANCELLATION - vampire_
inference_ rule_ t_ CASES_ SIMP - vampire_
inference_ rule_ t_ CLAIM_ DEFINITION - vampire_
inference_ rule_ t_ CLAUSIFY - vampire_
inference_ rule_ t_ CLOSURE - vampire_
inference_ rule_ t_ COLOR_ UNBLOCKING - vampire_
inference_ rule_ t_ CONDENSATION - vampire_
inference_ rule_ t_ CONSTRAINED_ FACTORING - vampire_
inference_ rule_ t_ CONSTRAINED_ RESOLUTION - vampire_
inference_ rule_ t_ CONSTRAINED_ SUPERPOSITION - vampire_
inference_ rule_ t_ DEFINITION_ FOLDING - vampire_
inference_ rule_ t_ DEFINITION_ UNFOLDING - vampire_
inference_ rule_ t_ DISTINCTNESS_ AXIOM - vampire_
inference_ rule_ t_ DISTINCT_ EQUALITY_ REMOVAL - vampire_
inference_ rule_ t_ ENNF - vampire_
inference_ rule_ t_ EQUALITY_ FACTORING - vampire_
inference_ rule_ t_ EQUALITY_ PROXY_ AXIO M1 - vampire_
inference_ rule_ t_ EQUALITY_ PROXY_ AXIO M2 - vampire_
inference_ rule_ t_ EQUALITY_ PROXY_ REPLACEMENT - vampire_
inference_ rule_ t_ EQUALITY_ RESOLUTION - vampire_
inference_ rule_ t_ EQUALITY_ RESOLUTION_ WITH_ DELETION - vampire_
inference_ rule_ t_ EQ_ TO_ DISEQ - vampire_
inference_ rule_ t_ EVALUATION - vampire_
inference_ rule_ t_ EXTENSIONALITY_ RESOLUTION - vampire_
inference_ rule_ t_ FACTORING - vampire_
inference_ rule_ t_ FLATTEN - vampire_
inference_ rule_ t_ FMB_ DEF_ INTRO - vampire_
inference_ rule_ t_ FMB_ FLATTENING - vampire_
inference_ rule_ t_ FMB_ FUNC_ DEF - vampire_
inference_ rule_ t_ FOOL_ AXIOM_ ALL_ IS_ TRUE_ OR_ FALSE - vampire_
inference_ rule_ t_ FOOL_ AXIOM_ TRUE_ NEQ_ FALSE - vampire_
inference_ rule_ t_ FOOL_ ELIMINATION - vampire_
inference_ rule_ t_ FOOL_ FORMULA_ DEFINITION - vampire_
inference_ rule_ t_ FOOL_ ITE_ DEFINITION - vampire_
inference_ rule_ t_ FOOL_ LET_ DEFINITION - vampire_
inference_ rule_ t_ FOOL_ MATCH_ DEFINITION - vampire_
inference_ rule_ t_ FOOL_ PARAMODULATION - vampire_
inference_ rule_ t_ FORMULIFY - vampire_
inference_ rule_ t_ FORWARD_ DEMODULATION - vampire_
inference_ rule_ t_ FORWARD_ LITERAL_ REWRITING - vampire_
inference_ rule_ t_ FORWARD_ SUBSUMPTION_ DEMODULATION - vampire_
inference_ rule_ t_ FORWARD_ SUBSUMPTION_ RESOLUTION - vampire_
inference_ rule_ t_ FUNCTION_ DEFINITION - vampire_
inference_ rule_ t_ FUNCTION_ DEFINITION_ DEMODULATION - vampire_
inference_ rule_ t_ FUNCTION_ DEFINITION_ REWRITING - vampire_
inference_ rule_ t_ GAUSSIAN_ VARIABLE_ ELIMINIATION - vampire_
inference_ rule_ t_ GENERAL_ SPLITTING - vampire_
inference_ rule_ t_ GENERAL_ SPLITTING_ COMPONENT - vampire_
inference_ rule_ t_ GENERIC_ AVATAR_ INFERENCE - vampire_
inference_ rule_ t_ GENERIC_ AVATAR_ INFERENCE_ LAST - vampire_
inference_ rule_ t_ GENERIC_ FORMULA_ CLAUSE_ TRANSFORMATION - vampire_
inference_ rule_ t_ GENERIC_ FORMULA_ CLAUSE_ TRANSFORMATION_ LAST - vampire_
inference_ rule_ t_ GENERIC_ GENERATING_ INFERENCE - vampire_
inference_ rule_ t_ GENERIC_ GENERATING_ INFERENCE_ LAST - vampire_
inference_ rule_ t_ GENERIC_ SIMPLIFYING_ INFERENCE - vampire_
inference_ rule_ t_ GENERIC_ SIMPLIFYING_ INFERENCE_ LAST - vampire_
inference_ rule_ t_ GENERIC_ THEORY_ AXIOM - vampire_
inference_ rule_ t_ GLOBAL_ SUBSUMPTION - vampire_
inference_ rule_ t_ HILBERTS_ CHOICE_ INSTANCE - vampire_
inference_ rule_ t_ HOL_ EQUALITY_ ELIMINATION - vampire_
inference_ rule_ t_ HOL_ NOT_ ELIMINATION - vampire_
inference_ rule_ t_ INDUCTION_ HYPERRESOLUTION - vampire_
inference_ rule_ t_ INEQUALITY_ SPLITTING - vampire_
inference_ rule_ t_ INEQUALITY_ SPLITTING_ NAME_ INTRODUCTION - vampire_
inference_ rule_ t_ INJECTIVITY - vampire_
inference_ rule_ t_ INNER_ REWRITING - vampire_
inference_ rule_ t_ INPUT - vampire_
inference_ rule_ t_ INSTANTIATION - vampire_
inference_ rule_ t_ INTERPRETED_ SIMPLIFICATION - vampire_
inference_ rule_ t_ INT_ DB_ DOWN_ INDUCTION_ AXIOM - vampire_
inference_ rule_ t_ INT_ DB_ UP_ INDUCTION_ AXIOM - vampire_
inference_ rule_ t_ INT_ FIN_ DOWN_ INDUCTION_ AXIOM - vampire_
inference_ rule_ t_ INT_ FIN_ UP_ INDUCTION_ AXIOM - vampire_
inference_ rule_ t_ INT_ INF_ DOWN_ INDUCTION_ AXIOM - vampire_
inference_ rule_ t_ INT_ INF_ UP_ INDUCTION_ AXIOM - vampire_
inference_ rule_ t_ LEIBNIZ_ ELIMINATION - vampire_
inference_ rule_ t_ MODEL_ NOT_ FOUND - vampire_
inference_ rule_ t_ NEGATED_ CONJECTURE - vampire_
inference_ rule_ t_ NEGATIVE_ EXT - vampire_
inference_ rule_ t_ NNF - vampire_
inference_ rule_ t_ POLARITY_ FLIPPING - vampire_
inference_ rule_ t_ PREDICATE_ DEFINITION - vampire_
inference_ rule_ t_ PREDICATE_ DEFINITION_ MERGING - vampire_
inference_ rule_ t_ PREDICATE_ DEFINITION_ UNFOLDING - vampire_
inference_ rule_ t_ PRIMITIVE_ INSTANTIATION - vampire_
inference_ rule_ t_ PURE_ PREDICATE_ REMOVAL - vampire_
inference_ rule_ t_ RECTIFY - vampire_
inference_ rule_ t_ REDUCE_ FALSE_ TRUE - vampire_
inference_ rule_ t_ REMOVE_ DUPLICATE_ LITERALS - vampire_
inference_ rule_ t_ REORDER_ LITERALS - vampire_
inference_ rule_ t_ REORIENT_ EQUATIONS - vampire_
inference_ rule_ t_ RESOLUTION - vampire_
inference_ rule_ t_ SAT_ COLOR_ ELIMINATION - vampire_
inference_ rule_ t_ SKOLEMIZE - vampire_
inference_ rule_ t_ SKOLEM_ SYMBOL_ INTRODUCTION - vampire_
inference_ rule_ t_ STRUCT_ INDUCTION_ AXIOM_ ONE - vampire_
inference_ rule_ t_ STRUCT_ INDUCTION_ AXIOM_ RECURSION - vampire_
inference_ rule_ t_ STRUCT_ INDUCTION_ AXIOM_ THREE - vampire_
inference_ rule_ t_ STRUCT_ INDUCTION_ AXIOM_ TWO - vampire_
inference_ rule_ t_ SUPERPOSITION - vampire_
inference_ rule_ t_ TERM_ ALGEBRA_ ACYCLICITY - vampire_
inference_ rule_ t_ TERM_ ALGEBRA_ ACYCLICITY_ AXIOM - vampire_
inference_ rule_ t_ TERM_ ALGEBRA_ DIRECT_ SUBTERMS_ AXIOM - vampire_
inference_ rule_ t_ TERM_ ALGEBRA_ DISCRIMINATION_ AXIOM - vampire_
inference_ rule_ t_ TERM_ ALGEBRA_ DISTINCTNESS - vampire_
inference_ rule_ t_ TERM_ ALGEBRA_ DISTINCTNESS_ AXIOM - vampire_
inference_ rule_ t_ TERM_ ALGEBRA_ EXHAUSTIVENESS_ AXIOM - vampire_
inference_ rule_ t_ TERM_ ALGEBRA_ INJECTIVITY_ AXIOM - vampire_
inference_ rule_ t_ TERM_ ALGEBRA_ INJECTIVITY_ GENERATING - vampire_
inference_ rule_ t_ TERM_ ALGEBRA_ NEGATIVE_ INJECTIVITY_ SIMPLIFYING - vampire_
inference_ rule_ t_ TERM_ ALGEBRA_ POSITIVE_ INJECTIVITY_ SIMPLIFYING - vampire_
inference_ rule_ t_ TERM_ ALGEBRA_ SUBTERMS_ TRANSITIVE_ AXIOM - vampire_
inference_ rule_ t_ THA_ ABS_ EQUALS - vampire_
inference_ rule_ t_ THA_ ABS_ MINUS_ EQUALS - vampire_
inference_ rule_ t_ THA_ ALASCA - vampire_
inference_ rule_ t_ THA_ ARRAY_ EXTENSIONALITY - vampire_
inference_ rule_ t_ THA_ ARRAY_ WRIT E1 - vampire_
inference_ rule_ t_ THA_ ARRAY_ WRIT E2 - vampire_
inference_ rule_ t_ THA_ ASSOCIATIVITY - vampire_
inference_ rule_ t_ THA_ BOOLEAN_ ARRAY_ EXTENSIONALITY - vampire_
inference_ rule_ t_ THA_ BOOLEAN_ ARRAY_ WRIT E1 - vampire_
inference_ rule_ t_ THA_ BOOLEAN_ ARRAY_ WRIT E2 - vampire_
inference_ rule_ t_ THA_ CEILING_ BIG - vampire_
inference_ rule_ t_ THA_ CEILING_ SMALL - vampire_
inference_ rule_ t_ THA_ COMMUTATIVITY - vampire_
inference_ rule_ t_ THA_ DISTRIBUTIVITY - vampire_
inference_ rule_ t_ THA_ DIVIDES_ MULTIPLY - vampire_
inference_ rule_ t_ THA_ DIVISIBILITY - vampire_
inference_ rule_ t_ THA_ EXTRA_ INTEGER_ ORDERING - vampire_
inference_ rule_ t_ THA_ FLOOR_ BIG - vampire_
inference_ rule_ t_ THA_ FLOOR_ SMALL - vampire_
inference_ rule_ t_ THA_ INVERSE_ ASSOC - vampire_
inference_ rule_ t_ THA_ INVERSE_ OP_ OP_ INVERSES - vampire_
inference_ rule_ t_ THA_ INVERSE_ OP_ UNIT - vampire_
inference_ rule_ t_ THA_ LEFT_ IDENTITY - vampire_
inference_ rule_ t_ THA_ MINUS_ MINUS_ X - vampire_
inference_ rule_ t_ THA_ MODULO_ MULTIPLY - vampire_
inference_ rule_ t_ THA_ MODULO_ POSITIVE - vampire_
inference_ rule_ t_ THA_ MODULO_ SMALL - vampire_
inference_ rule_ t_ THA_ NONDIVIDES_ SKOLEM - vampire_
inference_ rule_ t_ THA_ NONREFLEX - vampire_
inference_ rule_ t_ THA_ ORDER_ MONOTONICITY - vampire_
inference_ rule_ t_ THA_ ORDER_ PLUS_ ONE_ DICHOTOMY - vampire_
inference_ rule_ t_ THA_ ORDER_ TOTALITY - vampire_
inference_ rule_ t_ THA_ PLUS_ ONE_ GREATER - vampire_
inference_ rule_ t_ THA_ QUOTIENT_ MULTIPLY - vampire_
inference_ rule_ t_ THA_ QUOTIENT_ NON_ ZERO - vampire_
inference_ rule_ t_ THA_ RIGHT_ IDENTITY - vampire_
inference_ rule_ t_ THA_ TIMES_ ZERO - vampire_
inference_ rule_ t_ THA_ TRANSITIVITY - vampire_
inference_ rule_ t_ THA_ TRUN C1 - vampire_
inference_ rule_ t_ THA_ TRUN C2 - vampire_
inference_ rule_ t_ THA_ TRUN C3 - vampire_
inference_ rule_ t_ THA_ TRUN C4 - vampire_
inference_ rule_ t_ THEORY_ FLATTENING - vampire_
inference_ rule_ t_ THEORY_ NORMALIZATION - vampire_
inference_ rule_ t_ THEORY_ TAUTOLOGY_ SAT_ CONFLICT - vampire_
inference_ rule_ t_ TRIVIAL_ INEQUALITY_ REMOVAL - vampire_
inference_ rule_ t_ UNIT_ RESULTING_ RESOLUTION - vampire_
inference_ rule_ t_ UNUSED_ PREDICATE_ DEFINITION_ REMOVAL - vampire_
inference_ rule_ t_ VPI_ ELIMINATION - vampire_
inference_ rule_ t_ VSIGMA_ ELIMINATION - vampire_
input_ type_ t_ VAMPIRE_ AXIOM - vampire_
input_ type_ t_ VAMPIRE_ CONJECTURE - vampire_
input_ type_ t_ VAMPIRE_ NEGATED_ CONJECTURE - vampire_
proof_ result_ t_ VAMPIRE_ INCOMPLETE - vampire_
proof_ result_ t_ VAMPIRE_ MEMORY_ LIMIT - vampire_
proof_ result_ t_ VAMPIRE_ PROOF - vampire_
proof_ result_ t_ VAMPIRE_ SATISFIABLE - vampire_
proof_ result_ t_ VAMPIRE_ TIMEOUT - vampire_
proof_ result_ t_ VAMPIRE_ UNKNOWN
Functions§
- vampire_
add_ ⚠function - Register a function symbol with the given name and arity. For constants, use arity 0. @param name Symbol name (null-terminated string) @param arity Number of arguments @return functor index for use in term construction
- vampire_
add_ ⚠predicate - Register a predicate symbol with the given name and arity. @param name Symbol name (null-terminated string) @param arity Number of arguments @return predicate index for use in literal construction
- vampire_
and ⚠ - Create a conjunction (f1 AND f2 AND …). @param formulas Array of formulas @param count Number of formulas @return Formula handle
- vampire_
atom ⚠ - Create an atomic formula from a literal. @param l The literal @return Formula handle
- vampire_
axiom_ ⚠clause - Create an axiom clause (disjunction of literals). @param literals Array of literals @param count Number of literals @return Clause handle
- vampire_
axiom_ ⚠formula - Create an axiom formula unit. @param f The formula @return Unit handle
- vampire_
clause ⚠ - Create a clause with specified input type. @param literals Array of literals @param count Number of literals @param input_type The type of input @return Clause handle
- vampire_
clause_ ⚠is_ empty - Check if a clause is empty (represents false). @param clause The clause @return true if empty, false otherwise
- vampire_
clause_ ⚠to_ string - Convert a clause to a string representation. @param clause The clause @return Allocated string (must be freed with vampire_free_string), or NULL on error
- vampire_
conjecture_ ⚠clause - Create a conjecture clause (to be refuted). @param literals Array of literals @param count Number of literals @return Clause handle
- vampire_
conjecture_ ⚠formula - Create a conjecture formula unit (to be proven). The formula is automatically negated for refutation-based proving. @param f The formula to prove @return Unit handle
- vampire_
constant ⚠ - Create a constant term (0-arity function application). @param functor Function symbol index from vampire_add_function @return Term handle
- vampire_
eq ⚠ - Create an equality literal (s = t or s != t). @param positive true for equality, false for disequality @param lhs Left-hand side term @param rhs Right-hand side term @return Literal handle
- vampire_
exists ⚠ - Create an existentially quantified formula (exists x. f). @param var_index The variable index to bind @param f The body formula @return Formula handle
- vampire_
extract_ ⚠proof - Extract the proof as a sequence of steps. Steps are returned in topological order (premises before conclusions). The last step is the empty clause (refutation).
- vampire_
false ⚠ - Create a false (contradiction) formula. @return Formula handle
- vampire_
forall ⚠ - Create a universally quantified formula (forall x. f). @param var_index The variable index to bind @param f The body formula @return Formula handle
- vampire_
formula_ ⚠equal - vampire_
formula_ ⚠hash - vampire_
formula_ ⚠to_ string - Convert a formula to a string representation. @param formula The formula @return Allocated string (must be freed with vampire_free_string), or NULL on error
- vampire_
free_ ⚠literals - Free the literals array returned by vampire_get_literals(). @param literals The array to free
- vampire_
free_ ⚠proof_ steps - Free the proof steps array returned by vampire_extract_proof(). @param steps The array to free @param count Number of steps
- vampire_
free_ ⚠string - Free a string allocated by vampire_*_to_string functions. @param str The string to free
- vampire_
get_ ⚠literals - Get the literals of a clause as an array. @param clause The clause @param out_literals Pointer to receive the array of literals @param out_count Pointer to receive the number of literals @return 0 on success, -1 on error
- vampire_
get_ ⚠refutation - Get the refutation (proof) after a successful vampire_prove() call. @return The empty clause with inference chain, or NULL if no proof
- vampire_
iff ⚠ - Create an equivalence (f1 <=> f2). @param lhs Left-hand side @param rhs Right-hand side @return Formula handle
- vampire_
imp ⚠ - Create an implication (f1 => f2). @param lhs The antecedent @param rhs The consequent @return Formula handle
- vampire_
input_ ⚠type_ name - Get the name of an input type. @param input_type The input type @return String name (static, do not free)
- vampire_
lit ⚠ - Create a predicate literal. @param pred Predicate symbol index from vampire_add_predicate @param positive true for positive literal, false for negated @param args Array of argument terms @param arg_count Number of arguments @return Literal handle
- vampire_
literal_ ⚠to_ string - Convert a literal to a string representation. @param literal The literal @return Allocated string (must be freed with vampire_free_string), or NULL on error
- vampire_
neg ⚠ - Get the complementary (negated) literal. @param l The literal to negate @return Literal handle
- vampire_
not ⚠ - Create a negated formula (NOT f). @param f The formula to negate @return Formula handle
- vampire_
or ⚠ - Create a disjunction (f1 OR f2 OR …). @param formulas Array of formulas @param count Number of formulas @return Formula handle
- vampire_
prepare_ ⚠for_ next_ proof - Prepare for running another proof (light reset). Call this between independent proving attempts to reset the global ordering and other per-proof state.
- vampire_
print_ ⚠proof - Print the proof to stdout. @param refutation The refutation from vampire_get_refutation()
- vampire_
print_ ⚠proof_ to_ file - Print the proof to a file. @param filename Path to output file (null-terminated string) @param refutation The refutation from vampire_get_refutation() @return 0 on success, -1 on error
- vampire_
problem_ ⚠from_ clauses - Create a problem from an array of clauses. @param clauses Array of clause handles @param count Number of clauses @return Problem handle
- vampire_
problem_ ⚠from_ units - Create a problem from an array of units (clauses or formulas). Formulas will be clausified during preprocessing. @param units Array of unit handles @param count Number of units @return Problem handle
- vampire_
prove ⚠ - Run the prover on a problem. @param problem The problem to solve @return The proof result
- vampire_
reset ⚠ - Fully reset the Vampire state for a fresh start. This resets all static caches, clears the signature, and reinitializes the environment. After calling this, the state is as if Vampire was just started.
- vampire_
rule_ ⚠name - Get the name of an inference rule. @param rule The inference rule @return String name (static, do not free)
- vampire_
set_ ⚠saturation_ algorithm - Set saturation algorithm. @param algorithm Name of algorithm (e.g., “lrs”, “discount”, “otter”)
- vampire_
set_ ⚠show_ proof - Enable or disable proof output.
- vampire_
set_ ⚠time_ limit - Set a time limit in seconds (0 = no limit).
- vampire_
set_ ⚠time_ limit_ deciseconds - Set a time limit in deciseconds (10 = 1 second, 0 = no limit).
- vampire_
set_ ⚠time_ limit_ milliseconds - Set a time limit in milliseconds (1000 = 1 second, 0 = no limit).
- vampire_
term ⚠ - Create a function application term. @param functor Function symbol index from vampire_add_function @param args Array of argument terms @param arg_count Number of arguments @return Term handle
- vampire_
term_ ⚠equal - vampire_
term_ ⚠hash - vampire_
term_ ⚠to_ string - Convert a term to a string representation. @param term The term @return Allocated string (must be freed with vampire_free_string), or NULL on error
- vampire_
true ⚠ - Create a true (tautology) formula. @return Formula handle
- vampire_
unit_ ⚠as_ clause - Get the clause from a unit (if the unit is a clause). @param unit The unit @return Clause handle, or NULL if unit is not a clause
- vampire_
unit_ ⚠as_ formula - Get the formula from a unit (if the unit is a formula). @param unit The unit @return Formula handle, or NULL if unit is not a formula
- vampire_
var ⚠ - Create a variable term. @param index Variable index (0, 1, 2, …) @return Term handle
Type Aliases§
- vampire_
inference_ rule_ t - Inference rules
- vampire_
input_ type_ t - Input type for units
- vampire_
proof_ result_ t - Result of a proving attempt
- wchar_t