Z3 mit String-Ausdrücken

Ich versuche, mit Z3 festzustellen, ob ein Ausdruck zufriedenstellend ist. Ich könnte dies leicht tun, indem ich den Kontext dann die Variablen int_const und die Formel definiere. Um einen Ausdruck programmgesteuert auszuwerten, müssten Sie alles in Code schreiben. Angenommen, der logische Ausdruck wird in Form einer Zeichenfolge angegeben. Was dann? Zum Beispiel,

"x == y &&! x == z"

würde in der C-API ausgedrückt werden als:

context c;
expr x = c.int_const("x")
//Same for other variables
...
formula = (x == y) && (!x == z);
solver s(c);
s.add(formula);
//s.check() ...etc etc

Okay, ich kann den Code für diese bestimmte Formel schreiben, aber wie könnte ich das programmgesteuert tun, wenn ich eine Zeichenfolge gebe. Ich bin offen für alles, was Sie sich vorstellen können.

Vielen Dank :)

Antworten auf die Frage(1)

Ihre Antwort auf die Frage