A knowledge-based system to synthesize FP programs from examples

  • Zhu Hong
  • Jin Lingzi
Part of the Lecture Notes in Computer Science book series (LNCS, volume 390)


This paper describes a knowledge-based system to synthesize functional programs of Backus' FP system [1,2] from input / output instances. Based on a theory of orthogonal expansion of programs [3,4], the task of program synthesis is expressed in program equations, and fulfilled by solving them according to the knowledge about the equivalence between programs. Examples are given in the paper.


Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.


  1. [1].
    J. Backus, Can programming be Liberated from von Neumann Style? A Functional Style and Its Algebra of Programs, CACM. 21:8 (1978) 631–641.Google Scholar
  2. [2].
    J. Backus, The Algebra of Functional Programs, in Formalization of Programming Concepts, J.Diaz, & I.Ramos, eds., LNCS 107, Springer-Verlag, 1981, 1–43.Google Scholar
  3. [3].
    Zhu Hong, A Theory of Program Expansion and Its Application to Programming, Ph.D Thesis, Nanjing University, Aug. 1987.Google Scholar
  4. [4].
    Zhu Hong, A Theory of Program Expansion, Scientia Sinica (Series A), 8(1988), 887–896.Google Scholar
  5. [5].
    U.S. Reddy,& B. Jayaraman, Theory of Linear Equations Applied to Program Transformation, Proc.8'th IJCAI, 1983, Vol.1, pp1016.Google Scholar
  6. [6].
    Zhu Hong & Jin Lingzi, A Knowledge_Based Approach to Program Synthesis from Examples, Journal of Computer Science and Technology, (in press).Google Scholar
  7. [7].
    Jin Lingzi, Researches on Metalanguage for Transformational Programming, Ph.D. Thesis, Nanjing University, December, 1987.Google Scholar
  8. [8].
    Jin Lingzi, Zhu Hong & Xu Jiafu, NDTPS — An Experimental Metalanguage Transformational Programming System, Proceedings of the International Conference on New Generation Computer Systems, April, 1989, Beijing.Google Scholar
  9. [9].
    Jin Lingzi & Zhu Hong, Metaprogramming — Applications to Program Synthesis from Examples, Beijing International Symposium for Young Computer Professionals, Aug. 1989. (in press).Google Scholar
  10. [10].
    P.D. Summers, A Methodology for LISP Program Construction from Examples, J.ACM, 24:1 (1977), 161–175.Google Scholar
  11. [11].
    D.R.Smith, The Synthesis of LISP Programs from Examples:A Survey, in Automatic Program Construction Techniques, A.W.Biermann, G.Guiho, & Y.Kodratoff,(eds.) Maclillan Publishing, 1984, 307–324.Google Scholar
  12. [12].
    Y.Kodratoff,& J-P.Jouannaud, Synthesizing LISP Programs Working On the List Level of Embedding, in Automatic Program Construction Techniques, 325–374.Google Scholar
  13. [13].
    A.W.Biermann, Dealing With Search, in Automatic Program Construction Techniques, 375–392.Google Scholar
  14. [14].
    A.W. Biermann, The inference of Regular LISP Programs from Examples, IEEE Transactions on Systems, Man, and Cybernetics, SMC-8:8(1978), 585–600.Google Scholar
  15. [15].
    J-P.Jouannaud, & G.Guiho, Inference of Functions with an Interactive System, in Machine Intelligence 9, D.Michie, (Ed.) Ellis Horwood, 1979, 227–250.Google Scholar
  16. [16].
    D. Banerjee, A Methodology for Synthesis of Recursive Functional Programs, ACM TOPLAS 9:3 (1987), 441–462.Google Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg 1989

Authors and Affiliations

  • Zhu Hong
    • 1
  • Jin Lingzi
    • 1
  1. 1.Computer Science DepartmentNanjing UniversityNanjingP.R.China

Personalised recommendations