Open jad-hamza opened 3 years ago
No, we need the absolute value fundecl it in Inox for the multiset encoding. Maybe it can be accessed differently though?
Oh I somehow missed that call in Z3Native.scala
. Can't we make a lambda here?
What do you mean by a "lambda"? Inox-level lambdas aren't available anymore at that point, we're directly communicating with the SMT solver here.
It might be possible to construct an abs
function declaration though. I don't remember exactly how the Z3 API works, but I think we can construct simple non-recursive functions somehow and they might work in the SMT array map.
Aren't there lambdas in Z3 now? https://theory.stanford.edu/~nikolaj/programmingz3.html#sec-quantifiers-and-lambda-binding
I would be worried they'll lead to quantifiers under the hood
getAbsFunDecl
I removed
getAbsFunDecl
(and the corresponding test suite) which crashes because the AST kind isZ3UnknownAST
. Is that ok?