Don Syme - Profile on Academia.edu (original) (raw)

Don Syme

Harald Ruess related author profile picture

Jim Alves-Foss related author profile picture

Claire Quigley related author profile picture

M. Pantel related author profile picture

Jozef Hooman related author profile picture

Michael Hicks related author profile picture

Levent Erkok related author profile picture

Lawrence Paulson related author profile picture

Sandrine Blazy related author profile picture

thuy nga vu related author profile picture

Uploads

Papers by Don Syme

Research paper thumbnail of Declarative Theorem Proving for Operational Semantics

Research paper thumbnail of Three Tactic Theorem Proving

We describe the key features of the proof description language of Declare, an experimental theore... more We describe the key features of the proof description language of Declare, an experimental theorem prover for higher order logic. We take a somewhat radical approach to proof description: proofs are not described with tactics but by using just three expressive outlining constructs. The language is \declarative" because each step speci es its logical consequences, i.e. the constants and formulae that are introduced, independently of the justi cation of that step. Logical constants and facts are lexically scoped in a style reminiscent of structured programming. The style is also heavily \inferential", because Declare relies on an automated prover to eliminate much of the detail normally made explicit in tactic proofs. Declare has been partly inspired by Mizar, but provides better automation. The proof language has been designed to take advantage of this, allowing proof steps to be both large and controlled. We assess the costs and bene ts of this approach, and describe its impact on three areas of theorem prover design: speci cation, automated reasoning and interaction.

Research paper thumbnail of Proving java type sound

Research paper thumbnail of Typing a multi-language intermediate code

Research paper thumbnail of DECLARE: A Prototype Declarative Proof System for Higher Order Logic

Research paper thumbnail of Proving Java Type Soundness

This t e c hnical r eport describesamachine checked proofofthetype soundness of a s u b s e t of ... more This t e c hnical r eport describesamachine checked proofofthetype soundness of a s u b s e t of the Java l anguage called Java S . A formal s e mantics for this s ubset has been developedby Drossopoulou a nd Eisenbach, and they have s k etched a n o u t l ine of the typesoundness proof. The formulation developed here complements their w r itten semantics and proof b y c o rrecting and clarifying signi cant details and it d e monstrates the utility o f f o rmal, machine checking when exploring a large and detailed p r o o f b a s ed on operational semantics. The development also serves as a case study in the application of`declarative' proof techniques to a major property o f a n o perational system.

Research paper thumbnail of An industrially effective environment for formal hardware verification

IEEE Transactions on Computer-aided Design of Integrated Circuits and Systems, 2005

The Forte formal verification environment for datapath-dominated hardware is described. Forte has... more The Forte formal verification environment for datapath-dominated hardware is described. Forte has proven to be effective in large-scale industrial trials and combines an efficient linear-time logic model-checking algorithm, namely the symbolic trajectory evaluation (STE), with lightweight theorem proving in higher-order logic. These are tightly integrated in a generalpurpose functional programming language, which both allows the system to be easily customized and at the same time serves as a specification language. The design philosophy behind Forte is presented and the elements of the verification methodology that make it effective in practice are also described.

Research paper thumbnail of Design and Implementation of Generics for the .NET Common Language Runtime

Sigplan Notices, 2001

The Microsoft .NET Common Language Runtime provides a shared type system, intermediate language a... more The Microsoft .NET Common Language Runtime provides a shared type system, intermediate language and dynamic execution environment for the implementation and inter-operation of multiple source languages. In this paper we extend it with direct support for parametric polymorphism (also known as generics), describing the design through examples written in an extended version of the C# programming language, and explaining aspects of implementation by reference to a prototype extension to the runtime.

Research paper thumbnail of Reasoning with the Formal Definition of Standard ML in HOL

Reasoning with the Formal Definition of Standard ML in HOL

ABSTRACT This paper describes the results of a project to embedthe Formal Definition of the Stand... more ABSTRACT This paper describes the results of a project to embedthe Formal Definition of the Standard ML Corelanguage into the HOL mechanized reasoning system. HOL theories of the Core syntax and dynamicsemantics are presented, including a purely definitional representation of the semantic inferencerules. The correctness of the representationis demonstrated by the derivation of several important language properties, including determinacy.A symbolic evaluator to assist in proving propertiesof...

Research paper thumbnail of Declarative Theorem Proving for Operational Semantics

Research paper thumbnail of Three Tactic Theorem Proving

We describe the key features of the proof description language of Declare, an experimental theore... more We describe the key features of the proof description language of Declare, an experimental theorem prover for higher order logic. We take a somewhat radical approach to proof description: proofs are not described with tactics but by using just three expressive outlining constructs. The language is \declarative" because each step speci es its logical consequences, i.e. the constants and formulae that are introduced, independently of the justi cation of that step. Logical constants and facts are lexically scoped in a style reminiscent of structured programming. The style is also heavily \inferential", because Declare relies on an automated prover to eliminate much of the detail normally made explicit in tactic proofs. Declare has been partly inspired by Mizar, but provides better automation. The proof language has been designed to take advantage of this, allowing proof steps to be both large and controlled. We assess the costs and bene ts of this approach, and describe its impact on three areas of theorem prover design: speci cation, automated reasoning and interaction.

Research paper thumbnail of Proving java type sound

Research paper thumbnail of Typing a multi-language intermediate code

Research paper thumbnail of DECLARE: A Prototype Declarative Proof System for Higher Order Logic

Research paper thumbnail of Proving Java Type Soundness

This t e c hnical r eport describesamachine checked proofofthetype soundness of a s u b s e t of ... more This t e c hnical r eport describesamachine checked proofofthetype soundness of a s u b s e t of the Java l anguage called Java S . A formal s e mantics for this s ubset has been developedby Drossopoulou a nd Eisenbach, and they have s k etched a n o u t l ine of the typesoundness proof. The formulation developed here complements their w r itten semantics and proof b y c o rrecting and clarifying signi cant details and it d e monstrates the utility o f f o rmal, machine checking when exploring a large and detailed p r o o f b a s ed on operational semantics. The development also serves as a case study in the application of`declarative' proof techniques to a major property o f a n o perational system.

