SynthResult

This class represents a cvc5::Solver SyGus synthesis result.



class SynthResult

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.

Public Functions

SynthResult()

Constructor.

bool isNull() const

Determine if a given synthesis result is empty (a nullary result) and not an actual result returned from a synthesis query.

Returns:

True if SynthResult is null, i.e., not a SynthResult returned from a synthesis query.

bool hasSolution() const
Returns:

True if the synthesis query has a solution.

bool hasNoSolution() const
Returns:

True if the synthesis query has no solution. In this case, it was determined that there was no solution.

bool isUnknown() const
Returns:

True if the result of the synthesis query could not be determined.

bool operator==(const SynthResult &r) const

Operator overloading for equality of two synthesis results.

Parameters:

r – The synthesis result to compare to for equality.

Returns:

True if the synthesis results are equal.

bool operator!=(const SynthResult &r) const

Operator overloading for disequality of two synthesis results.

Parameters:

r – The synthesis result to compare to for disequality.

Returns:

True if the synthesis results are disequal.

std::string toString() const
Returns:

A string representation of this synthesis result.


std::ostream &cvc5::operator<<(std::ostream &out, const SynthResult &r)

Serialize a SynthResult to given stream.

Parameters:
  • out – The output stream.

  • r – The result to be serialized to the given output stream.

Returns:

The output stream.