Abstract
We give the first sound and complete proof method for observational equivalence in full polymorphic λ-calculus with existential types and first-class, higher-order references. Our method is syntactic and elementary in the sense that it only employs simple structures such as relations on terms. It is nevertheless powerful enough to prove many interesting equivalences that can and cannot be proved by previous approaches, including the latest work by Ahmed, Dreyer and Rossberg (POPL 2009).
Appendices online: http://www.kb.ecei.tohoku.ac.jp/~sumii/pub/polyref.pdf
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
Preview
Unable to display preview. Download preview PDF.
References
Abramsky, S., Honda, K., McCusker, G.: A fully abstract game semantics for general references. In: Thirteenth Annual IEEE Symposium on Logic in Computer Science, pp. 334–344 (1998)
Ahmed, A., Appel, A.W., Virga, R.: An indexed model of impredicative polymorphism and mutable references (2003), http://www.cs.princeton.edu/~amal/papers/impred.pdf
Ahmed, A., Dreyer, D., Rossberg, A.: State-dependent representation independence. In: Proceedings of the 36th ACM SIGPLAN-SIGACT Symposium on Principles of Programming Languages, pp. 340–353 (2009)
Appel, A.W., McAllester, D.: An indexed model of recursive types for foundational proof-carrying code. ACM Transactions on Programming Languages and Systems 23(5), 657–683 (2001)
Birkedal, L., Støvring, K., Thamsborg, J.: Realizability semantics of parametric polymorphism, references, and recursive types. In: Foundations of Software Science and Computation Structures. LNCS, vol. 5504, pp. 456–470. Springer, Heidelberg (2009)
Birkedal, L., Støvring, K., Thamsborg, J.: Relational parametricity for references and recursive types. In: Types in Language Design and Implementation, pp. 91–104 (2009)
Bohr, N., Birkedal, L.: Relational reasoning for recursive types and references. In: Kobayashi, N. (ed.) APLAS 2006. LNCS, vol. 4279, pp. 79–96. Springer, Heidelberg (2006)
Gabbay, M., Pitts, A.: A new approach to abstract syntax involving binders. In: 14th Annual IEEE Symposium on Logic in Computer Science, pp. 214–224 (1999)
Gordon, A.D.: Functional Programming and Input/Output. PhD thesis, University of Cambridge (1993)
Koutavas, V., Wand, M.: Small bisimulations for reasoning about higher-order imperative programs. In: Proceedings of the 33rd ACM SIGPLAN-SIGACT Symposium on Principles of Programming Languages, pp. 141–152 (2006)
Laird, J.: A fully abstract trace semantics for general references. In: Arge, L., Cachin, C., Jurdziński, T., Tarlecki, A. (eds.) ICALP 2007. LNCS, vol. 4596, pp. 667–679. Springer, Heidelberg (2007)
Lassen, S.B., Levy, P.B.: Typed normal form bisimulation for parametric polymorphism. In: 23rd Annual IEEE Symposium on Logic in Computer Science, pp. 341–352 (2008)
Meyer, A.R., Sieber, K.: Towards fully abstract semantics for local variables: Preliminary report. In: Proceedings of the 15th ACM SIGPLAN-SIGACT Symposium on Principles of Programming Languages, pp. 191–203 (1988)
Mitchell, J.C.: On the equivalence of data representations. In: Artificial Intelligence and Mathematical Theory of Computation: Papers in Honor of John McCarthy, pp. 305–330. Academic Press, London (1991)
Pierce, B.C.: Types and Programming Languages. MIT Press, Cambridge (2002)
Pierce, B.C., Sangiorgi, D.: Behavioral equivalence in the polymorphic pi-calculus. Journal of the ACM 47(3), 531–586 (2000); Extended abstract appeared in: Proceedings of the 24th ACM SIGPLAN-SIGACT Symposium on Principles of Programming Languages, pp. 531–584 (1997)
Pitts, A.M., Stark, I.: Operational reasoning for functions with local state. In: Higher Order Operational Techniques in Semantics, pp. 227–273. Cambridge University Press, Cambridge (1998)
Reynolds, J.C.: Types, abstraction and parametric polymorphism. In: Information Processing 1983, Proceedings of the IFIP 9th World Computer Congres, pp. 513–523 (1983)
Sangiorgi, D., Kobayashi, N., Sumii, E.: Environmental bisimulations for higher-order languages. In: Twenty-Second Annual IEEE Symposium on Logic in Computer Science, pp. 293–302 (2007)
Sangiorgi, D., Milner, R.: The problem of “weak bisimulation up to”. In: Cleaveland, W.R. (ed.) CONCUR 1992. LNCS, vol. 630, pp. 32–46. Springer, Heidelberg (1992)
Støvring, K., Lassen, S.B.: A complete, co-inductive syntactic theory of sequential control and state. In: Proceedings of the 34th ACM SIGPLAN-SIGACT Symposium on Principles of Programming Languages, pp. 161–172 (2007)
Sumii, E.: A theory of non-monotone memory (or: Contexts for free). In: 18th European Symposium on Programming. LNCS, vol. 5502, pp. 237–251. Springer, Heidelberg (2009)
Sumii, E., Pierce, B.C.: A bisimulation for dynamic sealing. Theoretical Computer Science 375(1–3), 169–192 (2007); Extended abstract appeared in: Proceedings of the 31st ACM SIGPLAN-SIGACT Symposium on Principles of Programming Languages, pp. 161–172 (2004)
Sumii, E., Pierce, B.C.: A bisimulation for type abstraction and recursion. Journal of the ACM 54(5-26), 1–43 (2007); Extended abstract appeared in: Proceedings of the 32nd ACM SIGPLAN-SIGACT Symposium on Principles of Programming Languages, pp. 63–74 (2005)
Tzevelekos, N.: Full abstraction for nominal general references. In: Twenty-Second Annual IEEE Symposium on Logic in Computer Science, pp. 399–410 (2007)
Wadler, P.: Theorems for free! In: Proceedings of the Fourth ACM SIGPLAN International Conference on Functional Programming Languages and Computer Architecture, pp. 347–359. ACM Press, New York (1989)
Author information
Authors and Affiliations
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 2009 Springer-Verlag Berlin Heidelberg
About this paper
Cite this paper
Sumii, E. (2009). A Complete Characterization of Observational Equivalence in Polymorphic λ-Calculus with General References. In: Grädel, E., Kahle, R. (eds) Computer Science Logic. CSL 2009. Lecture Notes in Computer Science, vol 5771. Springer, Berlin, Heidelberg. https://doi.org/10.1007/978-3-642-04027-6_33
Download citation
DOI: https://doi.org/10.1007/978-3-642-04027-6_33
Publisher Name: Springer, Berlin, Heidelberg
Print ISBN: 978-3-642-04026-9
Online ISBN: 978-3-642-04027-6
eBook Packages: Computer ScienceComputer Science (R0)