Logical Relations and Data Abstraction

  • Authors:
  • John Power;Edmund Robinson

  • Affiliations:
  • -;-

  • Venue:
  • Proceedings of the 14th Annual Conference of the EACSL on Computer Science Logic
  • Year:
  • 2000

Quantified Score

Hi-index 0.00

Visualization

Abstract

We prove, in the context of simple type theory, that logical relations are sound and complete for data abstraction as given by equational specifications. Specifically, we show that two implementations of an equationally specified abstract type are equivalent if and only if they are linked by a suitable logical relation. This allows us to introduce new types and operations of any order on those types, and to impose equations between terms of any order. Implementations are required to respect these equations up to a general form of contextual equivalence, and two implementations are equivalent if they produce the same contextual equivalence on terms of the enlarged language. Logical relations are introduced abstractly, soundness is almost automatic, but completeness is more difficult, achieved using a variant of Jung and Tiuryn's logical relations of varying arity. The results are expressed and proved categorically.