7 Conclusion

A. Reyes, Lise Geetoor, T. Pressburger
{"title":"7 Conclusion","authors":"A. Reyes, Lise Geetoor, T. Pressburger","doi":"10.7591/9781501719066-007","DOIUrl":null,"url":null,"abstract":"identity of ΣA and ABS, program fragments are returned in the language ofΣC. A decision procedure replaces deductive inference on the axioms in DT. As in DRAT, the library is organized hierarchically; a new portion of the library is shown in Figure 1. Each node in the hierarchy is a 6-tuple <DT,ΣA,ΣC,ABS,I,DP>where the first four elements are the index,DP is a decision procedure schema (implemented as a common lisp object class), and I is a procedure for instantiating a decision procedure schema given an instantiation of the 4-tuple index. When the theory resolution interface gives an instantiated decision procedure a set of literals in the language of ΣA and ABS,the decision procedure returns terms in the language of ΣC as bindings for existential variables in the literals (universal variables when considered as an unsatisfiability problem). The decision procedure can also return a set of residual literals, if it is unable to completely resolve the literals given as input. More formally, given a set φ of literals in the language of ΣA and ABS, the decision procedure returns a set of literals φ ’ and set of terms t in the language of ΣC, such that ( outsare variables, DTI is the instantiated theory for the decision procedure): As an example, consider the decision procedures indexed under the Graph taxonomy in Figure 1. These decision procedures generate terms representing paths in a graph. The specification language ( ΣA) sort ‘nodes’ consist of the node labels of the graph, and the concrete language ( ΣC) sort ‘edges’ consist of the edge labels of the graph. The properties of the graph determine which decision procedure in the taxonomy is used. A decision procedure is applicable if an instantiation of its theory (i.e., DTI) is implied by the domain theory defining a graph; the decision procedure with the most specific such theory is best. Instantiated decision procedures from the Graph taxonomy take as input conjunctions of literals and build internal graph data structures representing those conjunctions. These decision procedures decide satisfiability of the conjunctions (with respect to the instantiated theory for the decision procedure) by manipulating the graphs. They also determine when variables in the conjunction are connected in the graph to constants (program input variables) and construct ground terms for those variables by traversing the graph. Instantiated decision procedures can be composed horizontally or vertically (where the concrete language for one decision procedure is the same as the abstract language for the following decision procedure). When decision procedures are combined, they communicate by passing variable bindings back and forth [7]. In addition, decision procedures can be nested —one decision procedure can take another as a parameter in order to solve subproblems. Each decision procedure in the Graph taxonomy is parameterized by a path algebra; this parameter is instantiated by a decision procedure in the hierarchy below Category (Path Algebra) in the Algebra taxonomy. Graphbased procedures invoke their procedure parameter to check the consistency of paths in graphs they are constructing and to determine if there are shorter equivalent paths. If an inconsistent path is found, the graph-based procedure signals unsatisfiability. If the path algebra procedure determines that there is a shorter equivalent path between two nodes than the existing path, the existing path is replaced by the shorter one. This ensures that the terms constructed by traversing a graph are always the simplest terms possible. 6.3 DSDRAT’s design algorithm DSDRAT’s design algorithm is an extension of DRAT’s design algorithm. The top-level control loop is similar to the pseudo-code description in Section 4. Given a structured AMPHION domain theory<DT,ΣA,ΣC,ABS>, DSDRAT begins by classifying the symbols in ΣA andABS. Relation symbols and some function symbols (those whose semantics are not given by implementation equations that can be converted to rewrite rules) in ΣA are classified. In addition, in order to connect the decision procedures at the abstract level to procedures at the concrete level, DSDRAT classifies the parameterized abstraction functions in ABS. The leftmost taxonomy in Figure 1 is used for this purpose. In the hierarchy in Figure 1, there are three taxonomies labeled Parameterized Abstraction Function, Graph, and Algebra. Each taxonomy is an and-or tree with downward links labeled by properties in roman, such as associativity of an algebra with a binary relation. Links with incompatible properties have an arc drawn between them. Nodes are theories that accumulate their axioms (properties) along the paths leading to them. Nodes with a bold label have an associated decision procedure schema. The dotted lines are definitional extensions and reformulation links. Parts of a domain theory are classified by constructing theory morphisms from the theories in the library hierarchy to parts of the domain theory. Theory morphisms are the generalization of DRAT’s instantiation of individual function, relation, and sort symbols. A theory morphism is a map from the language of one theory to the language of another theory such that the axioms of the first theory are mapped to theorems in the second theory. DSDRAT invokes AMPHION to prove such theorems. Constructing theory morphisms from the nodes in the top of the decision procedure hierarchy is mainly syntactic, since there are relatively few axioms associated with such nodes. However, constructing these morphisms can involve simple syntactic reformulations, such as tupling together sorts and currying functions. These reformulations are handled through decision procedures for several different kinds of axiom sets. To test the effectiveness of these procedures, we developed a test suite of forty specifications to compare total proof steps and run-times for three different configurations of the theorem-prover: without the strategy described in section 2, with that strategy, and with the combination of the strategy and decision procedures. Attempts to prove specifications without either the strategy or decision procedures ended in failure to find any proofs in under 100 minutes, so this configuration was abandoned. All of the forty problems were proved with the strategy-only configuration and the strategy/decision procedure configuration. On average, the strategy/decision procedure configuration found proofs in an order of magnitude less time than the strategy-only configuration. For example, in the proof of one specification the strategy-only configuration took 430 steps and 289 seconds. On the same specification, the strategy/decision procedure configuration took 58 steps in 15 seconds (Each step is a resolution or a paramodulation). Perhaps more important than the above results is that, because these procedures take advantage of well-defined mathematical structures in a domain theory, as did DRAT, this approach is amenable to automation. The next section describes the design of our system DSDRAT, which extends DRAT from analytical reasoning problems to deductive synthesis problems. We are currently implementing these extensions of DRAT. 6.Automating domain theory operationalization 6.1 ExtendingDRAT to deductive synthesis Scaling up from analytical reasoning problems to deductive synthesis problems requires extensions for: 1) the kinds of problems that are solved, 2) the outputs of the proof process, 3) the complexity of the domain theories. Technically, analytical reasoning problems are ground (un)satisfiability questions (i.e., is a ground formula (un)satisfiable in a given theory). In contrast, deductive synthesis problems for A MPHION are specifications given as preand post-conditions: whereDT is the domain theory, ins is a vector of input variables and outs is a vector of output variables. In order to simplify the exposition, we will assume the precondition (R(ins) is always true. There is a special subset of the concrete part of the domain theory language, called the output language, whose symbols name components of the target software library. Deductive synthesis proves a theorem by constructing substitutions for the output variables that are terms in the output language. The variables in these terms are input variables; hence these terms represent program fragments that compute the value of an output variable from the values of input variables. (Technically, deductive synthesis through resolution theorem-proving solves the non-ground unsatisfiability question: “is unsatisfiable?” The decision procedures designed by DSDRAT also solve unsatisfiability questions and work in conjunction with the resolution proof process through theory resolution.) In contrast to analytical reasoning problems, for deductive synthesis problems an important consideration is the algebraic structure of output terms, e.g., the equivalence classes of these terms. Inferences on this structure provide KBPS some of its advantage over the context-free, macroexpansion code-generation process used in application generators. Besides correctness we usually want to place additional requirements on these output terms for deductive synthesis, such as that they represent the best program in their equivalence class, by some measure. So far in this research we have made the assumption that the best programs satisfying a post-condition are represented by the ground terms with the smallest number of function applications. In addition to these differences in the problem types and proof-process outputs, A MPHION domain theories also differ from analytical reasoning task domain theories. The latter are unstructured and primarily relational. In contrast, AMPHION domain theories are structured into an abstract and a concrete level, with abstraction maps between these levels. DRAT for deductive synthesis (DSDRAT) extends DRAT according to these differences. DSDRAT takes a structured AMPHION domain ","PeriodicalId":127029,"journal":{"name":"Buddhist Revitalization and Chinese Religions in Malaysia","volume":null,"pages":null},"PeriodicalIF":0.0000,"publicationDate":"2017-12-31","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":"0","resultStr":null,"platform":"Semanticscholar","paperid":null,"PeriodicalName":"Buddhist Revitalization and Chinese Religions in Malaysia","FirstCategoryId":"1085","ListUrlMain":"https://doi.org/10.7591/9781501719066-007","RegionNum":0,"RegionCategory":null,"ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":null,"EPubDate":"","PubModel":"","JCR":"","JCRName":"","Score":null,"Total":0}
引用次数: 0

