私のプログラムは、Z3_open_log()とのすべてのz3インタラクションのログを作成します。次に、別のプログラムで、私はZ3_parse_z3_file()でそれを読み返します。これは、入力に加えられたすべてのアサーションの結合を私に与えます。私は2つの主張を持っているとしましょう:a1とa2。次に、z3ファイルを解析することによって、(とa1 a2)を取得します。Z3ファイルを読む
私はテストしたいです(と(a1ではなく)a2)。どのようにすれば、私は2つの主張の組み合わせを取得するだけで、それを行うことができますか?私は、ASTにナビゲートして、それが結合であるかどうかを確認し、それを反復できるAPI内の関数を見つけることができませんでした。
私が行かなければならない方法なら、あなたはどのような方法をお勧めしますか?
事前にお礼ありがとうございます。
AG
APIを使用して簡単にZ3 ASTを歩くことができます。ここに1つの例がありますhttp://stackoverflow.com/questions/8862109/how-to-find-out-if-a-z3-ast-corresponds-to-a-clause – pad