Studies in abstract/concrete mappings in proving algorithm correctness

  • Arthur G. Duncan
  • Lawrence Yelowitz
Conference paper
Part of the Lecture Notes in Computer Science book series (LNCS, volume 71)


This paper discusses the problem of factoring program proofs into a proof of correctness of an abstract algorithm followed by a proof of correct implementation at the concrete level. The problem of showing that diagrams commute is simplified by the introduction of a set of abstract entities that define constraints on the abstract operations. Correctness at the concrete level is then shown by exhibiting two appropriate mappings, CA (from the concrete state space to the abstract state space) and CE (from the concrete state space to the set of abstract entities).


Diagram Commute Structural Graph Abstract Entity Abstract Operation Correct Implementation 
These keywords were added by machine and not by the authors. This process is experimental and the keywords may be updated as the learning algorithm improves.


Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.


  1. 1.
    Floyd, R. W., Assigning meanings to programs, Proceedings of a Symposium in Applied Mathematics, 19, (ed. Schwartz, J. T.), Providence Island: American Mathematical Society, 1967, pp. 19–32.Google Scholar
  2. 2.
    Manna, Z., Properties of programs and the first-order predicate calculus, JACM, 16, 1969, pp. 244–255.Google Scholar
  3. 3.
    Hoare, C.A.R., An axiomatic basis for computer programming, CACM 12, 1969, pp. 576–580, 583.Google Scholar
  4. 4.
    Dijkstra, E. W., A discipline of programming, Prentice-Hall, Inc., Englewood Cliffs, NJ, 1976.Google Scholar
  5. 5.
    Wulf, W. A., London, R. L., and Shaw, M., An introduction to the construction and verification of Alphard programs, IEEETSE SE-2, 4, Dec. 1976, pp. 253–265.Google Scholar
  6. 6.
    Milner, R., An algebraic definition of simulation between programs, Report No. CS-205, Computer Science Dept., Stanford University, Feb. 1971.Google Scholar
  7. 7.
    Birman, A. and Joyner, W. H., A Problem-Reduction Approach to Proving Simulation between Programs, IEEETSE SE-2, 2, June 1976.Google Scholar
  8. 8.
    Knuth, D. E., The art of computer programming, v. 1, Fundamental algorithms, Addison-Wesley Publishing Co., Reading, Mass., 1972–1973.Google Scholar
  9. 9.
    Schorr, H., and Waite, W., An efficient machine-independent procedure for garbage collection in various list structures, CACM 10.Google Scholar
  10. 10.
    Yelowtitz, L., and Duncan, A. G., Abstractions, instantiations, and proofs of marking algorithms, in Proceedings of the Symposium on Artificial Intelligence and Programming Languages, SIGPLAN Notices, 12, 8 and SIGART Newsletter no. 64, August 1977, pp. 13–21.Google Scholar
  11. 11.
    Topor, T., The correctness of the Schorr-Waite list marking algorithm, Report MIP-R-104, School of Artificial Intelligence, University of Edinburgh, July 1974.Google Scholar
  12. 12.
    Duncan, A. G., Studies in Program Correctness, Ph. D. Dissertation, University of California, Irvine, 1976.Google Scholar
  13. 13.
    Yelowitz, L. and Duncan, A. G., Data Structures and Program Correctness: Bridging the Gap, Computer Languages, v. 3, 1978.Google Scholar
  14. 14.
    Lee, S., deRoever, W. P. and Gerhart, S. L., The Evolution of List-Copying Algorithms, Proceedings of the Sixth ACM Symposium on Principles of Programming Languages, January 1979.Google Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg 1979

Authors and Affiliations

  • Arthur G. Duncan
    • 1
  • Lawrence Yelowitz
    • 2
  1. 1.Indiana U./Purdue U. at IndianapolisUSA
  2. 2.U. of PittsburghUSA

Personalised recommendations