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.