Closed aniemetz closed 2 years ago
I think so. Yes. If you read here it says
Function types are not supported. The function fails and returns NULL_TERM if t has a function type. It also returns NULL_TERM if t’s value can’t be computed.
Indeed, it seems you can't get the function value as a term with yices_get_value_as_term
.
However, the API gives you access to the value to which a term evaluates in a model, via yices_get_value
that stores the value as an yval_t
. If you do that for your function / array symbol, you should get an yval_t
with tag YVAL_FUNCTION
, and then you can use yices_val_expand_function
and yices_val_expand_mapping
to get the default value and the finite mappings.
The following call to
yices_get_value_as_term
on an array constant returns an invalid term:Is this expected behavior?
Yices master 09f162107cc9140172e6c890d8ccc633126c3720 on Linux