---
title: "An Algebraic Definition of Simulation Between Programs"
authors:
  - "Robin Milner"
doi: ""
url: "https://ijcai.org/proceedings/1971/50"
pdf: "https://ijcai.org/proceedings/1971/0050.pdf"
venue: "Proceedings of the Second International Joint Conference on Artificial Intelligence"
year: 1971
pages: "481-488"
track: ""
keywords:
---

# An Algebraic Definition of Simulation Between Programs

Robin Milner

*Proceedings of the Second International Joint Conference on Artificial Intelligence*, pages 481-488.

## Abstract

A 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 represented. The equivalence classes are approximations 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.