Abstract

identity of ΣA and ABS, program fragments are returned in the language ofΣC. A decision procedure replaces deductive inference on the axioms in DT. As in DRAT, the library is organized hierarchically; a new portion of the library is shown in Figure 1. Each node in the hierarchy is a 6-tuple where the first four elements are the index,DP is a decision procedure schema (implemented as a common lisp object class), and I is a procedure for instantiating a decision procedure schema given an instantiation of the 4-tuple index. When the theory resolution interface gives an instantiated decision procedure a set of literals in the language of ΣA and ABS,the decision procedure returns terms in the language of ΣC as bindings for existential variables in the literals (universal variables when considered as an unsatisfiability problem). The decision procedure can also return a set of residual literals, if it is unable to completely resolve the literals given as input. More formally, given a set φ of literals in the language of ΣA and ABS, the decision procedure returns a set of literals φ ’ and set of terms t in the language of ΣC, such that ( outsare variables, DTI is the instantiated theory for the decision procedure): As an example, consider the decision procedures indexed under the Graph taxonomy in Figure 1. These decision procedures generate terms representing paths in a graph. The specification language ( ΣA) sort ‘nodes’ consist of the node labels of the graph, and the concrete language ( ΣC) sort ‘edges’ consist of the edge labels of the graph. The properties of the graph determine which decision procedure in the taxonomy is used. A decision procedure is applicable if an instantiation of its theory (i.e., DTI) is implied by the domain theory defining a graph; the decision procedure with the most specific such theory is best. Instantiated decision procedures from the Graph taxonomy take as input conjunctions of literals and build internal graph data structures representing those conjunctions. These decision procedures decide satisfiability of the conjunctions (with respect to the instantiated theory for the decision procedure) by manipulating the graphs. They also determine when variables in the conjunction are connected in the graph to constants (program input variables) and construct ground terms for those variables by traversing the graph. Instantiated decision procedures can be composed horizontally or vertically (where the concrete language for one decision procedure is the same as the abstract language for the following decision procedure). When decision procedures are combined, they communicate by passing variable bindings back and forth [7]. In addition, decision procedures can be nested —one decision procedure can take another as a parameter in order to solve subproblems. Each decision procedure in the Graph taxonomy is parameterized by a path algebra; this parameter is instantiated by a decision procedure in the hierarchy below Category (Path Algebra) in the Algebra taxonomy. Graphbased procedures invoke their procedure parameter to check the consistency of paths in graphs they are constructing and to determine if there are shorter equivalent paths. If an inconsistent path is found, the graph-based procedure signals unsatisfiability. If the path algebra procedure determines that there is a shorter equivalent path between two nodes than the existing path, the existing path is replaced by the shorter one. This ensures that the terms constructed by traversing a graph are always the simplest terms possible. 6.3 DSDRAT’s design algorithm DSDRAT’s design algorithm is an extension of DRAT’s design algorithm. The top-level control loop is similar to the pseudo-code description in Section 4. Given a structured AMPHION domain theory, DSDRAT begins by classifying the symbols in ΣA andABS. Relation symbols and some function symbols (those whose semantics are not given by implementation equations that can be converted to rewrite rules) in ΣA are classified. In addition, in order to connect the decision procedures at the abstract level to procedures at the concrete level, DSDRAT classifies the parameterized abstraction functions in ABS. The leftmost taxonomy in Figure 1 is used for this purpose. In the hierarchy in Figure 1, there are three taxonomies labeled Parameterized Abstraction Function, Graph, and Algebra. Each taxonomy is an and-or tree with downward links labeled by properties in roman, such as associativity of an algebra with a binary relation. Links with incompatible properties have an arc drawn between them. Nodes are theories that accumulate their axioms (properties) along the paths leading to them. Nodes with a bold label have an associated decision procedure schema. The dotted lines are definitional extensions and reformulation links. Parts of a domain theory are classified by constructing theory morphisms from the theories in the library hierarchy to parts of the domain theory. Theory morphisms are the generalization of DRAT’s instantiation of individual function, relation, and sort symbols. A theory morphism is a map from the language of one theory to the language of another theory such that the axioms of the first theory are mapped to theorems in the second theory. DSDRAT invokes AMPHION to prove such theorems. Constructing theory morphisms from the nodes in the top of the decision procedure hierarchy is mainly syntactic, since there are relatively few axioms associated with such nodes. However, constructing these morphisms can involve simple syntactic reformulations, such as tupling together sorts and currying functions. These reformulations are handled through decision procedures for several different kinds of axiom sets. To test the effectiveness of these procedures, we developed a test suite of forty specifications to compare total proof steps and run-times for three different configurations of the theorem-prover: without the strategy described in section 2, with that strategy, and with the combination of the strategy and decision procedures. Attempts to prove specifications without either the strategy or decision procedures ended in failure to find any proofs in under 100 minutes, so this configuration was abandoned. All of the forty problems were proved with the strategy-only configuration and the strategy/decision procedure configuration. On average, the strategy/decision procedure configuration found proofs in an order of magnitude less time than the strategy-only configuration. For example, in the proof of one specification the strategy-only configuration took 430 steps and 289 seconds. On the same specification, the strategy/decision procedure configuration took 58 steps in 15 seconds (Each step is a resolution or a paramodulation). Perhaps more important than the above results is that, because these procedures take advantage of well-defined mathematical structures in a domain theory, as did DRAT, this approach is amenable to automation. The next section describes the design of our system DSDRAT, which extends DRAT from analytical reasoning problems to deductive synthesis problems. We are currently implementing these extensions of DRAT. 6.Automating domain theory operationalization 6.1 ExtendingDRAT to deductive synthesis Scaling up from analytical reasoning problems to deductive synthesis problems requires extensions for: 1) the kinds of problems that are solved, 2) the outputs of the proof process, 3) the complexity of the domain theories. Technically, analytical reasoning problems are ground (un)satisfiability questions (i.e., is a ground formula (un)satisfiable in a given theory). In contrast, deductive synthesis problems for A MPHION are specifications given as preand post-conditions: whereDT is the domain theory, ins is a vector of input variables and outs is a vector of output variables. In order to simplify the exposition, we will assume the precondition (R(ins) is always true. There is a special subset of the concrete part of the domain theory language, called the output language, whose symbols name components of the target software library. Deductive synthesis proves a theorem by constructing substitutions for the output variables that are terms in the output language. The variables in these terms are input variables; hence these terms represent program fragments that compute the value of an output variable from the values of input variables. (Technically, deductive synthesis through resolution theorem-proving solves the non-ground unsatisfiability question: “is unsatisfiable?” The decision procedures designed by DSDRAT also solve unsatisfiability questions and work in conjunction with the resolution proof process through theory resolution.) In contrast to analytical reasoning problems, for deductive synthesis problems an important consideration is the algebraic structure of output terms, e.g., the equivalence classes of these terms. Inferences on this structure provide KBPS some of its advantage over the context-free, macroexpansion code-generation process used in application generators. Besides correctness we usually want to place additional requirements on these output terms for deductive synthesis, such as that they represent the best program in their equivalence class, by some measure. So far in this research we have made the assumption that the best programs satisfying a post-condition are represented by the ground terms with the smallest number of function applications. In addition to these differences in the problem types and proof-process outputs, A MPHION domain theories also differ from analytical reasoning task domain theories. The latter are unstructured and primarily relational. In contrast, AMPHION domain theories are structured into an abstract and a concrete level, with abstraction maps between these levels. DRAT for deductive synthesis (DSDRAT) extends DRAT according to these differences. DSDRAT takes a structured AMPHION domain
7结论
ΣA和ABS的身份,程序片段返回语言ofΣC。用判定程序代替了DT中公理的演绎推理。与DRAT一样,图书馆是分层组织的;库的新部分如图1所示。层次结构中的每个节点都是一个6元组,其中前四个元素是索引,DP是一个决策过程模式(作为公共lisp对象类实现),I是一个给定4元组索引实例化的决策过程模式的实例化过程。当理论解析接口为实例化的决策过程提供ΣA和ABS语言的一组文字时,决策过程返回ΣC语言的项,作为文字中存在变量(作为不可满足性问题考虑的通用变量)的绑定。如果决策过程不能完全解析作为输入的文本,它也可以返回一组剩余文本。更正式地说,给定ΣA语言和ABS语言的字面量集φ,决策过程返回ΣC语言的字面量集φ '和术语集t,这样(除了变量之外,DTI是决策过程的实例化理论):作为一个例子,考虑图1中在Graph分类法下索引的决策过程。这些决策过程生成表示图中路径的术语。规范语言(ΣA)排序“节点”由图的节点标签组成,具体语言(ΣC)排序“边”由图的边标签组成。图的属性决定使用分类法中的哪个决策过程。如果判定过程的理论实例(即DTI)被定义图的域理论所隐含,则判定过程是适用的;这种理论最具体的决策程序是最好的。来自Graph分类法的实例化决策过程将文本的连词作为输入,并构建表示这些连词的内部图数据结构。这些决策过程通过操作图来决定连接的可满足性(相对于决策过程的实例化理论)。它们还确定连接中的变量在图中何时连接到常量(程序输入变量),并通过遍历图为这些变量构造基项。实例化的决策过程可以横向或纵向组合(其中一个决策过程的具体语言与下一个决策过程的抽象语言相同)。当决策过程组合在一起时,它们通过来回传递变量绑定进行通信[7]。此外,决策过程可以嵌套,一个决策过程可以将另一个决策过程作为参数来求解子问题。图分类法中的每个决策过程都用一个路径代数参数化;该参数由代数分类法中Category (Path Algebra)下面的层次结构中的决策过程实例化。基于图的过程调用它们的procedure参数来检查它们正在构造的图中路径的一致性,并确定是否存在更短的等效路径。如果发现不一致的路径,则基于图的过程发出不满意的信号。如果路径代数过程确定两个节点之间存在比现有路径更短的等效路径,则用更短的路径替换现有路径。这确保了通过遍历图构建的项总是尽可能简单的项。6.3 DSDRAT的设计算法DSDRAT的设计算法是对DRAT设计算法的扩展。顶层控制循环类似于第4节中的伪代码描述。给定结构化的AMPHION域理论,DSDRAT首先对ΣA和abs中的符号进行分类。对ΣA中的关系符号和一些函数符号(其语义不是由实现方程给出的,可以转换为重写规则的那些符号)进行了分类。此外,为了将抽象层的决策过程与具体层的过程连接起来,DSDRAT对ABS中的参数化抽象函数进行了分类,为此使用图1中最左边的分类法。在图1中的层次结构中,有三个分类,分别是参数化抽象函数、图和代数。每个分类法都是一个带有向下链接的and-or树,用罗马字母标记属性,例如具有二元关系的代数的结合性。具有不相容属性的链接在它们之间画一条弧。节点是沿着通向它们的路径积累公理(属性)的理论。带有粗体标签的节点具有关联的决策过程模式。虚线表示定义扩展和重新表述的链接。通过构造从库层次理论到领域理论各部分的理论态射,对领域理论的各个部分进行分类。 理论态射是DRAT对单个函数、关系和排序符号实例化的推广。理论态射是从一个理论的语言映射到另一个理论的语言,使得第一个理论的公理映射到第二个理论中的定理。DSDRAT调用了AMPHION来证明这些定理。从决策过程层次结构顶端的节点构造理论态射主要是语法上的,因为与这些节点相关的公理相对较少。但是,构造这些态射可能涉及简单的语法重新表述,例如将排序和柯里化函数组合在一起。这些重新表述是通过对几种不同类型公理集的决策过程来处理的。为了测试这些过程的有效性,我们开发了一个包含40个规范的测试套件,以比较定理证明器的三种不同配置的总证明步骤和运行时间:没有第2节中描述的策略,使用该策略,以及策略和决策过程的组合。尝试在没有策略或决策过程的情况下证明规范,结果无法在100分钟内找到任何证明,因此放弃了此配置。用纯策略组态和策略/决策过程组态对这40个问题进行了证明。平均而言,策略/决策过程配置找到证据的时间比仅策略配置少一个数量级。例如,在一个规范的证明中,纯策略配置需要430个步骤和289秒。在相同的规范中,策略/决策过程配置在15秒内执行了58个步骤(每个步骤都是一个解析或一个调节)。也许比上述结果更重要的是,因为这些过程利用了领域理论中定义良好的数学结构,就像DRAT一样,这种方法可以自动化。下一节描述了我们的系统DSDRAT的设计,它将DRAT从分析推理问题扩展到演绎综合问题。我们目前正在实施《草案》的这些扩展。6.从分析推理问题扩展到演绎综合问题需要扩展:1)解决的问题种类,2)证明过程的输出,3)领域理论的复杂性。从技术上讲,分析推理问题是基础(非)可满足性问题(即,在给定理论中是否有一个基础公式(非)可满足性)。相比之下,A MPHION的演绎综合问题是作为前置和后置条件给出的规范:其中edt是域理论,ins是输入变量的向量,outs是输出变量的向量。为了简化说明,我们假设前提条件(R(ins))总是成立。领域理论语言的具体部分有一个特殊的子集,称为输出语言,它的符号命名目标软件库的组件。演绎综合通过构造替换输出变量来证明定理,这些变量是输出语言中的项。这些项中的变量是输入变量;因此,这些术语表示从输入变量的值计算输出变量值的程序片段。(从技术上讲,通过分辨定理证明的演绎综合解决了非根据不可满足性问题:“是否不可满足?”DSDRAT设计的决策程序也解决了不满意问题,并通过理论解决与解决证明过程相结合。与分析推理问题相反,演绎综合问题的一个重要考虑是输出项的代数结构,例如,这些项的等价类。对这种结构的推断使KBPS比应用程序生成器中使用的与上下文无关的宏展开代码生成过程具有一些优势。除了正确性之外,我们通常希望对演绎综合的这些输出项提出额外的要求,例如它们在某种程度上代表了等价类中的最佳程序。到目前为止,在这项研究中,我们已经假设满足后设条件的最佳程序是由具有最少数量函数应用的基本项表示的。除了问题类型和证明过程输出的这些差异之外,A MPHION领域理论也不同于分析推理任务领域理论。后者是非结构化的,主要是关系型的。相比之下,AMPHION领域理论分为抽象和具体两个层次,在这两个层次之间有抽象映射。根据这些差异,DSDRAT对DRAT进行了扩展。DSDRAT采用结构化的AMPHION域
本文章由计算机程序翻译,如有差异,请以英文原文为准。
求助全文
约1分钟内获得全文 求助全文
来源期刊
自引率
0.00%
发文量
0
×
引用
GB/T 7714-2015
复制
MLA
复制
APA
复制
导出至
BibTeX EndNote RefMan NoteFirst NoteExpress
×
提示
您的信息不完整,为了账户安全,请先补充。
现在去补充
×
提示
您因"违规操作"
具体请查看互助需知
我知道了
×
提示
确定
请完成安全验证×
copy
已复制链接
快去分享给好友吧!
我知道了
右上角分享
点击右上角分享
0
联系我们:info@booksci.cn Book学术提供免费学术资源搜索服务,方便国内外学者检索中英文文献。致力于提供最便捷和优质的服务体验。 Copyright © 2023 布克学术 All rights reserved.
京ICP备2023020795号-1
ghs 京公网安备 11010802042870号
Book学术文献互助
Book学术文献互助群
群 号:481959085
Book学术官方微信