Location via proxy:   [ UP ]  
[Report a bug]   [Manage cookies]                
skip to main content
article
Free access

An algebraic description of programs with assertions, verification and simulation

Published: 01 January 1972 Publication History

Abstract

A program in flow diagram form is described by a function from a free category to the category of sets and relations. Attaching assertions to it is described as a natural transformation and so is simulation of one program by another with the same shape of flow diagram. These notions are used to prove the theorems justifying Floyd's method of proving correctness by verification and Milner's method of proving simulation, restricted to programs of similar form. The treatment is novel but the results are not new, except that non-deterministic programs are dealt with throughout.

References

[1]
Cohn, P.M. (1965) Universal Algebra. New York and London: Harper Row.
[2]
Cooper, D.C. (1971) Programs for mechanical program verification. Machine Intelligence 6 (eds. B. Meltzer and D. Michie) Edinburgh: Edinburgh University Press, pp. 43-59.
[3]
Floyd, R. W. (1967) Assigning meanings to programs. Proceedings of Symposia in Applied Mathematics. American Mathematical Society, Vol. 19, 19-32.
[4]
Karp, R.M. (1959) Some applications of logical syntax to digital computer programming. Harvard University Thesis.
[5]
Landin, P. J. (1969) A program machine symmetric automata theory. Machine Intelligence 5 (eds. B. Meltzer and D. Michie) Edinburgh: Edinburgh University Press, pp. 99-120.
[6]
Maclane, S. and Birkhoff, G. (1967) Algebra. New York: MacMillan.
[7]
Manna, Z. (1970) The correctness of nondeterministic programs. Artificial Intelligence, Vol. 1, 1-26.
[8]
Manna, Z. (1970) Termination of programs represented as interpreted graphs. Spring Joint Computer Conf. pp. 83-89.
[9]
Milner, R. (1970) A formal notion of simulation between programs. Memo 14, Computer and Logic Research Group, University College of Swansea, U.K.
[10]
Milner, R. (1971) An algebraic definition of simulation between programs. Stanford Artificial Intelligence Project Memo AIM-142. Computer Science Department, Stanford University. (Also in Proc. I.J.C.A.I. Conference, London, September, 1971.)
[11]
Scott, D. (1971) The lattice of flow diagrams. Semantics of Algorithmic Languages (ed. E. Engeler) Springer Lecture Notes in Mathematics, Vol. 188, pp. 311-366.

Cited By

View all

Recommendations

Comments

Information & Contributors

Information

Published In

cover image ACM SIGPLAN Notices
ACM SIGPLAN Notices  Volume 7, Issue 1
Proceedings of ACM conference on Proving assertions about programs
January 1972
211 pages
ISSN:0362-1340
EISSN:1558-1160
DOI:10.1145/942578
Issue’s Table of Contents
  • cover image ACM Conferences
    Proceedings of ACM conference on Proving assertions about programs
    January 1972
    215 pages
    ISBN:9781450378918
    DOI:10.1145/800235

Publisher

Association for Computing Machinery

New York, NY, United States

Publication History

Published: 01 January 1972
Published in SIGPLAN Volume 7, Issue 1

Check for updates

Qualifiers

  • Article

Contributors

Other Metrics

Bibliometrics & Citations

Bibliometrics

Article Metrics

  • Downloads (Last 12 months)87
  • Downloads (Last 6 weeks)30
Reflects downloads up to 17 Oct 2024

Other Metrics

Citations

Cited By

View all

View Options

View options

PDF

View or Download as a PDF file.

PDF

eReader

View online with eReader.

eReader

Get Access

Login options

Media

Figures

Other

Tables

Share

Share

Share this Publication link

Share on social media