Mechanical synthesis of sorting algorithms for binary trees by logic and combinatorial techniques. (January 2019)
- Record Type:
- Journal Article
- Title:
- Mechanical synthesis of sorting algorithms for binary trees by logic and combinatorial techniques. (January 2019)
- Main Title:
- Mechanical synthesis of sorting algorithms for binary trees by logic and combinatorial techniques
- Authors:
- Drămnesc, Isabela
Jebelean, Tudor
Stratulat, Sorin - Abstract:
- Abstract: We develop logic and combinatorial methods for automating the generation of sorting algorithms for binary trees, starting from input-output specifications and producing conditional rewrite rules. The main approach consists in proving (constructively) the existence of an appropriate output from every input. The proof may fail if some necessary sub-algorithms are lacking. Then, their specifications are suggested and their synthesis is performed by the same principles. Our main goal is to avoid the possibly prohibitive cost of pure resolution proofs by using a natural-style proving in which domain-specific strategies and inference steps lead to a significant increase of efficiency. In addition to classical techniques for natural-style proving, we introduce novel ones (priority of certain types of assumptions, transformation of elementary goals into conditions, special criteria for decomposition of the goal and of the assumptions), as well as methods based on the properties of domain-specific relations and functions. In particular, we use combinatorial techniques in order to generate possible witnesses, which in certain cases lead to the discovery of new induction principles. From the proof, the algorithm is extracted by transforming inductive proof steps into recursions, and case-based proof steps into conditionals. The approach is demonstrated in parallel using the Theorema system, by developing the theory, implementing the prover, and performing the proofs of theAbstract: We develop logic and combinatorial methods for automating the generation of sorting algorithms for binary trees, starting from input-output specifications and producing conditional rewrite rules. The main approach consists in proving (constructively) the existence of an appropriate output from every input. The proof may fail if some necessary sub-algorithms are lacking. Then, their specifications are suggested and their synthesis is performed by the same principles. Our main goal is to avoid the possibly prohibitive cost of pure resolution proofs by using a natural-style proving in which domain-specific strategies and inference steps lead to a significant increase of efficiency. In addition to classical techniques for natural-style proving, we introduce novel ones (priority of certain types of assumptions, transformation of elementary goals into conditions, special criteria for decomposition of the goal and of the assumptions), as well as methods based on the properties of domain-specific relations and functions. In particular, we use combinatorial techniques in order to generate possible witnesses, which in certain cases lead to the discovery of new induction principles. From the proof, the algorithm is extracted by transforming inductive proof steps into recursions, and case-based proof steps into conditionals. The approach is demonstrated in parallel using the Theorema system, by developing the theory, implementing the prover, and performing the proofs of the necessary properties and synthesis conjectures. It is also validated in the Coq system, which allows to compare the facilities of the two systems from the point of view of our application. … (more)
- Is Part Of:
- Journal of symbolic computation. Volume 90(2018)
- Journal:
- Journal of symbolic computation
- Issue:
- Volume 90(2018)
- Issue Display:
- Volume 90, Issue 2018 (2018)
- Year:
- 2018
- Volume:
- 90
- Issue:
- 2018
- Issue Sort Value:
- 2018-0090-2018-0000
- Page Start:
- 3
- Page End:
- 41
- Publication Date:
- 2019-01
- Subjects:
- Algorithm synthesis -- Automated reasoning -- Natural-style proving
Mathematics -- Data processing -- Periodicals
Numerical analysis -- Data processing -- Periodicals
Automatic programming (Computer science) -- Periodicals
Mathématiques -- Informatique -- Périodiques
Analyse numérique -- Informatique -- Périodiques
Programmation automatique -- Périodiques
Automatic programming (Computer science)
Mathematics -- Data processing
Numerical analysis -- Data processing
Periodicals
Electronic journals
510.285 - Journal URLs:
- http://www.sciencedirect.com/science/journal/07477171 ↗
http://www.elsevier.com/journals ↗ - DOI:
- 10.1016/j.jsc.2018.04.002 ↗
- Languages:
- English
- ISSNs:
- 0747-7171
- Deposit Type:
- Legaldeposit
- View Content:
- Available online (eLD content is only available in our Reading Rooms) ↗
- Physical Locations:
- British Library DSC - 5067.900000
British Library DSC - BLDSS-3PM
British Library HMNTS - ELD Digital store - Ingest File:
- 14793.xml