Cvc5Result
This class represents a Cvc5 result.
A Cvc5Result encapsulates a 3-valued solver result (sat, unsat,
unknown). Explanations for unknown results are represented as enum class
Cvc5UnknownExplanation and can be queried via
cvc5_result_get_unknown_explanation().
- 
typedef struct cvc5_result_t *Cvc5Result
 Encapsulation of a three-valued solver result, with explanations.
- 
Cvc5Result cvc5_result_copy(Cvc5Result result)
 Make copy of result, increases reference counter of
result.Note
This step is optional and allows users to manage resources in a more fine-grained manner.
- Parameters:
 result – The result to copy.
- Returns:
 The same result with its reference count increased by one.
- 
void cvc5_result_release(Cvc5Result result)
 Release copy of result, decrements reference counter of
result.Note
This step is optional and allows users to release resources in a more fine-grained manner. Further, any API function that returns a copy that is owned by the callee of the function and thus, can be released.
- Parameters:
 result – The result to release.
- 
bool cvc5_result_is_null(const Cvc5Result result)
 Determine if a given result is empty (a nullary result) and not an actual result returned from a
cvc5_check_sat()(and friends) query.- Parameters:
 result – The result.
- Returns:
 True if the given result is a nullary result.
- 
bool cvc5_result_is_sat(const Cvc5Result result)
 Determine if given result is from a satisfiable
cvc5_check_sat()or cvc5_check_sat_ssuming() query.- Parameters:
 result – The result.
- Returns:
 True if result is from a satisfiable query.
- 
bool cvc5_result_is_unsat(const Cvc5Result result)
 Determine if given result is from an unsatisfiable
cvc5_check_sat()or cvc5_check_sat_assuming() query.- Parameters:
 result – The result.
- Returns:
 True if result is from an unsatisfiable query.
- 
bool cvc5_result_is_unknown(const Cvc5Result result)
 Determine if given result is from a
cvc5_check_sat()or cvc5_check_sat_assuming() query and cvc5 was not able to determine (un)satisfiability.- Parameters:
 result – The result.
- Returns:
 True if result is from a query where cvc5 was not able to determine (un)satisfiability.
- 
bool cvc5_result_is_equal(const Cvc5Result a, const Cvc5Result b)
 Determine equality of two results.
- Parameters:
 a – The first result to compare to for equality.
b – The second result to compare to for equality.
- Returns:
 True if the results are equal.
- 
bool cvc5_result_is_disequal(const Cvc5Result a, const Cvc5Result b)
 Operator overloading for disequality of two results.
- Parameters:
 a – The first result to compare to for disequality.
b – The second result to compare to for disequality.
- Returns:
 True if the results are disequal.
- 
Cvc5UnknownExplanation cvc5_result_get_unknown_explanation(const Cvc5Result result)
 Get the explanation for an unknown result.
- Parameters:
 result – The result.
- Returns:
 An explanation for an unknown query result.
- 
const char *cvc5_result_to_string(const Cvc5Result result)
 Get the string representation of a given result.
Note
The returned char* pointer is only valid until the next call to this function.
- Parameters:
 result – The result.
- Returns:
 The string representation.
- 
size_t cvc5_result_hash(Cvc5Result result)
 Compute the hash value of a result.
- Parameters:
 result – The result.
- Returns:
 The hash value of the result.