のような制約が(t>=0 or t>=1)
あり(t<=2 or t>=2)
ます。実際、制約は " t>=0
"に簡略化できます。z3を使用して、z3を使用してCNF形式で簡略化された結果を取得するにはどうすればよいですか?
(declare-const t Int)
(assert (and
(or
(>= t 0)
(>= t 1)
)
(or
(>= t 2)
(<= t 2)
)
(>= t 0)
(<= t 1)
)
)
(apply (par-then (! simplify :elim-and true) tseitin-cnf))
ただし、スクリプトは機能しません。