Research paper thumbnail of An industrially effective environment for formal hardware verification

IEEE Transactions on Computer-aided Design of Integrated Circuits and Systems, 2005

The Forte formal verification environment for datapath-dominated hardware is described. Forte has... more The Forte formal verification environment for datapath-dominated hardware is described. Forte has proven to be effective in large-scale industrial trials and combines an efficient linear-time logic model-checking algorithm, namely the symbolic trajectory evaluation (STE), with lightweight theorem proving in higher-order logic. These are tightly integrated in a generalpurpose functional programming language, which both allows the system to be easily customized and at the same time serves as a specification language. The design philosophy behind Forte is presented and the elements of the verification methodology that make it effective in practice are also described.

Research paper thumbnail of Design and Implementation of Generics for the .NET Common Language Runtime

Sigplan Notices, 2001

The Microsoft .NET Common Language Runtime provides a shared type system, intermediate language a... more The Microsoft .NET Common Language Runtime provides a shared type system, intermediate language and dynamic execution environment for the implementation and inter-operation of multiple source languages. In this paper we extend it with direct support for parametric polymorphism (also known as generics), describing the design through examples written in an extended version of the C# programming language, and explaining aspects of implementation by reference to a prototype extension to the runtime.

Research paper thumbnail of Reasoning with the Formal Definition of Standard ML in HOL

Reasoning with the Formal Definition of Standard ML in HOL

ABSTRACT This paper describes the results of a project to embedthe Formal Definition of the Stand... more ABSTRACT This paper describes the results of a project to embedthe Formal Definition of the Standard ML Corelanguage into the HOL mechanized reasoning system. HOL theories of the Core syntax and dynamicsemantics are presented, including a purely definitional representation of the semantic inferencerules. The correctness of the representationis demonstrated by the derivation of several important language properties, including determinacy.A symbolic evaluator to assist in proving propertiesof...

Log In