We develop various proof techniques for the synthesis of sorting algorithms on binary trees, by extending our previous work on the synthesis of algorithms on lists. Appropriate induction principles are designed and va...
详细信息
ISBN:
(纸本)9783319300009;9783319299990
We develop various proof techniques for the synthesis of sorting algorithms on binary trees, by extending our previous work on the synthesis of algorithms on lists. Appropriate induction principles are designed and various specific prove-solve methods are experimented, mixing rewriting with assumption-based forward reasoning and goal-based backward reasoning a la Prolog. The proof techniques are implemented in the Theorema system and are used for the automatic synthesis of several algorithms for sorting and for the auxiliary functions, from which we present few here. Moreover we formalize and check some of the algorithms and some of the properties in the Coq system.
In the frame of our previous experiments for proof based synthesis of sorting algorithms for lists and for binary trees, we employed certain special techniques which are able to generate multiple variants of sorting a...
详细信息
ISBN:
(纸本)9781509004614
In the frame of our previous experiments for proof based synthesis of sorting algorithms for lists and for binary trees, we employed certain special techniques which are able to generate multiple variants of sorting and merging, by investigating all combinations of auxiliary functions available for composing objects (lists, respectively trees). The purpose of this paper is to describe this technique and the results obtained. We present the main principles and the application of this technique to merging of sorted binary trees into a sorted one. Remarkably, merging requires a nested recursion, for which an appropriate induction principle is difficult to guess. Our method is able to find it automatically by using a general Noetherian induction and the combinatorial technique.
We address the automation of the processes of algorithm synthesis and systematic exploration of the theory of lists. Our focus is on methods, techniques, inference rules and strategies for computer based synthesis of ...
详细信息
We address the automation of the processes of algorithm synthesis and systematic exploration of the theory of lists. Our focus is on methods, techniques, inference rules and strategies for computer based synthesis of list algorithms based on proving. Starting from the specification of the problem (input and output conditions), a synthesis statement is built: "for any list satisfying the input condition, there exists a list satisfying the output condition". The main difficulty is to find a constructive proof of this statement, from which the corresponding algorithm is easily extracted as a set of conditional equalities. In more detail, we aim at computer automation of the proof of the existence of the sorted version of the input list. By using different proof methods we automatically synthesize five sorting algorithms: Selection-Sort, Insertion-Sort, Quick-Sort, Merge Sort, and a novel algorithm, which we call Unbalanced Merge-Sort, as well as the auxiliary functions used in the sorting algorithms. The theory we use is first order, and mostly contains formulae which are equivalent to Horn clauses. Therefore, except for induction, SLD resolution style inferences are in principle sufficient for performing the proofs. However, for most of the proofs this leads to a very large search space. Therefore we introduce several novel inference rules and specific strategies, which are based on the properties of lists, and which we developed in the course of this case study on sorting. Moreover, during the process of algorithm synthesis we explore the theory of lists by introducing (automatically prove, and then use) the necessary properties. When the knowledge base does not contain the auxiliary functions needed for the respective version of the algorithm, then the proof fails and from this failure a new proof goal is created, which is the synthesis statement for the missing auxiliary functions ("cascading"). (C) 2014 Published by Elsevier Ltd.
We apply the synthesis method introduced in our previous work in order to synthesize from proofs certain algorithms operating on sorted lists without duplications ("monotone lists"). The corresponding prover...
详细信息
ISBN:
(纸本)9781479999118
We apply the synthesis method introduced in our previous work in order to synthesize from proofs certain algorithms operating on sorted lists without duplications ("monotone lists"). The corresponding prover and algorithm extractor are implemented in the Theorema system. Three algorithms are automatically discovered from proofs: symmetrical difference, cartesian product and the cardinality. The larger context of this work is the manipulation of sets represented as monotone lists. This is a case study in which we demonstrate how to generate automatically the necessary functions, starting from properties from set theory. The properties of sets and of monotone lists which are necessary for the proofs are collected systematically in a knowledge base which extends the one presented in our previous work. This process of theory exploration is supported by a special prover which is able to prove automatically all the statements which are logical consequences of the axioms.
This paper proposes a systematic strategy for the automated implementation of mixed constraint- and input-output-based representations of signal processing systems. Examples of the strategy are provided in synthesizin...
详细信息
This paper proposes a systematic strategy for the automated implementation of mixed constraint- and input-output-based representations of signal processing systems. Examples of the strategy are provided in synthesizin...
详细信息
ISBN:
(纸本)9781467369985
This paper proposes a systematic strategy for the automated implementation of mixed constraint- and input-output-based representations of signal processing systems. Examples of the strategy are provided in synthesizing algorithms derived from signal-flow graphs having delay-free loops, as well as in performing automated system inversion. An algorithm that follows the strategy, and which has been deployed online as part of an edX course, is discussed in greater focus. Sensitivity analysis of systems designed using the algorithm is provided.
The paper presents the systematic exploration in the Theorema system of the theory of sets represented as sorted lists without duplications. This theory was build-up in parallel with the process of algorithm synthesis...
详细信息
ISBN:
(纸本)9781479959969
The paper presents the systematic exploration in the Theorema system of the theory of sets represented as sorted lists without duplications. This theory was build-up in parallel with the process of algorithm synthesis in the Theorema system. Sets are represented as ascending ordered lists without duplication, called monotone lists. The elements of the sets are assumed to be from an ordered domain. The representation is realized by two bijective functions R (from sets to lists) and S (from lists to sets) which are inverse to each other. This approach leads to more efficient algorithms then the ones for operating on sets represented as non-sorted lists.
We start from the set theory axioms and we represent sets by monotone lists (sorted lists without duplications). For this, we define a representation function R and its reverse S and we want to synthesize the implemen...
详细信息
ISBN:
(纸本)9780769549347;9781467350266
We start from the set theory axioms and we represent sets by monotone lists (sorted lists without duplications). For this, we define a representation function R and its reverse S and we want to synthesize the implementation of the essential corresponding predicates and functions over sets. Each synthesis starts as an inductive constructive proof which applies specific strategies and inference rules. We synthesize (by extracting from proofs) five algorithms among which two predicates: membership and inclusion;and three functions: union, intersection, and difference. In the process of proving we use properties from the theory of sets and we also add other necessary properties in the knowledge base. In this way we explore the theory of sets (represented as monotone lists). The program synthesis and the corresponding theory exploration are carried out in the frame of the Theorema system. One of the major advantages of our approach is that the algorithms for operating on sets represented as monotone lists are more efficient than the ones for operating on sets represented as non-sorted lists.
In this paper we describe a systematic technique for designing parallel algorithms to solve linear systems. Our approach is based on the logic derivation of a target algorithm from specification of basic relations in ...
详细信息
暂无评论