On Completeness of Logical Relations for Monadic Types
Software security can be ensured by specifying and verifying security properties of software using formal methods with strong theoretical bases. In particular, programs can be modeled in the framework of lambda-calculi, and interesting properties can be expressed formally by contextual equivalence (a.k.a. observational equivalence). Furthermore, imperative features, which exist in most real-life software, can be nicely expressed in the so-called computational lambda-calculus. Contextual equivalence is difficult to prove directly, but we can often use logical relations as a tool to establish it in lambda-calculi. We have already defined logical relations for the computational lambda-calculus in previous work. We devote this paper to the study of their completeness w.r.t. contextual equivalence in the computational lambda-calculus.
Unable to display preview. Download preview PDF.
- 4.Lasota, S., Nowak, D., Zhang, Y.: On completeness of logical relations for monadic types. Research Report cs.LO/0612106, arXiv (2006)Google Scholar
- 6.Mitchell, J.C.: Foundations of Programming Languages. MIT Press, Cambridge (1996)Google Scholar
- 10.Pitts, A., Stark, I.: Operational reasoning for functions with local state. In: Higher Order Operational Techniques in Semantics, pp. 227–273. Cambridge University Press, Cambridge (1998)Google Scholar
- 11.Plotkin, G.D.: Lambda-definability in the full type hierarchy. In: To H. B. Curry: Essays on Combinatory Logic, Lambda Calculus and Formalism, pp. 363–373. Academic Press, London (1980)Google Scholar
- 14.Zhang, Y.: Cryptographic logical relations. Ph. d. dissertation, ENS Cachan, France (2005)Google Scholar