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

Proving Congruence of Bisimulation in Functional Programming Languages

Published: 01 February 1996 Publication History

Abstract

We give a method for proving congruence of bisimulation-like equivalences in functional programming languages. The method applies to languages that can be presented as a set of expressions together with an evaluation relation. We use this method to show that some generalizations of Abramsky's applicative bisimulation are congruences whenever evaluation can be specified by a certain natural form of structured operational semantics. One of the generalizations handles nondeterminism and diverging computations.

References

[1]
Abramsky, S. (1990), The lazy lambda calculus, in "Research Topics in Functional Programming" (D. A. Turner, Ed.), pp. 65-116, Addison-Wesley, Reading, MA.
[2]
Aczel, P. (1978), A general CR Theorem, preprint, Univ. of Manchester.
[3]
Berry, G. (1981), "Some Syntactic and Categorical Constructions of Lambda-Calculus Models," Technical Report 80, INRIA.
[4]
Bloom, B. (1990), Can LCF be topped? Flat lattice models of typed ¿-calculus, Inform. and Comput. 87, 264-301.
[5]
Gordon, A. D. (1994), "Functional Programming and Input/Output," Cambridge Univ. Press.
[6]
Groote, J. F., and Vaandrager, F. (1992), Structured operational semantics and bisimulation as a congruence, Inform. and Comput. 100, 202-260.
[7]
Howe, D. J. (1989), Equality in lazy computation systems, in "Proceedings of the Fourth Annual Symposium on Logic in Computer Science," pp. 198-203, IEEE Computer Society, Los Alamitos, CA.
[8]
Howe, D. J. (1991), On computational open-endedness in Martin-Löf's type theory, in "Proceedings of the Sixth Annual Symposium on Logic in Computer Science," pp. 162-172, IEEE Computer Society, Los Alamitos, CA.
[9]
Howe, D. J. (1995), "A Note on Proving Congruence of Bisimulation in a Generalized Lambda Calculus," unpublished technical memo, AT&T Bell Laboratories.
[10]
Jagadeesan, R. (1991), "Investigations into Abstraction and Concurrency," Ph.D. thesis, Cornell Univ.
[11]
Kahn, G. (1987), Natural semantics, in "Proceedings of the Symposium on Theoretical Aspects of Computer Software," Lecture Notes in Computer Science, Vol. 247, p. 22-39, Springer-Verlag, Berlin/New York.
[12]
Klop, J. W. (1980), Combinatory reduction systems, "Mathematical Centre Tracts," Vol. 127, CWI, Amsterdam.
[13]
Ong, L. (1992), The concurrent lambda calculus I: A general precongruence theorem for applicative bisimulation, in "Proceedings on Seminars on Parallel Programming Systems," pp. 139-164, Department of Information Systems and Computer Science, National Univ. of Singapore.
[14]
Plotkin, G. (1981), "A Structural Approach to Operational Semantics," Technical Report, Computer Science Department, Aarhus Univ.
[15]
Ritter, E., and Pitts, A. M. (1995), A fully abstract translation between a ¿-calculus with reference types and Standard ML, in "Proceedings of the Second International Conference on Typed Lambda Calculi and Applications," Lecture Notes in Computer Science, Vol. 902, pp. 397-413, Springer-Verlag, Berlin/New York.
[16]
Sands, D. (1991), Operational theories of improvement in functional languages, in "Proceedings of the Glasgow Functional Programming Workshop," pp. 298-311, Springer Workshops in Computing, Springer-Verlag, Berlin/New York.
[17]
Sangiorgi, D. (1992), The lazy lambda calculus in a concurrency scenario, Inform. and Comput. 111, 120-153.
[18]
Talcott, C. (1985), "The Essence of Rum: A Theory of the Intensional and Extensional Aspects of Lisp-Type Computation," Ph.D. thesis, Stanford Univ.

Cited By

View all
  • (2024)Bialgebraic Reasoning on Higher-order Program EquivalenceProceedings of the 39th Annual ACM/IEEE Symposium on Logic in Computer Science10.1145/3661814.3662099(1-15)Online publication date: 8-Jul-2024
  • (2024)Verified Inlining and Specialisation for PureCakeProgramming Languages and Systems10.1007/978-3-031-57267-8_11(275-301)Online publication date: 6-Apr-2024
  • (2024)Logical Predicates in Higher-Order Mathematical Operational SemanticsFoundations of Software Science and Computation Structures10.1007/978-3-031-57231-9_3(47-69)Online publication date: 6-Apr-2024
  • Show More Cited By

Recommendations

Comments

Information & Contributors

Information

Published In

cover image Information and Computation
Information and Computation  Volume 124, Issue 2
Feb. 1, 1996
96 pages
ISSN:0890-5401
  • Editor:
  • Albert R. Meyer
Issue’s Table of Contents

Publisher

Academic Press, Inc.

United States

Publication History

Published: 01 February 1996

Qualifiers

  • Research-article

Contributors

Other Metrics

Bibliometrics & Citations

Bibliometrics

Article Metrics

  • Downloads (Last 12 months)0
  • Downloads (Last 6 weeks)0
Reflects downloads up to 13 Sep 2024

Other Metrics

Citations

Cited By

View all
  • (2024)Bialgebraic Reasoning on Higher-order Program EquivalenceProceedings of the 39th Annual ACM/IEEE Symposium on Logic in Computer Science10.1145/3661814.3662099(1-15)Online publication date: 8-Jul-2024
  • (2024)Verified Inlining and Specialisation for PureCakeProgramming Languages and Systems10.1007/978-3-031-57267-8_11(275-301)Online publication date: 6-Apr-2024
  • (2024)Logical Predicates in Higher-Order Mathematical Operational SemanticsFoundations of Software Science and Computation Structures10.1007/978-3-031-57231-9_3(47-69)Online publication date: 6-Apr-2024
  • (2024)Light GenericityFoundations of Software Science and Computation Structures10.1007/978-3-031-57231-9_2(24-46)Online publication date: 6-Apr-2024
  • (2023)PureCake: A Verified Compiler for a Lazy Functional LanguageProceedings of the ACM on Programming Languages10.1145/35912597:PLDI(952-976)Online publication date: 6-Jun-2023
  • (2023)Towards a Higher-Order Mathematical Operational SemanticsProceedings of the ACM on Programming Languages10.1145/35712157:POPL(632-658)Online publication date: 11-Jan-2023
  • (2022)A relational theory of effects and coeffectsProceedings of the ACM on Programming Languages10.1145/34986926:POPL(1-28)Online publication date: 12-Jan-2022
  • (2022)Effectful improvement theoryScience of Computer Programming10.1016/j.scico.2022.102792217:COnline publication date: 1-May-2022
  • (2022)Fairness and communication-based semantics for session-typed languagesInformation and Computation10.1016/j.ic.2022.104892285:PBOnline publication date: 1-May-2022
  • (2021)HO in CoqJournal of Automated Reasoning10.1007/s10817-020-09553-065:1(75-124)Online publication date: 1-Jan-2021
  • Show More Cited By

View Options

View options

Get Access

Login options

Media

Figures

Other

Tables

Share

Share

Share this Publication link

Share on social media