Cvc5SynthResult
This struct represents a Cvc5 SyGus synthesis result.
- 
typedef struct cvc5_synth_result_t *Cvc5SynthResult
- Encapsulation of a solver synth result. - This is the return value of the API functions: - which we call “synthesis queries”. This class indicates whether the synthesis query has a solution, has no solution, or is unknown. 
- 
bool cvc5_synth_result_is_null(const Cvc5SynthResult result)
- Determine if a given synthesis result is empty (a nullary result) and not an actual result returned from a synthesis query. - Parameters:
- result – The result. 
- Returns:
- True if the given result is a nullary result. 
 
- 
bool cvc5_synth_result_has_solution(const Cvc5SynthResult result)
- Determine if the given result is from a synthesis query that has a solution. - Parameters:
- result – The result. 
- Returns:
- True if the synthesis query has a solution. 
 
- 
bool cvc5_synth_result_has_no_solution(const Cvc5SynthResult result)
- Determine if the given result is from a synthesis query that has no solution. - Parameters:
- result – The result. 
- Returns:
- True if the synthesis query has no solution. In this case, it was determined that there was no solution. 
 
- 
bool cvc5_synth_result_is_unknown(const Cvc5SynthResult result)
- Determine if the given result is from a synthesis query where its result could not be determined. - Parameters:
- result – The result. 
- Returns:
- True if the result of the synthesis query could not be determined. 
 
- 
bool cvc5_synth_result_is_equal(const Cvc5SynthResult a, const Cvc5SynthResult b)
- Determine equality of two synthesis results. - Parameters:
- a – The first synthesis result to compare to for equality. 
- b – The second synthesis result to compare to for equality. 
 
- Returns:
- True if the synthesis results are equal. 
 
- 
bool cvc5_synth_result_is_disequal(const Cvc5SynthResult a, const Cvc5SynthResult b)
- Operator overloading for disequality of two synthesis results. - Parameters:
- a – The first synthesis result to compare to for disequality. 
- b – The second synthesis result to compare to for disequality. 
 
- Returns:
- True if the synthesis results are disequal. 
 
- 
const char *cvc5_synth_result_to_string(const Cvc5SynthResult 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:
- A string representation of the given synthesis result. 
 
- 
size_t cvc5_synth_result_hash(Cvc5SynthResult result)
- Compute the hash value of a synthesis result. - Parameters:
- result – The synthesis result. 
- Returns:
- The hash value of the synthesis result. 
 
- 
Cvc5SynthResult cvc5_synth_result_copy(Cvc5SynthResult result)
- Make copy of synthesis 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 synthesis result to copy. 
- Returns:
- The same result with its reference count increased by one. 
 
- 
void cvc5_synth_result_release(Cvc5SynthResult result)
- Release copy of synthesis 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.