簡體   English   中英

如何自動證明兩個一階公式是等價的?

[英]How to automatically proof that two first-order formulas are equivalent?

自動證明兩個一階公式F和G是等價的最佳方法是什么?

與“完整”一階公式相比,公式有一些限制:

  1. 量詞免費
  2. 功能免費
  3. 隱含地普遍量化

我可以用正則形式的子句轉換那些公式,並且我有文本統一的例程。 但是,我不知道如何繼續,如果這個問題是可判定的。

如上所述,為了證明F <=> G兩者都是閉合的(普遍量化的)公式,你需要證明F => G並且G => F. 為了證明這兩個公式中的每一個,你可以使用各種計算。 我將描述[解析微積分]:

  • 否定猜想,因此F => G變為F&-G
  • 轉換為CNF。
  • 運行解決程序。
  • 如果你得到一個空子句,你已經證明了原始猜想F => G. 如果搜索飽和並且不能再導出新的子句,那么猜想就不成立。

在您的條件下,來自F的所有原子公式將是僅應用於變量的謂詞符號,而來自G的所有原子公式將僅應用於skolem常量的謂詞符號。 因此,解析過程只會產生替換,將變量映射到其他變量,或變量映射到那些skolem常量。 這意味着它只能導出有限數量的不同文字,因此解析過程將始終停止 - 它將是可判定的。


您也可以使用自動化工具來完成所有有用的工具。 我使用The E Theorem Prover來解決這些問題。 作為輸入語言,我使用了TPTP問題庫的語言,這對人類來說很容易讀/寫。

舉個例子:輸入文件:

fof(my_formula_name, conjecture, (![X]: p(X)) <=> (![Y]: p(Y)) ).

然后我跑了

eprover --tstp-format -xAuto -tAuto myfile

-tAuto-xAuto執行一些自動配置,在您的情況下很可能不需要),結果是

# Garbage collection reclaimed 59 unused term cells.

# Auto-Ordering is analysing problem.
# Problem is type GHNFGFFSF00SS
# Auto-mode selected ordering type KBO6
# Auto-mode selected ordering precedence scheme <invfreq>
# Auto-mode selected weight ordering scheme <precrank20>
#
# Auto-Heuristic is analysing problem.
# Problem is type GHNFGFFSF00SS
# Auto-Mode selected heuristic G_E___107_C41_F1_PI_AE_Q4_CS_SP_PS_S0Y
# and selection function SelectMaxLComplexAvoidPosPred.
#
# No equality, disabling AC handling.
#
# Initializing proof state
#
#cnf(i_0_2,negated_conjecture,(~p(esk1_0)|~p(esk2_0))).
#
#cnf(i_0_1,negated_conjecture,(p(X1)|p(X2))).
# Presaturation interreduction done
#
#cnf(i_0_2,negated_conjecture,(~p(esk1_0)|~p(esk2_0))).
#
#cnf(i_0_1,negated_conjecture,(p(X2)|p(X1))).
#
#cnf(i_0_3,negated_conjecture,(p(X3))).

# Proof found!
# SZS status Theorem
# Parsed axioms                        : 1
# Removed by relevancy pruning         : 0
# Initial clauses                      : 2
# Removed in clause preprocessing      : 0
# Initial clauses in saturation        : 2
# Processed clauses                    : 5
# ...of these trivial                  : 0
# ...subsumed                          : 0
# ...remaining for further processing  : 5
# Other redundant clauses eliminated   : 0
# Clauses deleted for lack of memory   : 0
# Backward-subsumed                    : 1
# Backward-rewritten                   : 1
# Generated clauses                    : 4
# ...of the previous two non-trivial   : 4
# Contextual simplify-reflections      : 0
# Paramodulations                      : 2
# Factorizations                       : 2
# Equation resolutions                 : 0
# Current number of processed clauses  : 1
#    Positive orientable unit clauses  : 1
#    Positive unorientable unit clauses: 0
#    Negative unit clauses             : 0
#    Non-unit-clauses                  : 0
# Current number of unprocessed clauses: 0
# ...number of literals in the above   : 0
# Clause-clause subsumption calls (NU) : 0
# Rec. Clause-clause subsumption calls : 0
# Unit Clause-clause subsumption calls : 1
# Rewrite failures with RHS unbound    : 0
# Indexed BW rewrite attempts          : 4
# Indexed BW rewrite successes         : 4
# Unification attempts                 : 12
# Unification successes                : 9
# Backwards rewriting index :     2 leaves,   1.00+/-0.000 terms/leaf
# Paramod-from index        :     1 leaves,   1.00+/-0.000 terms/leaf
# Paramod-into index        :     1 leaves,   1.00+/-0.000 terms/leaf

最重要的線是哪里

# Proof found!
# SZS status Theorem

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM