我正在研究一种基于CNF的方法(即NNF + SNF + PNF + AND-pull-out / Tseitin)输入问题 - 一个FOL公式。
我观察到(对于所有大多数基准测试)Z3对CNF公式的表现 与原始配方的表现相比,它更加恶劣。这里 是这种行为的一个例子:
(好)F1:http://i12www.ira.uka.de/~elghazi/z3_cnf_vs_snf/F1.smt2
(好)NNf + SNF(F1):http://i12www.ira.uka.de/~elghazi/z3_cnf_vs_snf/nnf+snf_F1.smt2
(差)CNF(F1):http://i12www.ira.uka.de/~elghazi/z3_cnf_vs_snf/cnf_F1.smt2
我的问题是: (1)为什么会这样? (2)Z3是否有最佳配置来处理CNF / NNF + SNF公式?
PS:
+我只在需要时才在CNF生成期间使用命名(Tseitin)
+我使用文本界面来调用Z3。
Aboubakr Achraf El Ghazi