ACM Home Page
Please provide us with feedback. Feedback
Proofs as programs
Full text PdfPdf (1.59 MB)
Source ACM Transactions on Programming Languages and Systems (TOPLAS) archive
Volume 7 ,  Issue 1  (January 1985) table of contents
Pages: 113 - 136  
Year of Publication: 1985
ISSN:0164-0925
Authors
Joseph L. Bates  Cornell Univ., Ithaca, NY
Robert L. Constable  Cornell Univ., Ithaca, NY
Publisher
ACM  New York, NY, USA
Bibliometrics
Downloads (6 Weeks): 5,   Downloads (12 Months): 67,   Citation Count: 19
Additional Information:

abstract   references   cited by   index terms   review   collaborative colleagues  

Tools and Actions: Request Permissions Request Permissions    Review this Article  
DOI Bookmark: Use this link to bookmark this Article: http://doi.acm.org/10.1145/2363.2528
What is a DOI?

ABSTRACT

The significant intellectual cost of programming is for problem solving and explaining, not for coding. Yet programming systems offer mechanical assistance for the coding process exclusively. We illustrate the use of an implemented program development system, called PRL ("pearl"), that provides automated assistance with the difficult part. The problem and its explained solution are seen as formal objects in a constructive logic of the data domains. These formal explanations can be executed at various stages of completion. The most incomplete explanations resemble applicative programs, the most complete are formal proofs.


REFERENCES

Note: OCR errors may be found in this Reference List extracted from the full text article. ACM has opted to expose the complete List rather than only correct and linked references.

 
1
 
2
 
3
BATES, J., AND CONSTABLE, R.L. Definition of Micro-PRL. Tech. Rep. TR 82-492, Computer Science Dept., Cornell Univ., Oct. 1981.
 
4
BISHOP, E. Foundations of Constructive Analysis. McGraw-Hill, New York, 1967.
 
5
BISHOP, E. Mathematics as a numerical language. In Intuitionism and Proof Theory. J. Myhill, et al., Eds., North-Holland, Amsterdam, 1970, 53-71.
 
6
BLEDSOE, W. Nonresolution theorem proving. Artif Intell. 9 (1977), 1-36.
 
7
BOYER, R. S., AND MOORE, J.S. A Computational Logic. Academic Press, New York, 1979.
 
8
 
9
CONSTABLE, R.L. Constructive mathematics and automatic program writers. In Proceedings of IFIP Congress, (Ljubljana, 1971), 229-233.
 
10
CONSTABLE R. L., AND BATES, J. L. The nearly ultimate PRL. Dept. of Computer Science Tech. Rep. TR 83-551, Cornell Univ., Apr. 1983.
 
11
CONSTABLE R.L. Intensional analysis of functions and types. Dept. of Computer Science Internal Rep. CSR-118-82, Univ. of Edinburgh, June 1982.
12
 
13
 
14
CONSTABLE R.L. Programs as proofs. Inf. Process. Lett. 16, 3 (Apr. 1983), 105-112.
 
15
DEBRUIJN, N. G. A survey of the project AUTOMATH. In Essays on Combinatory Logic, Lambda Calculus, and Formalism. J. P. Seldin and J. R. Hindley, Eds., Academic Press, New York, 1980, 589-606.
 
16
 
17
GORDON, M., MILNER, R., AND WADSWORTH, C. Edinburgh LCF: A Mechanized Logic of Computation. Lecture Notes in Computer Science, 78, Springer-Verlag, New York, 1979.
 
18
19
20
 
21
JUTTING, L.S. Checking Landau's "Grundlagen" in the AUTOMATH system. Ph.D. dissertation, Eindhoven Univ., Math. Centre Tracts No. 83. Math. Centre, Amsterdam, 1979.
 
22
KLEENE, S.C. On the interpretation of intuitionistic number theory. JSL 10 (1945), 109-124.
 
23
KLEENE, S.C. Introduction to Metamathematics. D. Van Nostrand, Princeton, N.J., 1952.
 
24
 
25
LAKATOS, I. Proofs and Refutations. Cambridge University Press, Cambridge, 1976.
26
 
27
MARTIN-LOF P. Constructive mathematics and computer programming. In 6th International Congress for Logic, Method, and Philosophy of Science, (Hannover, Aug. 1979).
28
 
29
 
30
POLYA, G. How To Solve It. Princeton University Press, Princeton, N.J., 1945.
 
31
PROOFROCK, J. A. PRL: Proof refinement logic programmer's manual (Lambda PRL VAX version). Computer Science Dept., Cornell Univ., 1983.
 
32
 
33
SCOTT, D. Constructive validity. In Symposium on Automatic Demonstration. Lecture Notes in Mathematics, 125. Springer-Verlag, New York, 1970, 237-275.
 
34
35
 
36
STENLUND, S. Combinators, Lambda-Terms, and Proof-Theory. D. Reidel, Dordrecht, 1972.
37
 
38
WHITEHEAD, A. N., AND RUSSELL, B. Principia Mathematica. Vol. 1, Cambridge University Press, Cambridge, 1925.
 
39
 
40
Wos, L., OVERBEEK, R., EWING, L., AND BOYLE, J. Automated Reasoning. Prentice-Hall, Englewood Cliffs, N.J., 1984.

CITED BY  19


REVIEW

"Ali Mili : Reviewer"

Bates and Constable discuss the use of constructive proofs as a paradigm for programming. They introduce an implemented program development system, called PRL, that is based on this paradigm. The use of PRL is illustrated on a programming proble  more...

Collaborative Colleagues:
Joseph L. Bates: colleagues
Robert L. Constable: colleagues