Skip to main content
Log in

Automated Procedure Construction for Deductive Synthesis

  • Published:
Automated Software Engineering Aims and scope Submit manuscript

Abstract

Deductive program synthesis systems based on automated theorem proving offer the promise of software that is correct by construction. However, the difficulty encountered in constructing usable deductive synthesis systems has prevented their widespread use. Amphion is a real-world, domain-independent, completely automated program synthesis system. It is specialized to specific applications through the creation of an operational domain theory and a specialized deductive engine. This paper describes an experiment aimed at making the construction of usable Amphion applications easier.

The software system Theory Operationalization for Program Synthesis (TOPS) has a library of decision procedure templates with a theory schema for each procedure. TOPS identifies sets of axioms in the domain theory that are instances of theory schema associated with library procedures. For each procedure instance, TOPS uses iterated partial deduction to augment the procedure with the capability to construct ground terms for deductive synthesis. Synthesized procedures are interfaced to a resolution theorem prover. Axioms in the original domain theory that are implied by the synthesized procedures are removed.

The inference rules of the theorem prover have been extended so that during deductive synthesis, each procedure is invoked to test conjunctions of literals in the language of the theory of that procedure. When possible, the procedure generates ground terms and binds them to variables in a problem specification. These terms are program fragments. Experiments show that the procedures synthesized by TOPS can reduce theorem proving search at least as much as hand tuning of the deductive synthesis system.

This is a preview of subscription content, log in via an institution to check access.

Access this article

Price excludes VAT (USA)
Tax calculation will be finalised during checkout.

Instant access to the full article PDF.

Similar content being viewed by others

