Skip to main navigation Skip to search Skip to main content

Program equivalence in linear contexts

  • Yuxin Deng
  • , Yu Zhang*
  • *Corresponding author for this work
  • Shanghai Jiao Tong University
  • CAS - Institute of Software
  • Jilin University

Research output: Contribution to journalArticlepeer-review

Abstract

Program equivalence in linear contexts, where programs are used or executed exactly once, is an important issue in programming languages. However, existing techniques like those based on bisimulations and logical relations only target at contextual equivalence in the usual (non-linear) functional languages, and fail in capturing non-trivial equivalent programs in linear contexts, particularly when non-determinism is present.We propose the notion of linear contextual equivalence to formally characterize such program equivalence, as well as a novel and general approach to studying it in higher-order languages, based on labeled transition systems specifically designed for functional languages. We show that linear contextual equivalence indeed coincides with trace equivalence. We illustrate our technique in both deterministic (a linear version of PCF) and non-deterministic (linear PCF in Moggi's framework) functional languages.

Original languageEnglish
Pages (from-to)71-90
Number of pages20
JournalTheoretical Computer Science
Volume585
DOIs
StatePublished - 20 Jun 2015
Externally publishedYes

Keywords

  • Contextual equivalence
  • Linear PCF
  • Non-determinism
  • Trace equivalence

Fingerprint

Dive into the research topics of 'Program equivalence in linear contexts'. Together they form a unique fingerprint.

Cite this