私は次の例でz3で作業していました。Z3またはZ3に渡す前に一貫性のない方程式を検出できますか?
f=Function('f',IntSort(),IntSort())
n=Int('n')
c=Int('c')
s=Solver()
s.add(c>=0)
s.add(f(0)==0)
s.add(ForAll([n],Implies(n>=0, f(n+1)==f(n)+10/(n-c))))
最後の式には一貫性がありません(n=c
は不確定になります)。しかし、Z3はこの種の矛盾を検出できません。それを検出するためにZ3を作る方法やそれを検出できる他のツールはありますか?
あなたがいますツールにゼロによる可能な除算を報告させる方法を求めていますか?または、セットアップ全体が不安定であることを検出するように求めていますか? –
FOL公理に存在するゼロ型不一致による除算を報告するツールが必要です – Tom
このようなことはわかりません。1つのアプローチは、ソルバに0による除算がないことを証明するように最初に求めることです。あなたはそれに開放されますか? –