(assert (forall ((quant (_ BitVec 8)))
(=
(select (lambda ((idx (_ BitVec 8))) quant) #x01)
#x00
)
))
(check-sat)
(get-info :reason-unknown)
prints:
unknown
(:reason-unknown "Formulas should not contain unbound variables")
This is because it seems lambdas don't allow quantified variables in their body. Is there a fundamental reason why this is the case?
(I have a bunch of benchmarks failing on my side because I'm using lambdas to encode memcpy and memory may have quantified variables due to non-determinism)
prints:
This is because it seems lambdas don't allow quantified variables in their body. Is there a fundamental reason why this is the case?
(I have a bunch of benchmarks failing on my side because I'm using lambdas to encode memcpy and memory may have quantified variables due to non-determinism)