Mein Programm erstellt ein Protokoll aller z3-Interaktionen mit Z3_open_log(). Dann habe ich es in einem anderen Programm mit Z3_parse_z3_file() gelesen. Es gibt mir die Zusammenfassung aller an der Eingabe gemachten Behauptungen. Sagen wir, ich habe zwei Behauptungen: a1 und a2. Dann durch Parsen der z3-Datei bekomme ich (und a1 a2).Lesen einer Z3-Datei
Ich möchte (und (nicht a1) a2) testen. Wie kann ich das tun, vorausgesetzt, ich bekomme nur die Verbindung der beiden Behauptungen, nicht ein Paar Behauptungen? Ich konnte keine Funktion in der API finden, die mir erlaubt, in eine AST zu navigieren, zu sehen, ob es eine Konjunktion ist und darüber zu iterieren.
Wenn es nicht der Weg ist, den ich gehen sollte, welchen Weg würden Sie empfehlen?
Vielen Dank im Voraus,
AG.
Sie können durch Z3 AST leicht mit API gehen. Hier ist ein Beispiel http://stackoverflow.com/questions/8862109/how-to-find-out-if-a-z3-ast-corresponds-to-aclause – pad