Z3 の OCaml API をhttp://research.microsoft.com/en-us/um/redmond/projects/z3/ml/Z3.htmlで閲覧していました。単純な命題式を満たすソルバーによって返されたモデルにアクセスする方法を探します。たとえば、「T」部分ではなく、Z3のSAT部分を使用するだけです。p または q は、モデル p=true、q=false を返す場合があります。私が見つけた最も近いものは、モデルを返す Solver_get_model でした。しかし、モデル タイプが不透明に見えるため、モデルにアクセスする方法が見つかりませんでした。関数シンボルに関連付けられた解釈を取得するための関数 (model_get_func_interp) を見ましたが、それは私が望むものとはまったく異なり、それでも返された情報 (func_interp) をどうするかわかりませんでした。不透明タイプ。私が見ることができる唯一の他の方法は、モデルを文字列に変換することでした。これが唯一の方法ですか?
ありがとう