Logic 如何自动证明两个一阶公式是等价的?
自动证明两个一阶公式F和G等价的最佳方法是什么 与“完整”一阶公式相比,这些公式有一些限制:Logic 如何自动证明两个一阶公式是等价的?,logic,first-order-logic,proof-system,Logic,First Order Logic,Proof System,自动证明两个一阶公式F和G等价的最佳方法是什么 与“完整”一阶公式相比,这些公式有一些限制: 无量词 无功能 隐式普遍量化 我可以用子句范式转换这些公式,我有统一文本的例程。然而,我不确定如何继续,以及这个问题是否是可判定的。如前所述,要证明两个公式都是闭合的(普遍量化的)公式,需要证明F=>G和G=>F。要证明这两个公式中的每一个,可以使用各种计算。我将描述[解析演算]: 否定这个猜想,使F=>G变成F&-G 转换成CNF 运行解析过程 如果你得到一个空子句,你已经证明了原来的猜想F=>G。
我可以用子句范式转换这些公式,我有统一文本的例程。然而,我不确定如何继续,以及这个问题是否是可判定的。如前所述,要证明两个公式都是闭合的(普遍量化的)公式,需要证明F=>G和G=>F。要证明这两个公式中的每一个,可以使用各种计算。我将描述[解析演算]:
- 否定这个猜想,使F=>G变成F&-G
- 转换成CNF
- 运行解析过程
- 如果你得到一个空子句,你已经证明了原来的猜想F=>G。如果搜索饱和,不能再得到新子句,这个猜想就不成立了
您还可以为此目的使用自动化工具,该工具将为您完成所有工作。我用它来解决这些问题。作为输入语言,我使用的语言是,人类很容易读/写 举个例子:输入文件:
fof(my_formula_name, conjecture, (![X]: p(X)) <=> (![Y]: p(Y)) ).
(-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
这个问题取决于你对公式的限制程度(我不记得细节)。为了证明F和g是等价的,你需要证明F意味着g和g意味着F。为了证明你试图用荒谬来证明它,通过试图证明F而不是(g)并且失败。。。然后探索这个公式的后果,同时试图证明它是错误的。该方法被称为类似“反驳树”或“真理树”的东西,因为它是无函数的,并且完全通用,将您置于一个可判定的片段中:
# 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