English

Abstract Effects and Proof-Relevant Logical Relations

Programming Languages 2012-12-27 v1 Logic in Computer Science

Abstract

We introduce a novel variant of logical relations that maps types not merely to partial equivalence relations on values, as is commonly done, but rather to a proof-relevant generalisation thereof, namely setoids. The objects of a setoid establish that values inhabit semantic types, whilst its morphisms are understood as proofs of semantic equivalence. The transition to proof-relevance solves two well-known problems caused by the use of existential quantification over future worlds in traditional Kripke logical relations: failure of admissibility, and spurious functional dependencies. We illustrate the novel format with two applications: a direct-style validation of Pitts and Stark's equivalences for "new" and a denotational semantics for a region-based effect system that supports type abstraction in the sense that only externally visible effects need to be tracked; non-observable internal modifications, such as the reorganisation of a search tree or lazy initialisation, can count as `pure' or `read only'. This `fictional purity' allows clients of a module soundly to validate more effect-based program equivalences than would be possible with traditional effect systems.

Keywords

Cite

@article{arxiv.1212.5692,
  title  = {Abstract Effects and Proof-Relevant Logical Relations},
  author = {Nick Benton and Martin Hofmann and Vivek Nigam},
  journal= {arXiv preprint arXiv:1212.5692},
  year   = {2012}
}
R2 v1 2026-06-21T22:59:20.714Z