A simulation relation between programs is defined which is quasi-ordering. Mutual simulation is then an equivalence relation, and by dividing out by it we abstract from a program such details as how the sequencing is controlled and how data is represented. The equivalence classes are approxiamtions to the algorithms which are realized, or expressed, by their member programs. A technique is given and illustrated for proving simulation and equivalence of programs; there is an analogy with Floyd''s technique for proving correctness of programs. Finally, necessary and sufficient conditions for simulation are given.
Cited By
- Felli P, Logan B and Sardina S Parallel behavior composition for manufacturing Proceedings of the Twenty-Fifth International Joint Conference on Artificial Intelligence, (271-278)
- de Silva L, Felli P, Chaplin J, Logan B, Sanderson D and Ratchev S Realisability of production recipes Proceedings of the Twenty-second European Conference on Artificial Intelligence, (1449-1457)
- Smith E and Coglio A Android Platform Modeling and Android App Verification in the ACL2 Theorem Prover Revised Selected Papers of the 7th International Conference on Verified Software: Theories, Tools, and Experiments - Volume 9593, (183-201)
- Cordy M, Heymans P, Legay A, Schobbens P, Dawagne B and Leucker M Counterexample guided abstraction refinement of product-line behavioural models Proceedings of the 22nd ACM SIGSOFT International Symposium on Foundations of Software Engineering, (190-201)
- Gulwani S, Radiček I and Zuleger F Feedback generation for performance problems in introductory programming assignments Proceedings of the 22nd ACM SIGSOFT International Symposium on Foundations of Software Engineering, (41-51)
- Komuravelli A, Păsăreanu C and Clarke E Assume-guarantee abstraction refinement for probabilistic systems Proceedings of the 24th international conference on Computer Aided Verification, (310-326)
- Cordy M, Classen A, Perrouin G, Schobbens P, Heymans P and Legay A Simulation-based abstractions for software product-line model checking Proceedings of the 34th International Conference on Software Engineering, (672-682)
- Cordy M, Schobbens P, Heymans P and Legay A Towards an incremental automata-based approach for software product-line model checking Proceedings of the 16th International Software Product Line Conference - Volume 2, (74-81)
- Komuravelli A, Pasareanu C and Clarke E Learning Probabilistic Systems from Tree Samples Proceedings of the 2012 27th Annual IEEE/ACM Symposium on Logic in Computer Science, (441-450)
- Ribeiro L, dos Santos O, Dotti F and Foss L (2012). Correct transformation, Science of Computer Programming, 77:3, (214-246), Online publication date: 1-Mar-2012.
- Cordy M, Classen A, Schobbens P, Heymans P and Legay A Managing evolution in software product lines Proceedings of the 6th International Workshop on Variability Modeling of Software-Intensive Systems, (183-191)
- McIver A, Rabehaja T and Struth G On probabilistic kleene algebras, automata and simulations Proceedings of the 12th international conference on Relational and algebraic methods in computer science, (264-279)
- Casagrande A, Piazza C, Policriti A and Mishra B (2008). Inclusion dynamics hybrid automata, Information and Computation, 206:12, (1394-1424), Online publication date: 1-Dec-2008.
- Jones C (2003). The Early Search for Tractable Ways of Reasoning about Programs, IEEE Annals of the History of Computing, 25:2, (26-49), Online publication date: 1-Apr-2003.
- Leino K and Nelson G Abstraction dependencies Programming methodology, (269-289)
- Patterson D (1981). An experiment in high level language microprogramming and verification, Communications of the ACM, 24:10, (699-709), Online publication date: 1-Oct-1981.
- Popek G and Farber D (1978). A model for verification of data security in operating systems, Communications of the ACM, 21:9, (737-749), Online publication date: 1-Sep-1978.
- Gerhart S Correctness-preserving program transformations Proceedings of the 2nd ACM SIGACT-SIGPLAN symposium on Principles of programming languages, (54-66)
- Burstall R (1972). An algebraic description of programs with assertions, verification and simulation, ACM SIGACT News:14, (7-14), Online publication date: 1-Jan-1972.
- Burstall R (1972). An algebraic description of programs with assertions, verification and simulation, ACM SIGPLAN Notices, 7:1, (7-14), Online publication date: 1-Jan-1972.
- Burstall R An algebraic description of programs with assertions, verification and simulation Proceedings of ACM conference on Proving assertions about programs, (7-14)
- Cheatham T and Wegbreit B A laboratory for the study of automating programming Proceedings of the May 16-18, 1972, spring joint computer conference, (11-21)
Recommendations
An algebraic definition of simulation between programs
IJCAI'71: Proceedings of the 2nd international joint conference on Artificial intelligenceA simulation relation between programs is defined which is a quasi-ordering. Mutual simulation is then an equivalence relation, and by dividing out by it we abstract from a program such details as how the sequencing is controlled and how data is ...
On the algebraic structure of binary lattice-valued fuzzy relations
From a general algebraic point of view, this paper aims at providing an algebraic analysis for binary lattice-valued relations based on lattice implication algebras--a kind of lattice-valued propositional logical algebra. By abstracting away from the ...
Representations of Algebraic Domains and Algebraic L-domains by Information Systems
Information systems play an important role in characterizing order structures. In this paper, we introduce the notions of the algebraic information system and algebraic L-information system. They are of the same logic-oriented style as the information ...