We define λ_(seal), an untyped call-by-value λ-calculus with primitives for protecting abstract data by sealing, and develop a bisim-ulation proof method that is sound and complete with respect to contextual equivalence. This provides a formal basis for reasoning about data abstraction in open, dynamic settings where static techniques such as type abstraction and logical relations are not applicable.
展开▼