Operational Techniques in PVS — A Preliminary Evaluation

2001 
Abstract In this paper we present a preliminary analysis of the suitability of using PVS as a tool for developing operational semantics and programming logics in a semi-automatic fashion. To this end we present a formalized proof of the Church–Rosser theorem for a version of the call-by-value lambda calculus in the spirit of Landin's ISWIM. The proof is developed in the PVS system, and is used as a test bed or benchmark for evaluating the applicability of that system for carrying out more complex operational arguments. Our approach is relatively unusual in that it is based on the named variable approach, and concentrates on the call-by-value version of the β rule. Although there are numerous computer-based proofs of the Church–Rosser theorem in the literature, all of the existing proofs eliminate the need to treat α conversion. The novel aspects of our approach are that: we use the PVS system, especially its built-in abstract data types facility, to verify a version of the Church–Rosser theorem; we formalize a version of the λ-calculus, as it normally appears in textbooks, rather than tailoring it to suit the machine or system; we treat an ISWIM variation on the call-by-value version of the λ-calculus, rather than the simpler traditional call-by-name version. However the main aim of the work reported here was to evaluate PVS as a tool for developing, state of the art, operational based programming logics for realistic programming languages.
    • Correction
    • Source
    • Cite
    • Save
    • Machine Reading By IdeaReader
    22
    References
    17
    Citations
    NaN
    KQI
    []