Abstract
The notion that computation = controlled deduction was first proposed by Pay Hayes [19] and more recently by Bibel [2] and Vaughn-Pratt [31]. A similar thesis that database systems should be regarded as consisting of a relational component, which defines the logic of the data, and a control component, which stores and retrieves it, has been successfully argued by Codd [10]. Hewitt's argument [20] for the programming language PLANNER, though generally regarded as an argument against logic, can also be regarded as an argument for the thesis that algorithms be regarded as consisting of both logic and control components. In this paper we shall explore some of the useful consequences of that thesis.
Formats available
You can view the full content in the following formats:
References
[1]
Bibel, W., and Schreiber, J. Proof procedures in a Gentzen-like system of first-order logic. Proc. Int. Comptng. Symp., North- Holland Pub. Co., Amsterdam, 1975, pp. 205-212.
[2]
Bibel, W. Programmieren in der Sprache der Pr~idikatenlogik. Eingereicht als Habibitationsarbeit. Fachbereich Mathematik, Techn. Miinchen, Jan. 1975. Shorter versions published as: Pr~idikatives Programmieren. Lecture Notes in Computer Science, 33, GI-2. Fachtagung fiber Automatentheorie und formale Sprachen, Springer- Verlag, Berlin, Heidelberg, New York, 1975, pp. 274-283. And as: Predicative Programming. S6minaires IRIA, th6orie des algorithms, des languages et de la programmation 1975-1976, IRIA, Roquencourt, France, 1977.
[3]
Bibel, W. Syntheses of strategic definitions and their control. Bericht Nr. 7610, Abt. Mathem., Techn. Miinchen, 1976.
[4]
Bibel, W. A uniform approach to programming. Bericht Nr. 7633, Abtl. Mathem., Techn. MiJnchen, 1976.
[5]
Bledsoe, W.W., and Bruell, P. A man-machine theorem-proving system. Artif. Intell. 5 (Spring 1974), 51-72.
[6]
Clark, K.L., and T~rnlund, S.A. A first order theory of data and programs. Information Processing 77, North-Holland Pub. Co., Amsterdam, 1977, pp. 939-944.
[7]
Clark, K., and Sickel, S. Predicate logic: A calculus for the formal derivation of programs. Proc. Int. Joint Conf. Artif. Intell., 1977.
[8]
Clark, K. The synthesis and verification of logic programs. Res. Rep., Dept. Comptng. and Control, Imperial College, London, 1977.
[9]
Clark, K., and Darlington, J. Algorithm analysis through synthesis. Res. Rep., Dept. Comptng. and Control, Imperial College, London, Oct. 1977.
[10]
Codd, E.F. A relational model for large shared databases. Comm. ACM 13, 6 (June 1970), 377-387.
[11]
Codd, E.F. Relational completeness of data base sublanguages. In Data Base Systems, R. Rustin, Ed., Prentice-Hall, Englewood Cliffs, N.J., 1972.
[12]
Colmerauer, A., Kanoui, H., Pasero, R., and Roussel, P. Un systeme de communication homme-machine en francais. Rapport preliminaire, Groupe de Res. en Intell. Artif., U. d'Aix-Marseille, Luminy, 1972.
[13]
Darlington, J., and Burstall, R.M. A system which automatically improves programs. Proc. of Third Int. Joint Conf. Artif. Intell., S.R.I., Menlo Park, Calif., 1973, pp. 437-542.
[14]
Darvas, F., Futo, I., and Szeredi, P. Logic based program for predicting drug interactions. To appear in Int. J. Biomedical Computing.
[15]
Deliyanni, A., and Kowalski, R.A. Logic and semantic networks. Comm. ACM 22, 3 (March 1979), 184-192.
[16]
Earley, J. An efficient context-free parsing algorithm. Comm. ACM 13, 2 (Feb. 1970), 94-102.
[17]
van Emden, M.H. Programming in resolution logic. To appear in Machine Representations of Knowledge published as Machine Intelligence 8, E.W. Elcock and D. Michie, Eds., Ellis Horwood and John Wylie.
[18]
Floyd, R.W. Non-deterministic algorithms. J. ACM 14, 4 (Oct. 1967), 636-644.
[19]
Hayes, P.J. Computation and deduction. Proc. 2nd MFCS Symp., Czechoslovak Acad. of Sciences, 1973, pp. 105-118.
[20]
Hewitt, C. Planner: A language for proving theorems in robots. Proc. of Int. Joint Conf. Artif. Intell., Washington, D.C., 1969, pp. 295-301.
[21]
Hogger, C. Deductive synthesis of logic programs. Res. Rep., Dept. Comptng. and Control, Imperial College, London, 1977.
[22]
Kleene, S.C. Introduction to Metamathematics. Van Nostrand, New York, 1952.
[23]
Kowalski, R.A. Logic for problem-solving. Memo No. 75, Dept. Comput. Logic, U. o f Edinburgh, 1974.
[24]
Kowalski, R.A. Predicate logic as programming language. Information Processing 74, North-Holland Pub. Co., Amsterdam, 1974, pp. 569-574.
[25]
Kowalski, R.A. A p r o o f procedure using connection graphs. J. ACM 22, 4 (Oct. 1974), 572-95.
[26]
Kowalski, R.A., and Kuehner, D. Linear resolution with selection function. Artif. IntelL 2 (1971), 227-260.
[27]
Loveland, D.W. A simplified format for the model-elimination theorem-proving procedure. J. ACM 16, 3 (July 1969), 349-363.
[28]
Mac Carthy, J. A basis for a mathematical theory o f computation. In Computer Programming and Formal Systems, P. Bratfort and D. Hirschberg, Eds., North-Holland Pub. Co., Amsterdam, 1967.
[29]
McSkimin, J.R., and Minker, J. The use o f a semantic network in a deductive question-answering system. Proc. Int. Joint Conf. Artif. lntell., 1977, pp. 50-58.
[30]
Petri, C.A. Grundsatzliches zur Beschreibung diskreter Prozesse 3. Colloq. uber Automathentheorie, Birkhauser Verlag, Basel, Switzerland, 1967.
[31]
Pratt, V.R. The competence/performance dichotomy in programming. Proc. F o u r t h ACM SIGACT/SIGPLAN Symp. on Principles o f Programming Languages, Santa Monica, Calif., Jan. 1977, p p 194-200.
[32]
Robinson, J.A. Automatic deduction with hyper-resolution. Int. J. Comput. Math. 1 (1965), 227-34.
[33]
Roussel, P. Manual de reference et d'Utilisation. Groupe d ' I n t e l l . Artif., UER, Marseille-Luminy, France, 1975.
[34]
Schwarz, J. Using annotations to make recursion equations behave. Res. Memo, Dept. Artif. Intell., U. of Edinburgh, 1977.
[35]
Sickel, S. A search technique for clause interconnectivity graphs. IEEE Trans. Comptrs. (Special Issue on Automatic Theorem Proving), Aug. 1976.
[36]
T~rnlund, S.A. An interpreter for the programming language predicate logic. Proc. Int. Joint Conf. Artif. Intell., Tiblisi, 1975, pp. 601-608.
[37]
Warren, D. A system for generating plans. Memo No. 76, Dept. Comput. Logic, U. o f Edinburgh, 1974.
[38]
Warren, D., Pereira, L.M., and Pereira, F. PROLOG--The language and its implementation compared with LISP. Proc. Symp. on Artif. Intell. and Programming Languages; SIGPLAN Notices (ACM) 12, 8; SIGART Newsletters (ACM) 64 (Aug. 1977), pp. 109- 115
[39]
Wirth, N. Algorithms + Data Structures = Programs. Prentice- Hall, Englewood Cliffs, N.J., 1976.