저는 z3 C++ API를 사용하고 있습니다. 이 단순한 거짓 표현을 만들면 :알기 쉬운 결과로 알 수없는 결과가 발생합니다.
z3::expr x = C->int_const("x");
z3::expr p = z3::forall(x, x==0);
그리고 시도하려고하면 알 수없는 결과가 나옵니다. 저는 전략과 전술의 전문가는 아니지만 올바른 전략을 사용하면 z3이이를 해결할 수 있다고 확신합니다.
은 또한, 물론, 같은 runknown의 esult을 가진z3::expr p = !z3::forall(x, x==0);
을 시도했다.
관련 질문보기 : http://stackoverflow.com/questions/14988298/what-are-the-limits-of-reasoning-in-quantified-arithmetic-in-smt –