Semantic and Syntactic Approaches to Simulation Relations

  • Jo Hannay
  • Shin-ya Katsumata
  • Donald Sannella
Conference paper
Part of the Lecture Notes in Computer Science book series (LNCS, volume 2747)


Simulation relations are tools for establishing the correctness of data refinement steps. In the simply-typed lambda calculus, logical relations are the standard choice for simulation relations, but they suffer from certain shortcomings; these are resolved by use of the weaker notion of pre-logical relations instead. Developed from a syntactic setting, abstraction barrier-observing simulation relations serve the same purpose, and also handle polymorphic operations. Meanwhile, second-order pre-logical relations directly generalise pre-logical relations to polymorphic lambda calculus (System F). We compile the main refinement-pertinent results of these various notions of simulation relation, and try to raise some issues for aiding their comparison and reconciliation.


Logical Relation Simulation Relation Basic Lemma Lambda Calculus Syntactic Approach 
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. BFSS90.
    Bainbridge, E., Freyd, P., Scedrov, A., Scott, P.: Functorial polymorphism. Theoretical Computer Science 70, 35–64 (1990)zbMATHCrossRefMathSciNetGoogle Scholar
  2. BAC95.
    Bellucci, R., Abadi, M., Curien, P.-L.: A model for formal parametric polymorphism: a PER interpretation for system R. In: Dezani-Ciancaglini, M., Plotkin, G. (eds.) TLCA 1995. LNCS, vol. 902, pp. 32–46. Springer, Heidelberg (1995)CrossRefGoogle Scholar
  3. BHW95.
    Bidoit, M., Hennicker, R., Wirsing, M.: Behavioural and abstractor specifications. Science of Computer and Programming 25, 149–186 (1995)zbMATHCrossRefMathSciNetGoogle Scholar
  4. BB85.
    Böhm, C., Berarducci, A.: Automatic synthesis of typed λ-programs on term algebras. Theoretical Computer Science 39, 135–154 (1985)zbMATHCrossRefMathSciNetGoogle Scholar
  5. BMM90.
    Bruce, K., Meyer, A., Mitchell, J.: The semantics of the second-order lambda calculus. Information and Computation 85(1), 76–134 (1990)zbMATHCrossRefMathSciNetGoogle Scholar
  6. Gir71.
    Girard, J.-Y.: Une extension de l’interprétation de Gödel à l’analyse, et son application à l’élimination des coupures dans l’analyse et la théorie des types. In: Proc. 2nd Scandinavian Logic Symp., Oslo. Studies in Logic and the Foundations of Mathematics, vol. 63, pp. 63–92. North-Holland, Amsterdam (1971)CrossRefGoogle Scholar
  7. GTL90.
    Girard, J.-Y., Taylor, P., Lafont, Y.: Proofs and Types. Cambridge University Press, Cambridge (1990)Google Scholar
  8. Han99.
    Hannay, J.: Specification refinement with System F. In: Flum, J., Rodríguez-Artalejo, M. (eds.) CSL 1999. LNCS, vol. 1683, pp. 530–545. Springer, Heidelberg (1999)CrossRefGoogle Scholar
  9. Han00.
    Hannay, J.: A higher-order simulation relation for System F. In: Tiuryn, J. (ed.) FOSSACS 2000. LNCS, vol. 1784, pp. 130–145. Springer, Heidelberg (2000)CrossRefGoogle Scholar
  10. Han01.
    Hannay, J.: Abstraction Barriers and Refinement in the Polymorphic Lambda Calculus. PhD thesis, Laboratory for Foundations of Computer Science (LFCS), University of Edinburgh (2001) Google Scholar
  11. Han03.
    Hannay, J.: Abstraction barrier-observing relational parametricity. In: Hofmann, M.O. (ed.) TLCA 2003. LNCS, vol. 2701, pp. 135–152. Springer, Heidelberg (2003)CrossRefGoogle Scholar
  12. Has91.
    Hasegawa, R.: Parametricity of extensionally collapsed term models of polymorphism and their categorical properties. In: Ito, T., Meyer, A.R. (eds.) TACS 1991. LNCS, vol. 526, pp. 495–512. Springer, Heidelberg (1991)Google Scholar
  13. Hoa72.
    Hoare, C.A.R.: Proof of correctness of data representations. Acta Informatica 1, 271–281 (1972)zbMATHCrossRefGoogle Scholar
  14. HS96.
    Hofmann, M., Sannella, D.: On behavioural abstraction and behavioural satisfaction in higher-order logic. Theoretical Computer Science 167, 3–45 (1996)zbMATHCrossRefMathSciNetGoogle Scholar
  15. HLST00.
    Honsell, F., Longley, J., Sannella, D., Tarlecki, A.: Constructive data refinement in typed lambda calculus. In: Tiuryn, J. (ed.) FOSSACS 2000. LNCS, vol. 1784, pp. 161–176. Springer, Heidelberg (2000)CrossRefGoogle Scholar
  16. HS02.
    Honsell, F., Sannella, D.: Prelogical relations. CSL 1999 178, 23–43 (2002); Short version In: Proc. Computer Science Logic, CSL 1999, Madrid. Springer LNCS 1683, pp. 546-561 (1999)Google Scholar
  17. Kat03.
    Katsumata, S.: Behavioural equivalence and indistinguishability in higher-order typed languages. Selected papers from the 16th Intl. Workshop on Algebraic Development Techniques, Frauenchiemsee. Springer LNCS (2003) (to appear) Google Scholar
  18. Lei01.
    Leiß, H.: Second-order pre-logical relations and representation independence. In: Abramsky, S. (ed.) TLCA 2001. LNCS, vol. 2044, pp. 298–314. Springer, Heidelberg (2001)CrossRefGoogle Scholar
  19. MR91.
    Ma, Q., Reynolds, J.: Types, abstraction and parametric polymorphism, part 2. In: Schmidt, D., Main, M.G., Melton, A.C., Mislove, M.W., Brookes, S.D. (eds.) MFPS 1991. LNCS, vol. 598, pp. 1–40. Springer, Heidelberg (1991)Google Scholar
  20. Mai91.
    Mairson, H.: Outline of a proof theory of parametricity. In: Hughes, J. (ed.) FPCA 1991. LNCS, vol. 523, pp. 313–327. Springer, Heidelberg (1991)Google Scholar
  21. Mil71.
    Milner, R.: An algebraic definition of simulation between programs. In: Proc. 2nd Intl. Joint Conf. on Artificial Intelligence, pp. 481–489. British Computer Society (1971)Google Scholar
  22. Mit96.
    Mitchell, J.: Foundations for Programming Languages. MIT Press, Cambridge (1996)Google Scholar
  23. MP88.
    Mitchell, J., Plotkin, G.: Abstract types have existential type. ACM Trans. on Programming Languages and Systems 10(3), 470–502 (1988)CrossRefGoogle Scholar
  24. PA93.
    Plotkin, G., Abadi, M.: A logic for parametric polymorphism. In: Bezem, M., Groote, J.F. (eds.) TLCA 1993. LNCS, vol. 664, pp. 361–375. Springer, Heidelberg (1993)CrossRefGoogle Scholar
  25. PPST00.
    Plotkin, G., Power, J., Sannella, D., Tennent, R.: Lax logical relations. In: Welzl, E., Montanari, U., Rolim, J.D.P. (eds.) ICALP 2000. LNCS, vol. 1853, pp. 85–102. Springer, Heidelberg (2000)CrossRefGoogle Scholar
  26. Rey74.
    Reynolds, J.: Towards a theory of type structures. In: Robinet, B. (ed.) Programming Symposium. LNCS, vol. 19, pp. 408–425. Springer, Heidelberg (1974)Google Scholar
  27. Rey81.
    Reynolds, J.: The Craft of Programming. Prentice Hall, Englewood Cliffs (1981)zbMATHGoogle Scholar
  28. Rey83.
    Reynolds, J.: Types, abstraction and parametric polymorphism. In: Proc. 9th IFIP World Computer Congress, Paris, pp. 513–523. North Holland, Amsterdam (1983)Google Scholar
  29. RR94.
    Robinson, E., Rosolini, G.: Reflexive graphs and parametric polymorphism. In: Proc. Ninth Annual IEEE Symposium on Logic in Computer Science, Paris, pp. 364–371. IEEE Computer Society Press, Los Alamitos (1994)CrossRefGoogle Scholar
  30. ST97.
    Sannella, D., Tarlecki, A.: Essential concepts of algebraic specification and program development. Formal Aspects of Computing 9, 229–269 (1997)zbMATHCrossRefGoogle Scholar
  31. Sch90.
    Schoett, O.: Behavioural correctness of data representations. Science of Computer Programming 14, 43–57 (1990)zbMATHCrossRefMathSciNetGoogle Scholar
  32. Str67.
    Strachey, C.: Fundamental concepts in programming languages. Lecture notes from the Intl. Summer School in Programming Languages, Copenhagen (1967)Google Scholar
  33. Ten94.
    Tennent, R.: Correctness of data representations in Algol-like languages. In: A Classical Mind: Essays in Honour of C.A.R. Hoare, Prentice Hall, Englewood Cliffs (1994)Google Scholar
  34. Tak98.
    Takeuti, I.: An axiomatic system of parametricity. Fundamenta Informaticae 33(4), 397–432 (1998)zbMATHMathSciNetGoogle Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg 2003

Authors and Affiliations

  • Jo Hannay
    • 1
  • Shin-ya Katsumata
    • 2
  • Donald Sannella
    • 2
  1. 1.Department of Software EngineeringSimula Research Laboratory 
  2. 2.Laboratory for Foundations of Computer ScienceUniversity of Edinburgh 

Personalised recommendations