Z3の式がunsatであり、(get-proof)が指定されている場合、それが何であるかに関する情報が見つからない出力があります。それに関する文書はどこにありますか?Z3の反例出力例
私にはかなり読めないようですが、これを入力として使用するツールはありますか?
乾杯、 マット
Z3の式がunsatであり、(get-proof)が指定されている場合、それが何であるかに関する情報が見つからない出力があります。それに関する文書はどこにありますか?Z3の反例出力例
私にはかなり読めないようですが、これを入力として使用するツールはありますか?
乾杯、 マット
Z3製 "証明" は人間の消費のためではありません。 フォーマットの古いバージョンについては、Proofs and Refutations, and Z3の記事に記載されています。 z3_api.h
ファイルには、各証明規則の長い説明があります。証明ルール識別子はZ3_OP_PR
で始まります。私はZ3証明オブジェクトを使用する2つのアプリケーションを認識しています。以下の論文には多くの例があり、プルーフオブジェクトの使用方法について説明しています。
1- Isabelle Interactive Theorem Prover:Z3プルーフは、信頼できるコアを使用してIsabelle内で再構成されます。パッドはunsat-cores
を使用するより簡単です、言ったようにあなたはSascha Bohme's homepage
2 - Generation of interpolants
で、この作品とZ3証明フォーマットを記述するいくつかの論文を見つけることができます。
あなたのリンクをありがとうございました。私は両方の方法を見ていきます。 @padのおかげです。 – MattKay
コマンド '(get-unsat-core)'は、あなたが望むものと思われます。公式の例:http://rise4fun.com/Z3/smtc_core – pad