Results 1 
4 of
4
A Tool to Support Formal Reasoning about Computer Languages
 Proceedings of the Third International Workshop on Tools and Algorithms for the Construction and Analysis of Systems (TACAS'97), volume 1217 of Lecture Notes in Computer Science
, 1997
"... . A tool to support formal reasoning about computer languages and specific language texts is described. The intention is to provide a tool that can build a formal reasoning system in a mechanical theorem prover from two specifications, one for the syntax of the language and one for the semantics ..."
Abstract

Cited by 4 (0 self)
 Add to MetaCart
. A tool to support formal reasoning about computer languages and specific language texts is described. The intention is to provide a tool that can build a formal reasoning system in a mechanical theorem prover from two specifications, one for the syntax of the language and one for the semantics. A parser, prettyprinter and internal representations are generated from the former. Logical representations of syntax and semantics, and associated theorem proving tools, are generated from the combination of the two specifications. The main aim is to eliminate tedious work from the task of prototyping a reasoning tool for a computer language, but the abstract specifications of the language also assist the automation of proof. 1 Introduction For several decades theorem proving systems have been used to reason about computer languages. A common approach has been to define the semantics of a language in the logic of the theorem prover. This may be done by defining new constants in t...
A Mechanisation of Computability Theory in HOL
 In Proceedings of the 9th International Conference on Theorem Proving in Higher Order Logics
, 1996
"... . This paper describes a mechanisation of computability theory in HOL using the Unlimited Register Machine (URM) model of computation. The URM model is first specified as a rudimentary machine language and then the notion of a computable function is derived. This is followed by an illustration o ..."
Abstract

Cited by 1 (1 self)
 Add to MetaCart
. This paper describes a mechanisation of computability theory in HOL using the Unlimited Register Machine (URM) model of computation. The URM model is first specified as a rudimentary machine language and then the notion of a computable function is derived. This is followed by an illustration of the proof of a number of basic results of computability which include various closure properties of computable functions. These are used in the implementation of a mechanism which partly automates the proof of the computability of functions and a number of functions are then proved to be computable. This work forms part of a comparative study of different theorem proving approaches and a brief discussion regarding theorem proving in HOL follows the description of the mechanisation. 1 Introduction The theory of computation is a field which has been widely explored in mathematical and computer science literature [4, 12, 13] and several approaches to a standard model of computation h...
A Framework for MachineAssisted User Interface Verification
, 1995
"... . In this paper we present a formal framework for machineassisted user interface verification. We focus on user interfaces constructed with tools that are based on a visual scripting formalism. As these tools do not provide a language for describing user interfaces (user interfaces are constructed b ..."
Abstract

Cited by 1 (1 self)
 Add to MetaCart
. In this paper we present a formal framework for machineassisted user interface verification. We focus on user interfaces constructed with tools that are based on a visual scripting formalism. As these tools do not provide a language for describing user interfaces (user interfaces are constructed by direct manipulation) we introduce one. Noting that user interface construction with these tools consists of "wiring" components together, we base the syntax of our language on an existing module interconnection language: in this context a user interface is described as a hierarchy of interconnected component instances. We define the semantics of user interfaces using execution sequences; this allows us to reason about their ongoing behavior. We embed the semantics in higher order logic (as mechanized by the HOL system) to allow us to verify properties using formal proof. 1 Introduction Graphical user interfaces (GUIs) are being used increasingly in security and safetycritical applicatio...