Communications of the ACM
The logical basis for computer programming. Volume 1: deductive reasoning
The logical basis for computer programming. Volume 1: deductive reasoning
Top-down synthesis of divide-and-conquer algorithms
Artificial Intelligence
Special relations in automated deduction
Journal of the ACM (JACM) - The MIT Press scientific computation series
Properties of substitutions and unifications
Journal of Symbolic Computation
Automated deduction by theory resolution
Journal of Automated Reasoning
Implementing mathematics with the Nuprl proof development system
Implementing mathematics with the Nuprl proof development system
Efficient compilation of linear recursive functions into object level loops
SIGPLAN '86 Proceedings of the 1986 SIGPLAN symposium on Compiler construction
The origin of a binary-search paradigm
Science of Computer Programming
Information and Computation - Semantics of Data Types
A framework for the synthesis of reactive modules
International Conference on Concurrency on Concurrency 88
PX: a computational logic
Formal synthesis of a unification algorithm by the deductive-tableau method
Journal of Logic Programming
Journal of Symbolic Computation
The foundation of a generic theorem prover
Journal of Automated Reasoning
Deductive synthesis of sorting programs
Journal of Symbolic Computation
The logical basis for computer programming: vol. 2, deductive systems
The logical basis for computer programming: vol. 2, deductive systems
Programming in Martin-Lo¨f's type theory: an introduction
Programming in Martin-Lo¨f's type theory: an introduction
Monotonicity properties in automated deduction
Artificial intelligence and mathematical theory of computation
A Machine-Oriented Logic Based on the Resolution Principle
Journal of the ACM (JACM)
A Transformation System for Developing Recursive Programs
Journal of the ACM (JACM)
Theorem Proving via General Matings
Journal of the ACM (JACM)
A Unification Algorithm for Associative-Commutative Functions
Journal of the ACM (JACM)
A Deductive Approach to Program Synthesis
ACM Transactions on Programming Languages and Systems (TOPLAS)
The Evolution of Programs
Algorithmic Program DeBugging
A Discipline of Programming
Formal specification as a design tool
POPL '80 Proceedings of the 7th ACM SIGPLAN-SIGACT symposium on Principles of programming languages
Variable Elimination and Chaining in a Resolution-based Prover for Inequalities
Proceedings of the 5th Conference on Automated Deduction
Specifying Theorem Provers in a Higher-Order Logic Programming Language
Proceedings of the 9th International Conference on Automated Deduction
Str+ve-Subset: The Str+ve-based Subset Prover
Proceedings of the 10th International Conference on Automated Deduction
Discovering auxiliary information for incremental computation
POPL '96 Proceedings of the 23rd ACM SIGPLAN-SIGACT symposium on Principles of programming languages
Modeling a Hardware Synthesis Methodology in Isabelle
Formal Methods in System Design
Design Wizards and Visual Programming Environments for GenVoca Generators
IEEE Transactions on Software Engineering
Computer
META-AMPHION: Synthesis of Efficient Domain-Specific Program Synthesis Systems
Automated Software Engineering
Automated Software Engineering
Efficient Specification-Based Component Retrieval
Automated Software Engineering
Will Domain-Specific Code Synthesis Become a Silver Bullet?
IEEE Intelligent Systems
Design Wizards and Visual Programming Environments for Generators
ICSR '98 Proceedings of the 5th International Conference on Software Reuse
Amphion/NAV: Deductive Synthesis of State Estimation Software
Proceedings of the 16th IEEE international conference on Automated software engineering
Automated Software Engineering
ACM SIGPLAN Notices
Context-sensitive domain-independent algorithm composition and selection
Proceedings of the 2006 ACM SIGPLAN conference on Programming language design and implementation
Formal functional description of semantic web services: the logic description method
Proceedings of the 2006 international workshop on Service-oriented software engineering
Composition of semantic web services using linear logic theorem proving
Information Systems - Special issue: The semantic web and web services
An approach to automatic deductive synthesis of functional programs
Annals of Mathematics and Artificial Intelligence
Model-Driven Prototyping Based Requirements Elicitation
Innovations for Requirement Analysis. From Stakeholders' Needs to Formal Designs
Evolutionary and embryogenic approaches to autonomic systems
Proceedings of the 3rd International Conference on Performance Evaluation Methodologies and Tools
An introduction to inductive programming
Artificial Intelligence Review
Composition of Semantic Web services using Linear Logic theorem proving
Information Systems
A survey of evolutionary and embryogenic approaches to autonomic networking
Computer Networks: The International Journal of Computer and Telecommunications Networking
ROBIO'09 Proceedings of the 2009 international conference on Robotics and biomimetics
Analysis of air traffic track data with the autobayes synthesis system
LOPSTR'10 Proceedings of the 20th international conference on Logic-based program synthesis and transformation
Automatic deductive synthesis of lisp programs in the system ALISA
JELIA'06 Proceedings of the 10th European conference on Logics in Artificial Intelligence
Harnessing self-modifying code for resilient software
WRAC'05 Proceedings of the Second international conference on Radical Agent Concepts: innovative Concepts for Autonomic and Agent-Based Systems
Embedded Systems Design
Schema-guided synthesis of imperative programs by constraint solving
LOPSTR'04 Proceedings of the 14th international conference on Logic Based Program Synthesis and Transformation
Automatic composition of semantic web services – a theorem proof approach
ASWC'06 Proceedings of the First Asian conference on The Semantic Web
Experiments on the automatic evolution of protocols using genetic programming
WAC'05 Proceedings of the Second international IFIP conference on Autonomic Communication
Hi-index | 0.01 |
An informal tutorial for program synthesis is presented, with an emphasis on deductive methods. According to this approach, to construct a program meeting a given specification, the authors prove the existence of an object meeting the specified conditions. The proof is restricted to be sufficiently constructive, in the sense that, in establishing the existence of the desired output, the proof is forced to indicate a computational method for finding it. That method becomes the basis for a program that can be extracted from the proof. The exposition is based on the deductive-tableau system, a theorem-proving framework particularly suitable for program synthesis. The system includes a nonclausal resolution rule, facilities for reasoning about equality, and a well-founded induction rule.