There seem to be some combinations of circumstances in which the uninterpreted sorts and their universes are not in the model. In the example below, both x and y are assigned the same mysort!val!0, but model.sorts() is empty and model.get_universe(S) says None. It's the solve-eqs tactic that solves the problem, so I suspect the bug must be around that area. (If the ~ is taken off of the constraint, it goes all the way through to the SMT solver and the model is correct.)
There seem to be some combinations of circumstances in which the uninterpreted sorts and their universes are not in the model. In the example below, both
x
andy
are assigned the samemysort!val!0
, butmodel.sorts()
is empty andmodel.get_universe(S)
saysNone
. It's thesolve-eqs
tactic that solves the problem, so I suspect the bug must be around that area. (If the~
is taken off of the constraint, it goes all the way through to the SMT solver and the model is correct.)produces