自动推理(二)
1。p(x)∨q(x)假设
2 ~p(x)∨r(x)假设
3 ~q(x)∨r(x)假设
4。~r(a)否定的结论
5。~p(a)res 2 4
6。q(a)res 1 5
7。r(a)res 3 6
8。[] res 4 7
除了不受限制的归档外,还提到的所有策略都是远离驳斥的完整性。 效率是自动推理中的重要考虑因素,有时可能愿意交易完整性。 单位分辨率和输入分辨率是线性分辨率的两种细化。 在前者中,一个解决的条款总是一个字面; 在后者中,其中一个已解析的子句始终从原始集中选中待驳斥。 尽管有效,但既不是策略。 订购策略在扣除中发生的谓词符号,术语,文字或子句上施加某种形式的部分排序。 订购的决议不作为文字集的条款,而是作为序列 - 线性的文字命令。 订购的分辨率非常有效,但像单位和输入分辨率一样,不是驳斥完成。 最后,必须指出的是,一些策略以牺牲他人的牺牲品改善扣除过程的某些方面。 例如,策略可以根据增加的最短反驳的时间来减少证明搜索空间的大小。 在Bonacina 1999中可以发现分类法和定理策略的详细介绍; 讨论决议的相对复杂性(即效率措施)见Buresh-OppeNheim&Pitassi 2003,以及1987年的urquhart 1987。
有几个基于分辨率的自动推理程序或分辨率的改进。 水獭(Prover4成功)是自动推理发展的推动力(WOS,Ovebeek,Lusk&Boyle 1984),但它已被吸血鬼(Voronkov 1995,Kovács&voronkov 2013)。 解决方案还为流行的逻辑编程语言PROLOG提供了潜在的逻辑计算机制(CLOCKSIN&MELLISH 1981)。
2.2续集扣除
Hilbert风格的Calculi(希尔伯特和Ackermann 1928)传统上用于表征逻辑系统。 这些计算通常由少数公理结构组成和少量规则,通常包括Modus Ponens和替代规则。 虽然它们符合所需的理论要求(健全,完整性等),但在这些计算中的证明建设中的方法是困难的,并且不反映标准做法。 这是绅士的目标“建立一种形式主义,尽可能准确地反映数学证明所涉及的实际逻辑推理”(Gentzen 1935)。 要执行这项任务,绅士分析了证明施工过程,然后设计了两种辅助计算,用于古典逻辑:自然扣核,NK和序列结石,LK。 (Gentzen实际上首先设计了NK,然后引入了LK以追求任何传言调查)。 在很大程度上,Calculi在很大程度上达到了他的目标,同时管理确保健全和完整性。 两个Calculi都以相对较大数量的推导规则和简单的AxioM模式为特征。 在两个Calculi中,LK是自动推理计划的实现中最广泛应用的LK,它是我们将首先讨论的那个; NK将在下一节中讨论。
虽然LK规则的应用影响了逻辑公式,但规则被视为操纵不是逻辑公式本身,但是它们的顺序。 顺序是表达式γ→δ的表达,其中γ和δ都是(可能是空的)的公式。 γ是序列的前一种和δ它的成功。 它们可以解释顺序:让我成为解释。 然后,
我满足搜索γ→δ(写为:i⊨γ→δ)IFF
无论是αα(对于一些ανγ)或i⊨β(对于一些βχδ)。
换句话说,
i⊨γ→ΔIFFI1(α1&...&αn)△(β1-...∨βnβn),其中α1&αn是γ和β1∨的迭代结合。是δ中的迭代脱位。
如果γ或δ为空,则它们分别有效或不可挑例。 LK的公理是Sequentγ→δ,其中γ∩δ。 因此,在→符号的每一侧发生相同公式的要求意味着LK的公理是有效的,因为没有解释,然后可以使所有公式在γ真处使所有的公式使得所有这些都使得所有这些都在Δ假中制造所有那些。 LK每个逻辑连接有两个规则,加上一个额外的规则:削减规则。
公理。削减规则
γ,α→δ,α
γ→δ,αα,λ→σ
γ,λ→δ,σ
前规则(θ→)加工规则(→θ)
&→
γ,α,β→δ
γ,α和β→δ
→&
γ→δ,αγ→δ,β
γ→δ,α和β
∨→
γ,α→δγ,β→δ
γ,α∨β→δ
→∨
γ→δ,α,β
γ→δ,α∨β
⊃→
γ→δ,αγ,β→δ
γ,α⊃β→δ
→⊃
γ,α→δ,β
γ→δ,α⊃β
⊃≡
γ,α,β→δγ→δ,α,β
γ,α≡β→δ
≡⊃
γ,α→δ,βγ,β,→δ,α
γ→δ,α≡β
〜→
γ→δ,α
γ,~α→δ
→〜
γ,α→δ
γ→δ,~α
∃→
γ,α(一个/ x)→δ
γ,∃xα(x)→δ
→∃
γ→δ,α(t / x),∃xα(x)
γ→δ,∃xα(x)
∀→
γ,α(t / x),∀xα(x)→δ
γ,∀xα(x)→δ
→∀
γ→δ,α(一个/ x)
γ→δ,∀xα(x)
规则线之上的顺序称为规则的场所,线下方的顺序是规则的结论。 量化规则∃→→→→→∀具有限制其适用性的特征等条件,即不得在γ,δ或量化的句子中发生。 该限制的目的是确保在替代过程中使用的参数A的选择完全“任意”。
LK中的证明表示为树中的每个节点的树,其中用搜索标记,并且原始搜索位于树的根目录中。 节点的子节点是在该节点处应用规则的前提。 树的叶子用公理标记。 这是来自集合{∀x(p(x)∨q(x)),∀x(p(x)⊃r(x)),∀x(q(x)⊃r(x))}的∃xr(x)的LK-验证。 在下面的树中,γ代表此集合:
γ,p(a)→p(a),r(a),∃xr(x)γ,p(a),r(a)→r(a),∃xr(x)
γ,p(一),p(一)⊃r(一)→r(一),∃xr(x)
γ,p(一)→r(一),∃xr(x)
γ,q(a)→q(a),r(a),∃xr(x)γ,q(a),r(a)→r(a),∃xr(x)
γ,q(一),q(一)⊃r(一)→r(一),∃xr(x)
γ,q(一)→r(一),∃xr(x)
γ,p(一)∨q(一)→r(一),∃xr(x)
γ→r(一),∃xr(x)
γ→∃xr(x)
在我们的示例中,证明树中的所有叶子都标有公理。 这建立了γ→∃xr(x)的有效性,因此,γ⊨∃xr(x)的事实。 LK在证明结论方面采取间接方法,这是LK和NK之间的重要区别。 虽然NK构建了实际证明(来自给定假设的结论),但是LK构建了证明证明证明存在的证据(假设的结论)。 例如,为了证明α是由γ引起的,NK构造来自γ的α的逐步证据(假设存在一个); 相反,LK首先构建搜索γ→α,然后试图通过表示不能制作假试验有效。 这是通过搜索构成(所有句子)γtrue的counterexample来完成的,使得αfalse:如果搜索失败,则不存在一个counterexample并且因此有效。 在这方面,LK的证明树实际上是驳斥证明。 像分辨率一样,LK是驳斥完成:如果γία则该搜索γ→α具有校验树。
在它所立的情况下,LK不适合自动扣除,并且在有效实施之前必须克服一些障碍。 当然,原因是LK完整性的陈述只需要宣称,对于每次有关关系,证明树的存在,但推理计划具有更加艰巨的任务,实际上必须建造一个。 一些主要障碍:首先,LK未指定规则必须在校验树的构建中应用规则的顺序。 其次,作为第一个问题的特定情况,规则→→→∃规则中的房屋继承了应用规则的量化公式,这意味着规则可以重复应用于将证明搜索发送到无穷无尽的循环中的相同公式。 第三,LK不指示在应用规则的应用中必须选择哪个公式。 第四,量词规则不提供任何术语或免费变量必须在其部署中使用的迹象。 第五,并且作为先前问题的特定情况,量词规则的应用可能导致无限的长树枝,因为在实例化中使用的适当术语从未被选中。 幸运的是,我们将在下面暗示这些问题可以成功解决这些问题。
LK中的公理顺序有效,并且规则的结论是有效的IFF。 这一事实允许我们在任一方向上施加LK规则,从公理到结论,或从结论到公理的结论。 此外,除了削减规则之外,所有规则的房屋都是其各自结论的子统计学。 出于自动扣除的目的,这是一个重要的事实,我们希望省略削减规则; 幸运的是,无缺陷的LK版本保留了其驳斥完整性(Gentzen 1935)。 这些结果为以倒退方式构建防尘,提供了强大的案例; 实际上,通过这种方式工作,无缺陷的LK中的驳斥变得越来越简单,因为它的进展是比其父式公式更简单的。 此外,就命题规则而言,进入树中的新子果实完全由无缺陷的LK规则决定。 此外,并且假设证明树可以完成,并且分支最终最终用原子结束,并且可以快速确定公理的存在。 向后工作的另一个原因是无缺陷LK的真实功能片段是融合的,即应用非量化规则的命令是无关紧要的:如果有证据,无论你做什么,你都会碰到它! 要将量程规则带入图片中,可以安排的是,所有规则都有一个公平的部署机会:在应用任何量程规则之前,尽可能适用所有非数量规则。 这需要第一和第二次障碍,并且看不到现在将如何处理第三个障碍。 通过要求替换中使用的术语适用于Herbrand宇宙(Herbrand 1930),可以解决第四和第五障碍。
通过努力机械化数学(Wang 1960)的努力启动了在自动定理证明中使用序列类型计算。 当时,决议捕获了自动推理社区的大部分注意,但在20世纪70年代,一些研究人员开始进一步调查非决议方法(Bredsoe 1977),促使富豪和持续的努力开发更多以人以人为本的定理探明系统(Bledsoe 1975,Nevins 1974)。 最终,序列式扣除再次获得动力,特别是在其重新加入作为分析Tableaux(装配1990)。 在TableAux中使用的扣除方法基本上是无缺陷的LK,用于代替顺序的组。
2.3自然扣除
虽然LK和NK通常被标记为“自然扣除”系统,但后者,由于其更加自然,人类,防范建设的方法,最好应得的标题。 NK的规则通常在隐式理解的背景下呈现在标准逻辑公式上,但在文献中也通常在“判断”上以更明确的方式表示,即γ⊢α的表达式,其中γ⊢α的表达式式和α是公式。 该形式通常被理解为使转发具有来自γ(Kleene 1962)的α的证据。 在Gentzen 1935和Prawitz 1965年之前,我们采取了前一种方法。 系统NK没有逻辑公理,为每个逻辑连接提供两个引入 - 消除规则:
简介规则(θi)消除规则(θe)
与我
αβ
α和β
&e
α1&α2
αi(对于i = 1,2)
∨i
αi(对于i = 1,2)
α1∨α2
∨e
α∨β。[α - γ] [β - γ]
γ
⊃i
[α - β]
α⊃β
⊃e
αα⊃β
β
≡i
[α - β] [β - α]
α≡β
≡e
αi(我= 0,1)α0≡α1
α1 - 我
~i
[α - ⊥]
~α
~e
[〜α - ⊥]
α
∃i
α(t / x)
∃xα(x)
∃e
∃xα(x)[α(a / x) - β]
β
∀i
α(一个/ x)
∀xα(x)
∀e
∀xα(x)
α(t / x)
一些备注:首先,表达[α-γ]表示α是γ的证明,最终排出的γ是辅助假设,即丢弃。 例如,∃e告诉我们,如果在构建证据的过程中已经衍生出∃xα(x)并且也具有α(a / x)的β作为辅助假设,则允许推理对β的推断。 其次,特征分数,a,∃e和∀i必须是外国的,未判定 - “活跃” - assassumptions,在统治的结论中,并且在∃e的情况下,到∃xα(x)。 第三,⊥是两个矛盾的公式,β和β的速记。 最后,NK是完整的:如果γία则使用NK的规则,γία有来自γ的α。
如LK在LK中,NK所构建的证据被坐在树根根部的证据结束的树木上,问题坐在叶子上的问题。 (证明也通常作为判断序列,γία,从印刷页面的顶部运行。)以下是∀x(p(x)∨q(x)),∀x(P(x)⊃r(x))和∀x(q(x)⊃r(x)):
∀x(p(x)∨q(x))
p(一)∨q(一)
∀x(p(x)⊃r(x))
p(一)⊃r(一)
[p(一)受体(一)]
r(一)
∀x(q(x)⊃r(x))
q(一)⊃r(一)
[q(一)受体(一)]
r(一)
r(一)
∃xr(x)
与LK一样,证明施工的前后链接策略并不完全集中。 因此,尽管读取证明,即从叶子到root或从逻辑上讲,从假设到结论,但这不是通常构造的方式。 通过以相反的顺序应用规则实施的落后链接策略更有效。 上面讨论的许多障碍在实施过程中扣除的实施方案也适用于自然扣除。 这些问题可以以类似的方式处理,但自然扣除介绍了自己的一些问题。 例如,如⊃引入规则所提出的,为了证明形式的目标,可以试图在假设α上证明β。 但请注意,虽然目标α⊃β与任何其他引言规则的结论不匹配,但它符合所有消除规则的结论,并且推理计划也需要考虑这些路线。 与前进链一样,这里存在与证明无关的目标的风险,可以误入歧途。 Wit:是什么阻止程序进入永无止境的建筑过程,说,更大和更大的连词? 或者,有什么可以防止不受控制的落后应用中的落后应用程序,例如 - 消除? 幸运的是,NK在进入自然扣除证据的情况下享有子宫属性,可以限于γίδν{α}的子界,其中Δ是由〜消除制成的辅助假设集规则。 通过利用Subficalula属性,自然扣除自动化定理证明者可以大大减少其搜索空间,并在控制下落后申请消除规则(Portoraro 1998,Sieg&Byrnes 1996)。 如果一个人愿意将NK逻辑的范围限制在其直觉片段中,可以实现进一步的收益,其中每个证据都有正常形式,没有通过引入规则获得公式,然后通过消除规则(PRAWITZ 1965)消除。
使用NK扣除的自动定理证明系统的实现已经激励了具有恰当的程序原因,以精确相同的相同证明格式和人类使用的方法。 这在教育领域尤其如此,学生从事正式证明的正式证据的互动建设,在类似于定理箴言的指导下工作,准备在需要提供援助(Portoraro 1994,Supptes 1981)下提供援助。 其他,研究为导向,定理对NK的精神存在(颗粒1998)但很少见。
2.4矩阵连接方法
矩阵连接方法的名称(Bibel 1981)表示其运行方式。 术语“矩阵”是指表达该问题的一组逻辑公式的形式; 术语“连接”是指该方法在这些公式上操作的方式。 为了说明工作中的方法,我们将使用来自命题逻辑的示例,并显示r由p∨q,p⊃r和q⊃r引用。 这是通过建立公式来完成的
(p∨q)和(p⊃r)和(q⊃r)和~r
是不可挑离的。 为此,我们首先将其转化为联合正常形式:
(p∨q)和(~p∨r)和(~q∨r)和~r
然后将该公式表示为矩阵,每个行的一个结合,并且在一行中,每个列分开一个:
p q
~p r
~q r
~r
现在的想法是探讨通过该矩阵运行的所有可能的垂直路径。 垂直路径是从矩阵中的每一行中选择的一组文字,使得每个文字来自不同的行。 垂直路径:
路径1。p,~p,~q和~r
路径2。p,~p,r和~r
路径3。p,r,~q和~r
路径4。p,r,r和~r
路径5。q,~p,~q和~r
路径6。q,~p,r和~r
路径7。q,r,~q和~r
路径8。q,r,r和~r
如果它包含一个互补的文字,则路径是互补的。 例如,路径2是互补的,因为它具有P和~P,但是路径6是路径6,因为它包含R和~R。 请注意,一旦路径包括两个互补文字,就没有点追求路径,因为它本身变得互补。 这通常允许检查要检查的路径数量的大。 在任何情况下,上述矩阵中的所有路径都是互补的,这一事实建立了原始公式的不可起作用。 这是矩阵连接方法的本质。 该方法可以扩展到谓词逻辑,但这种要求额外的逻辑设备:通过统一的套路,可变重命名,量化重复,路径的互补性,以及跨所有矩阵路径的同时替换(Bibel 1981,Andrews 1981)。 在高阶逻辑(Andrews 1981)和非古典逻辑(Wallen 1990)中,已经在推理程序中实现了该方法的变体。
2.5术语重写
平等是一种重要的逻辑关系,其行为在自动扣除中的行为值得自己的单独治疗。 等式逻辑,更一般地,术语重写将等式等方程式作为重写规则,也称为还原或解调规则。 像f(a)= a等相等语句允许简化术语,如g(c,f(a))到g(c,a)。 然而,相同的等式也具有产生不合作的大术语:G(C,F(a)),g(f(f(a)),g(c,f(f(f(f(a)))),......。 术语重写从公式逻辑的区分是什么,在重写方程中用作单向减少规则,而不是在两个方向上工作的平等。 重写规则具有T1ΣT2的表单,基本思想是寻找表达式E中发生的术语T,使得T与uniberθ的T1 unifies unifies,使得Eθ中的发生T1θ可以由T2θ代替。 例如,重写规则x +0⇒x允许重写Succ(Succ(0)+0)作为Succ(Succ(0))。
为了说明期限重写中的主要思想,让我们探索涉及符号分化的示例(该示例和随后的讨论由Baader&Nipkow 1998的第1章调整)。 让Der表示衍生的视为x,让y是与x不同的变量,让您和v是在表达式上进行的变量。 我们定义了重写系统:
德国(x)⇒1
德国(y)⇒0
德国(u + v)⇒der(u)+德(v)
德国(u×v)⇒(u×德(v))+(德(u)×v)
同样,符号⇒表示匹配重写规则的左侧的术语应由规则的右侧替换。 要在工作中看到差异化系统,让我们计算x×x的衍生物,x,der(x×x):