Abstract
A method of automatic creation of some programs by nonprocedural specifications in a simple logical language is proposed. The language is similar to the data description subsets of some programming. languages (such as pascal, Modula-2, Ada) and is the language without lower level (i.e. programs of all elementary actions is to be contained in the programming system libraries). Programs synthesized by a computer using this method can contain loops and recursions.
A notions of the DEPTH OF CONSTRUCTIONS and the BRANCHING INDEX of the programs is introduced. A complete synthesis procedure exists for creating programs with bounded depth of constructions. The time of the procedure execution is polynomial of the input length when the depth of branching in the created programs and the numbers of arguments of predicates and functions used in the task specification are bounded by constants.
The method of the deductive program synthesis is used. A modified first order predicate calculus is used as the theory required for the method.
Preview
Unable to display preview. Download preview PDF.
References
Arhangelsky D.A., Taitslin M.A.: A logic for data description. Lecture Notes in Computer Science, 363, (1989), 2–11.
Archangelsky D.A., Taitslin M.A.: A modal linear logic. Lect. Notes in Comp. Sci., (1992).
Constable R.L.: Constructive mathematics and automatic program writers. Information Processing 71, North Holland, (1972), 1, 229–233.
Constable R.L.: Constructive mathematics as a programming logic I: some principles of theory. International Foundations of Computation Theory Conference, Lecture notes in Computer Science, bf 158, (1983), 64–77.
Constable R.L.: Programs and types. IEEE Symp. Found. Computer science, (1980), 112–128.
Galmiche D.: Constructive system for automatic program synthesis. Ifornatika 88, Nice, France, (1988).
Galmiche D.: The power of constructive framework for programming synthesis. COLOG-88, Papers presented at the International Comference in Computer Logic, Part I, Tallinn, December 12–16, (1988), 165–176.
Girard J.-Y.: Linear Logic. Theoretical computer science. (1987). No 50. 1–102.
Goad C.A. Proofs as descriptions of computation. Lecture Notes in Computer Science 87, (1980), 39–52.
Goedel K.: Uber eine bisher noch nicht benutze Erweiteung des finiten Standpunktes. Dialectica 12, (1958), No 3/4, 280–287.
Goto S.: Program synthesis through Godel's interpretation. Proc. International Conference on Mathematical Studies of Information Processing, (1978), Kyoto, 287–306.
Hayashi S.: Extracting Lisp programs from constructive proofs. A formal theory of constructive mathematics based on Lisp. Publ. RIMS, Kyoto Univ., 19 (1983), 169–191.
Hayashi S.: PX — a system extracting programs from proofs. IFIP Conference of Formal Description of Programming Concepts, (1986).
Heyting: Matematische Grundlagenforschung, Intuitionismus, Beweisstheorie. Ergebnisse der Math. etc. III, 4, Berlin, (1934).
Howard W.A.: The formulae-as-types notion of construction. To H.B.Curry: Essays on Combinatory Logic, — Calculus and Formalism, Academic Press, (1980), 479–490.
Kleene S.: Introduction to Metamathematics. Princeton — Toronto, 1952.
Kolmogorov. Zur Deutung der Intuitionistischen Logik. Math Zeitschrift, (1932), 25, 58–65.
Kreisel G.: Some uses of proof theory for finding computer programs. Colloc. Intern. Log., Clermont-Ferrant, 1975, p.151.
Krivine J.L., Parigot M.: Programming with Proofs. 6th Symposium on Computation Theory, Wendisch-Reitz, November 1987.
Manna Z., Waldinger R.: A deductive approach to program synthesis. Proc. 6-th Intern. Conf. on AI, Tokyo, (1979), p.542.
Manna Z., Waldinger R.: Towards authomatic program synthesis. CACM 3, (1971), 151–165.
Martin-Loef P.: Constructive mathematics and computer programming. 6th Congress for Logic, Methodology and Phylosophy of Science, North Holland, (1982), 153–175.
Matrosov V.M., Oparin G.A., Feoktistov D.G., Zhuravlev A.E., Kiselev S.I.: A software tool and the technology of its application (SATURN-technology) for development and explotation of applied intelligent system for mathimatical modeliing and investigation of control system of complex objects notion. IMASS/IFAC International Workshop ”Methods and software for automatic control system” (Irkutsk, USSR, September, 3–5, 1991). Irkutsk, Computing Centre, (1991), 92–93.
Nepejvoda N.N.: A proof theoretical comparison of program synthesis and program verification. 6-th Intern. Congr. of Logic, Methodology and Philosophy of Science, Hannover, (1979)
Nepejvoda N.N.: The connection between the proof theory and computer programming. 6-th Intern. Congr. of Logic, Methodology and Philosophy of Science, Hannover, (1979), 1, p.7–11.
Nepejvoda N.N. The logical approach to programming. Lect. Notes Comp. Sci., (1981), 118, 261–290.
Nordstrom B.: Programming in constructive set theory: some examples. ACM Conference of Functional Programming Languasges and Computer Architecture, (1984), 141–154.
Parigot M.: Programming with Proofs: a second order type theory. ESOP'88, Nancy, March (1988).
Sato M.: Towards a mathematical theory of program synthesis. Proc. IJCAI 6, (1979), 757–762.
Tyugu E.: A programming system with automatic program synthesis. Lecture Notes in Computer Science 47: Methods of Algorithmic Language Impleventation, Berlin, (1977), 251–267.
Tyugu E.: Using a problem Solver in CAD. Artificial Intelligence and Pattern Recognition in CAD, North-Holland, (1978), 197–210.
Author information
Authors and Affiliations
Editor information
Rights and permissions
Copyright information
© 1993 Springer-Verlag Berlin Heidelberg
About this paper
Cite this paper
Beltiukov, A.P. (1993). Automatical synthesis of programs with recursions. In: Bjørner, D., Broy, M., Pottosin, I.V. (eds) Formal Methods in Programming and Their Applications. Lecture Notes in Computer Science, vol 735. Springer, Berlin, Heidelberg. https://doi.org/10.1007/BFb0039723
Download citation
DOI: https://doi.org/10.1007/BFb0039723
Published:
Publisher Name: Springer, Berlin, Heidelberg
Print ISBN: 978-3-540-57316-6
Online ISBN: 978-3-540-48056-3
eBook Packages: Springer Book Archive