Abstract
The work deals with deductive synthesis of functional programs. During this synthesis formal specification of a program is taken as a mathe-matical existence theorem and while proving it, we derive a program and prove that this program corresponds to given specification. Our method of synthesis is based on the deductive tableau method, that allows to derive three basic constructions of a functional program. But the full search of possible proof attempts in the deductive tableau induces a very large search space; the proof is needed to be guided. For using this method in the automatic mode additional heuristics are required. Some of such heuristics are proposed in this work. They consist in proof planning by using rippling and in the use of sorted logic with type hierarchy that reduces search space and blocks some branches of proof, corresponding to synthesis of incorrect functions. The proposed techniques are implemented in the system ALISA and used for automatic synthesis of several functions on Lisp language.
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
Preview
Unable to display preview. Download preview PDF.
References
Armando, A., Smaill, A., Green, I.: Automatic Synthesis of Recursive Programs: The Proof-Planning Paradigm. Automated Software Engineering 6(4), 329–356 (1999)
Ayari, A., Basin, D.: A Higher-Order Interpretation of Deductive Tableau. Journal of symbolic computation 31(5), 487–520 (2001)
Basin, D., Walsh, T.: Difference Unification. In: Bajcsy, R. (ed.) Proceedings of the 13th IJCAI, pp. 116–122. Morgan Kaufmann, San Francisco (1993)
Basin, D., Walsh, T.: A Calculus for and Termination of Rippling. Journal of Automated Reasoning 16, 147–180 (1996)
Bundy, A., Stevens, A., van Harmelen, F., Ireland, A., Smaill, A.: Rippling: A heuristic for guiding inductive proofs. Artificial Intelligence 62 (1993)
Bundy, A.: The Automation of Proof by Mathematical Induction. In: Handbook of automated reasoning, vol. 1. Elsevier Science Publishers B.V., Amsterdam (2001)
Bundy, A., Basin, D., Hutter, D., Ireland, A.: Rippling: Meta-level Guidance for Mathematical Reasoning. Cambridge University Press, Cambridge (2005)
Burback, R., Manna, Z., Waldinger, R., et al.: Using the Deductive Tableau System, MacIntosh Educational Software Collection, Chariot Software Group (1990)
Chang, C.-L., Lee, R.: Symbolic Logic and Mechanical Theorem Proving. Academic Press Inc., New York (1973)
Korukhova, Y.: Planning Proof in the Deductive Tableau Using Rippling. In: Proceedings of the 5th International Conference RASC, Nottingham, Trent University, UK, pp. 384–389 (2004)
Kraan, I., Basin, D., Bundy, A.: Middle-Out Reasoning for Synthesis and Induction. Journal of Symbolic Computation 16(1-2), 113–145 (1996)
Lee, R.C.T., Chang, C.L., Waldinger, R.J.: An Improved program synthesizing algorithm and its correctness. Communications ACM 17(4), 211–217 (1974)
Manna, Z., Waldinger, R.: A Deductive approach to Program Synthesis. ACM Trans. Programming Languages and Systems 2(1), 90–121 (1980)
Manna, Z., Waldinger, R.: Fundamentals of Deductive Program Synthesis. IEEE Transactions on Software Engineering 18(8), 674–704 (1992)
Paulson, L.C.: Isabelle. LNCS, vol. 828, p. 321. Springer, Heidelberg (1994)
Pientka, B., Kreitz, C.: Automating inductive specification proofs. Fundamenta Informatica 39(1-2), 189–208 (1999)
Simon, H.A.: Experiments with a Heuristic Compiler. Journal ACM 10(4), 493–506 (1963)
Traugott, J.: Deductive Synthesis of Sorting Programs. Journal of Symbolic Computation 7, 533–572 (1989)
Tyugu, E.H.: Konceptual’noe programmirovanie (Conceptual programming) – Moscow, Nauka (1984) (in Russian)
Author information
Authors and Affiliations
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 2006 Springer-Verlag Berlin Heidelberg
About this paper
Cite this paper
Korukhova, Y. (2006). Automatic Deductive Synthesis of Lisp Programs in the System ALISA. In: Fisher, M., van der Hoek, W., Konev, B., Lisitsa, A. (eds) Logics in Artificial Intelligence. JELIA 2006. Lecture Notes in Computer Science(), vol 4160. Springer, Berlin, Heidelberg. https://doi.org/10.1007/11853886_21
Download citation
DOI: https://doi.org/10.1007/11853886_21
Publisher Name: Springer, Berlin, Heidelberg
Print ISBN: 978-3-540-39625-3
Online ISBN: 978-3-540-39627-7
eBook Packages: Computer ScienceComputer Science (R0)