自动定理证明( atp )的
2009-03-27 14:16阅读:
Tuesday, July 29th, 2008
星期二, 2008年7月29日 Automatedtheorem
proving (ATP) or automated deduction, currently the
mostwell-developed subfield of automated reasoning (AR), is the
proving ofmathematical theorems by a computer
program.自动定理证明( ATP )或自动扣除,目前最发达的子字段的自动推理(机铁)
,是证明数学定理由计算机程序。
Decidability of the problem判定的问题
Depending on the underlying logic, the problem of
deciding the validity of a theorem varies from trivial to
impossible.根据基本的逻辑,这个问题的决定的有效性定理因小事不可能的。
Forthe frequent case of proposit
ional logic, the problem is decidable butNP-complete, and hence
only exponential-time algorithms are believed toexist for general
proof tasks.对于频繁的情况下命题逻辑,问题是可判定的,但NP完全问题,因此,只有指数时间算法,认为存在一般性证明任务。
Fora first order predicate calculus, that is having no
proper axioms,Gödel’s Completeness Theorem states that the theorems
are exactly thelogically valid well-formed formulas, so identifying
theorems isrecursively enumerable, ie, given unbounded resources,
any validtheorem can eventually be
proven.对于一阶谓词演算,这是没有适当的公理,哥德尔的完备性定理指出,定理的逻辑上是完全有效的形成公式,从而确定定理是递归可枚举,即给予无限的资源,任何有效的定理可以最终被证实。
Invalid statements, ie formulas that are not entailed
by a given theory, cannot always be
recognized.无效的声明,即公式不涉及某一理论,不能总是得到承认。
Inaddition, a consistent formal theory that contains
the first-ordertheory of the natural numbers (having certain proper
axioms then), byGödel’s incompleteness theorems, contains a true
statement which cannotbe proven, in which case a theorem prover
trying to prove such astatement ends up in
nontermination.此外,一贯正式理论,包含一阶理论的自然数(在某些适当的公理然后)
,由哥德尔的不完备性定理,包含一个真正的声明,不能证明,在这种情况下,试图定理证明者证明这种声明结束了nontermination
。
In these cases, a first-order theorem prover may fail
to terminate while searching for a
proof.在这种情况下,一阶定理证明者可能会失败而终止,而寻找证据。
Despite these theoretical limits, practical theorem
provers can solve many hard problems in these
logics.尽管取得了这些理论的限制,实际定理provers可以解决许多困难问题,在这些逻辑。
Related problems相关问题
A simpler, but related problem is proof verification,
where an existing proof for a theorem is certified
valid.一个较简单,但相关的问题是核查证明,在现有证据的定理证明有效。
Forthis, it is generally required that each individual
proof step can beverified by a primitive recursive function or
program, and hence theproblem is always
decidable.为此,人们普遍要求每个证明步骤可以验证的原始递归函数或程序,因此这个问题始终是判定。
Interactive theorem provers require a human user to
give hints to the system.互动定理provers需要人类给予提示用户的系统。
Dependingon the degree of automation, the prover can
essentially be reduced to aproof checker, with the user providing
the proof in a formal way, orsignificant proof tasks can be
performed
automatically.根据自动化程度的证明者基本上可以归结为证明检查,与用户提供的证明在一次正式的方式,或显着的证明任务可以自动执行。
Interactiveprovers are used for a variety of tasks, but
even fully automaticsystems have by now proven a number of
interesting and hard theorems,including some that have eluded human
mathematicians for a long
time.互动provers用于各种任务,但即使完全自动化系统现在已经证明了许多有趣的和艰苦的定理,其中有些人已经享受到数学家很长一段时间。
However, these successes are sporadic, and work on hard
problems usually requires a proficient
user.然而,这些成功是零星的,艰苦的工作和问题通常需要一个熟练的使用者。
Anotherdistinction is sometimes drawn between theorem
proving and othertechniques, where a process is considered to be
theorem proving if itconsists of a traditional proof, starting with
axioms and producing newinference steps using rules of
inference.另一个区别是有时区分定理证明和其他技术,其中一个进程被认为是定理证明,如果它是一个传统的证明,从公理和生产新的推理步骤,使用规则的推理。
Othertechniques would include model checking, which is
equivalent tobrute-force enumeration of many possible states
(although the actualimplementation of model checkers requires much
cleverness, and does notsimply reduce to brute
force).其他技能将包括模型检测,相当于蛮力列举了许多可能发生的国家(虽然实际执行模型检查需要很多聪明,不只是减少蛮力)
。 There are hybrid theorem proving systems which
use model checking as an inference
rule.有混合定理证明系统,使用模型检查的推理规则。 Thereare also
programs which were written to prove a particular theorem,with a
(usually informal) proof that if the program finishes with acertain
result, then the theorem is
true.也有计划,有书面证明某一定理,一个(通常是非正式的)证明,如果程序完成某种结果,那么定理是真实的。
Agood example of this was the machine-aided proof of
the four colortheorem, which was very controversial as the first
claimed mathematicalproof which was essentially impossible to
verify by humans due to theenormous size of the program’s
calculation (such proofs are callednon-surveyable
proofs).一个很好的例子,这是机器辅助证明了四色定理,这是非常具有争议的第一人数学证明基本上是无法核实由于人类的巨大规模,该项目的计算(如证明是所谓非surveyable证明)
。 Another example would be the proof that the
game Connect Four is a win for the first
player.另一个例子是证明游戏连接四是一个双赢的第一位。
Industrial uses工业用途
Commercial use of automated theorem proving is mostly
concentrated in integrated circuit design and
verification.商业使用的自动定理证明主要集中在集成电路设计和验证。
Sincethe Pentium FDIV bug, the complicated floating
point units of modernmicroprocessors have been designed with extra
scrutiny.由于奔腾FDIV错误,复杂的浮点单元现代微处理器设计了额外的审查。
Inthe latest processors from AMD, Intel, and others,
automated theoremproving has been used to verify that division and
other operations arecorrect.在最新的处理器, AMD
,英特尔,和其他人,自动定理证明被用来验证司和其他行动是正确的。
First-order theorem proving一阶定理证明
So-calledfirst-order theorem proving may be restricted
to a propositionalcalculus with terms (constants, function names,
and free variables)added, making it impossible to express
mathematical
induction.所谓一阶定理证明可限于命题演算的条款(常数,函数名,并免费变量)说,无法表达数学归纳法。
Itshould then not be confused with a first-order theory
ofmetamathematics, as the quantifiers have been stripped out,
thoughuniversal quantifiers may be emulated by rewriting into free
variables.然后不应该混为一谈一阶元数学理论,如量词被剥夺了,但普遍的量词可仿效改写成自由变数。
First-order theorem proving is one of the most mature
subfields of automated theorem
proving.一阶定理证明是最成熟的分支的自动定理证明。 Thelogic is
expressive enough to allow the specification of arbitraryproblems,
often in a reasonably natural and intuitive
way.表达的逻辑是,足以让任意规格的问题,往往是在一个合理的自然和直观的方式。
Onthe other hand, it is still semi-decidable, and a
number of sound andcomplete calculi have been developed, enabling
fully automated
systems.另一方面,它仍然是半可判定的,和一些健全和完整的结石已经制定,使完全自动化的系统。
Moreexpressive logics, such as higher order and modal
logics, allow theconvenient expression of a wider range of problems
than first orderlogic, but theorem proving for these logics is less
well
developed.更表达逻辑,如高阶模态逻辑,使表达的方便,更广泛的问题,而不是一阶逻辑,但定理证明这些逻辑不太发达。
Thequality of implemented system has benefited by the
existence of a largelibrary of standard benchmark examples (the
TPTP), as well as by theCADE ATP System Competition (CASC), a
yearly competition of first-ordersystems for many important classes
of first-order problems.实施质量体系受益的存在一个大型图书馆的标准基准的例子(在TPTP )
,以及ATP系统竞争管理局(集团公司) ,每年的竞争一阶系统的许多重要类别的第一次秩序的问题。
Popular techniques热门技术
* First-order resolution with unification
*第一,为了与统一的决议
* Lean theorem proving *精益定理证明
* Model elimination *型号消除
* Method of analytic tableaux
*方法分析tableaux
* Superposition and term rewriting
*叠加和长期重写
* Model checking *模型检查
* Mathematical induction *数学归纳法
* Binary decision diagrams *二叉决策图
* DPLL *全数字锁相环
* Higher-order unification *高阶统一