References

  • Baader, F. and Tinelli, C. 1997. A new approach for combining decision procedures for the word problem, and its connection to the nelson-oppen combination method. CADE 14: 19–33.

    Google Scholar 

  • Barrett, C. 2000. A framework for cooperating decision procedures, CADE 17 in Lecture Notes in Artificial Intelligence. Springer-Verlag, Vol. 1831.

  • Boyer, R. and Moore, J. 1985. Integrating Decision Procedures into Heuristic Theorem Provers: A Case Study of Linear Arithmetic. Institute for Computing Science and Computer Applications, University of Texas as Austin.

  • Bürckert, H. J. 1991. A resolution principle for a logic with restricted quantifiers, Lecture Notes in Artificial Intelligence, Springer-Verlag, Vol. 568.

  • Chang, C. and Lee, R. 1973. Symbolic Logic and Mechanical Theorem Proving. Inc., San Diego: Academic Press.

    Google Scholar 

  • Cyrluk, D., Lincoln, P., and Shankar, N. 1996. On shostak’s decision procedures for combinations of theories, CADE 13 in Lecture Notes in Artificial Intelligence, Springer-Verlag, Vol. 1104: 463–477.

  • Fitting, M. 1996. First-Order Logic and Automated Theorem Proving. Springer, New York.

    Google Scholar 

  • Ford, J. and Shankar, N. 2002. Formal verification of a combination decision procedure, CADE 18 in Lecture Notes in Artificial Intelligence, Springer-Verlag, Vol. 2392, pp. 347–362.

  • Ganzinger, H. 2002. Shostak light, CADE 18 in Lecture Notes in Artificial Intelligence. Springer-Verlag, Vol. 2392, pp. 332–346.

  • Green, C. 1969. Applications of theorem proving, IJCAI 69: 219–239.

    Google Scholar 

  • Goel, A. 1991. Knowledge compilation: A symposium. IEEE Expert, April, pp. 71–93.

  • Dixon, J. 1973. Z-Resolution: Theorem proving with compiled axioms, Journal of the ACM, 20(1), pp. 127–147.

    Article  Google Scholar 

  • Jones, N., Gomard, C., and Sestoft, P. 1993. Partial Evaluation, and Automatic Program Generation. Prentice Hall, New York.

    Google Scholar 

  • Keller, R. 1991. Applying knowledge compilation techniques to model-based reasoning. IEEE Expert, April: 82–87.

    Article  Google Scholar 

  • Komorowski, J. 1991. Synthesis of programs in the partial deduction framework. In M. Lowry and R. McCartney, editors Automating Software Design. AAAI Press, pp. 377–403.

  • Komorowski, J. 1992. An introduction to partial deduction framework, In Meta-Programming in Logic, Lecture Notes in Artificial Intelligence, Springer-Verlag, Vol. 649, pp. 49–69.

  • Lowry, M., Philpot, A., Pressburger, T., and Underwood, I. 1994. A formal approach to domain-oriented software design environments.” KBSE.

  • Lowry, M. and Van Baalen, J. 1997. META-Amphion: Synthesis of efficient domain-specific program synthesis systems, Automated Software Engineering, 4: 199–241.

    Article  Google Scholar 

  • Madden, P. and Bundy, A. 1993. General techniques for automatic program optimization and synthesis through theorem proving, Proceedings of EWAIC’93.

  • Manna, Z. and Waldinger, R. 1980. A deductive approach to program synthesis, ACM Transactions on Programming Languages and Systems, 2(1): 90–121.

    Article  Google Scholar 

  • Navigation and Ancillary Information Facility (NAIF). SPICE, http://pds.jpl.nasa.gov/naif.html.

  • Nelson, G. and Oppen, D. 1979. Simplification by cooperating decision procedures, ACM Transactions on Programming Languages and Systems, 1: 245–257.

    Article  Google Scholar 

  • Nelson, G. and Oppen, D. 1980. Fast decision procedures based on congruence closure, Journal of the ACM, 27(2): 356–364.

    Article  Google Scholar 

  • Owre, S., Rushby, M., and Shankar, N. 1992. PVS: A prototype verification system. CADE 11 in Lecture Notes in Artificial Intelligence. Springer-Verlag, Vol. 607, pp. 748–752.

  • Plotkin, G. 1970. A note on inductive generalisation, In M. Meltzer and D. Michie, editors, Machine Intelligence 5. New York: Elsevier North-Holland, pp. 153–163.

    Google Scholar 

  • Rich, C. and Waters, R. 1988. Automatic programming: Myths and prospects, IEEE Computer, 21(8): 40–51.

    Google Scholar 

  • Roach, S. 2002. Logic-based program synthesis: State-of-the-Art and future trends.” In Proceedings of the 2002 American Association for Artificial Intelligence AAAI Spring Symposium on Logic-Based Program Synthesis. California: March, Stanford University, Palo Alto.

  • Roach, S., Lowry, M., and Pressburger, T. 1995. Animating observation geometries with amphion, NASA Information Systems Newsletter, III: 35.

  • Roach, S. 1997. TOPS: Theory operationalization for program synthesis.” Ph.D. Theiss at University of Wyoming.

  • Roach, S., Van Baalen, J., and Lowry, M. 1997. Meta-amphion: Scaling up high assurance deductive program synthesis. In IEEE High Integrity Software Symposium, Albuquerque, New Mexico, October 15–16, pp. 81–93.

  • Selman, B. and Kautz, H. 1996. Knowledge compilation and theory approximation. JACM, 43(2): 193–224.

    Article  Google Scholar 

  • Shostak, R. 1984. Deciding combinations of theories. Journal of the ACM, 31: 1–12.

    Article  Google Scholar 

  • Stickel, M. 1985. Automated deduction by theory resolution. Journal of Automated Reasoning, 1: 333–355.

    Article  Google Scholar 

  • Stickel, M. 2000. “SNARK–SRI’s New Automated Reasoning Kit.” http://www.ai.sri.com/stickel/snark.html.

  • Stickel, M., Waldinger, R., Lowry, M., Pressburger, T., and Underwood, I. 1994. Deductive composition of astronomical software from subroutine libraries. CADE-12.

  • Tinelli, C. and Harandi, M. 1996. A new correctness proof of the nelson-oppen combination procedure. In Proceedings of the 1st International Workshop Frontiers of Combining Systems’.

  • Van Baalen, J. 1991. The completeness of DRAT, A technique for automatic design of satisfiability procedures. International Conference of Knowledge Representation and Reasoning.

  • Van Baalen, J. 1992. Automated design of specialized representations, Artificial Intelligence, Vol. 54.

  • Van Baalen, J. and Roach, S. 1999. Using decision procedures to accelerate domain-specific deductive synthesis systems. In P. Flener, editor, Proceedings of the 8th International Workshop on Logic Programming Synthesis and Transformation (LOPSTR’98), Manchester, UK, Lecture Notes in Computer Science, Springer-Verlag, Vol. 1559, pp. 61–70.

  • Youn, C., Kim, H., Henschen, L., and Han, J. 1992. Classification and compilation of linear recursive queries in deductive databases, IEEE Transactions on Knowledge and Data Engineering, 4(1): 52.

    Article  Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to Steve Roach.

Rights and permissions

Reprints and permissions

About this article

Cite this article

Roach, S., Van Baalen, J. Automated Procedure Construction for Deductive Synthesis. Autom Software Eng 12, 393–414 (2005). https://doi.org/10.1007/s10515-005-2646-6

Download citation

  • Issue Date:

  • DOI: https://doi.org/10.1007/s10515-005-2646-6

Keywords

Navigation