Rzutowanie wyrażenia całkowitoliczbowego Z3 na int

Jestem nowym użytkownikiem Z3 i szukałem odpowiedzi na moje pytanie tutaj i w Google. Niestety nie udało mi się.

Używam API Z3 4.0 C / C ++. Zadeklarowałem niezdefiniowaną funkcjęd: (Int Int) Int, dodał kilka twierdzeń i obliczył model. Jak dotąd działa to dobrze.

Teraz chcę wyodrębnić pewne wartości funkcjid zdefiniowane przez model, powiedzmyd (0,0). Poniższa instrukcja działa, ale zwraca wyrażenie, a nie wartość funkcji, tj. Liczbę całkowitą, zd (0,0).

z3::expr args[] = {c.int_val(0), c.int_val(0)};
z3::expr result = m.eval(d(2, args));

Rachunek

result.is_int();

zwracaprawdziwe.

Moje (miejmy nadzieję, że nie za głupie) pytanie brzmi: jak oddać zwrócone wyrażenie do int / C ++

Pomoc jest bardzo ceniona. Dziękuję Ci!

questionAnswers(1)

yourAnswerToTheQuestion