2016-08-05 17 views
1

Ich verwende die SMT2-lib-Schnittstelle von z3 und versuchen, die Folgendes zu definieren:Liste aller in Symbole gebaut in z3

(declare-const rem (set sl$REQ)) 

Und diesen Fehler:

(error "line 36 column 31: invalid declaration, builtin symbol rem") 

Gibt es eine Möglichkeit, eine vollständige Liste aller vordefinierten Symbole zu erhalten, damit ich automatisch umbenennen kann?

Danke! Simon

Antwort

2

Ja, aber es ist nicht ganz so trivial. Je nach Optionen und Logikdefinitionen kann sich die Liste der vordefinierten Symbole ändern. Sie können jedoch eine Liste aller potenziell vordefinierten Symbole erhalten, indem Sie in in src/ast/*_decl_plugin.cpp für die GREAT-Funktion suchen. Zum Beispiel ist das rem Symbol unter arith_decl_plugin.cpp:540 definiert.