Use this URL to cite or link to this record in EThOS:
Title: Declarative theorem proving for operational semantics
Author: Syme, Donald Robert
Awarding Body: University of Cambridge
Current Institution: University of Cambridge
Date of Award: 1999
Availability of Full Text:
Access from EThOS:
Full text unavailable from EThOS. Please try the link below.
Access from Institution:
This dissertation is concerned with techniques for formally checking properties of systems that are described by operational semantics. We describe innovations and tools for tackling this problem, and a large case study in the application of these tools. The innovations centre on the notion of "declarative theorem proving", and in particular techniques for declarative proof description. We define what we mean by this, assess its costs and benefits, and describe the impact of this approach with respect to four fundamental areas of theorem prover design: specification, proof description, automated reasoning and interaction. We have implemented our techniques as the DECLARE system, which we use to demonstrate how our principles translate into practice. With regard to specification we briefly describe the range of specification devices employed, and present a technique for validating operational specifications against their informal requirements. The proof language is based on just three major devices: decomposition, justification by automation and second order schema application, and we describe these in detail. We also specify the requirements for an automated reasoning engine in the context of declarative proof and operational semantics. We describe the engine we have implemented and assess how it does and does not meet these requirements. The case study is a formally checked proof of the type soundness of a subset of the Java language, and is an interesting result in its own right. We define an operational semantics for this subset, based on Drossopoulou and Eisenbach's work in this field, and then outline the structure of our type soundness proot which is based on a notion of conformance. Some errors in the Java Language Specification and Drossopoulou and Eisenbach's work were discovered during this process, and these are described. Finally, we argue why declarative techniques substantially improved the quality of the results achieved, particularly with respect to maintainability and readability.
Supervisor: Not available Sponsor: Not available
Qualification Name: Thesis (Ph.D.) Qualification Level: Doctoral