Results 1  10
of
15
Proving existential theorems when importing results from MDG to HOL
 TPHOLS 2001 SUPPLEMENTAL PROCEEDINGS, INFORMATIC RESEARCH REPORT EDIINFRR0046
, 2001
"... An existential theorem, for the specification or implementation of hardware, states that for any inputs there must exist at least one output which is consistent with it. It is proved to prevent an inconsistent model being produced and it is required to formally import the verification result from on ..."
Abstract

Cited by 4 (3 self)
 Add to MetaCart
An existential theorem, for the specification or implementation of hardware, states that for any inputs there must exist at least one output which is consistent with it. It is proved to prevent an inconsistent model being produced and it is required to formally import the verification result from one verification system to another system. In this paper, we investigate the verification of the existential theorems of hardware specifications and implementations. Whilst much of the approach is generally applicable, we specifically consider a hybrid system linking the MDG hardware verification system with the HOL interactive proof system. We investigate existential theorems based on the syntax and semantics of the MDG input language (MDGHDL) in HOL. We define an output representation for each component in the MDGHDL component library. We summarize a general method which is used to prove the existential theorem for any MDGHDL program. The method can also be used to solve other existentially quantified goals.
Providing a Formal Linkage between MDG and HOL
, 2002
"... We describe an approach for formally verifying the linkage between a symbolic state enumeration system and a theorem proving system. This involves the following three stages of proof. Firstly we prove theorems about the correctness of the translation part of the symbolic state system. It interface ..."
Abstract

Cited by 2 (2 self)
 Add to MetaCart
We describe an approach for formally verifying the linkage between a symbolic state enumeration system and a theorem proving system. This involves the following three stages of proof. Firstly we prove theorems about the correctness of the translation part of the symbolic state system. It interfaces between low level decision diagrams and high level description languages. We ensure that the semantics of a program is preserved in those of its translated form. Secondly we prove linkage theorems: theorems that justify introducing a result from a state enumeration system into a proof system. Finally we combine the translator correctness and linkage theorems. The resulting new linkage theorems convert results to a high level language from the low level decision diagrams that the result was actually proved about in the state enumeration system.They justify importing lowlevel external verification results into a theorem prover. We use a linkage between the HOL system and a simplified version of the MDG system to illustrate the ideas and consider a small example that integrates two applications from MDG and HOL to illustrate the linkage theorems.
Evidence Management in Programatica
 Workshop on Software Certificate Management, Palm Beach
, 2005
"... to design new kinds of tools to support the development and certification of software systems. Our approach relies on a tight integration of program source code, embedded formal properties, and associated evidence of validity. A particular goal for the toolset is to facilitate efficient and effectiv ..."
Abstract

Cited by 2 (0 self)
 Add to MetaCart
to design new kinds of tools to support the development and certification of software systems. Our approach relies on a tight integration of program source code, embedded formal properties, and associated evidence of validity. A particular goal for the toolset is to facilitate efficient and effective use of many different kinds of evidence during project development. Our current prototype targets validation of functional (security) properties of programs written in Haskell. This tool provides connections, through a language of formal properties called Plogic, to several external validation tools and supports unit testing, random testing, automated and interactive theorem proving, and signed assertions. The underlying concepts, however, are quite general and should be easily adaptable to other programming languages and development tools, and to support a wide range of both process and artifactoriented based validation techniques. 1 Software Development and Evidence Management Software developers rely on a wide variety of techniques to assure themselves (and their customers) that the system they are building will function correctly:
A High Level Reachability Analysis using Multiway Decision Graph in the HOL Theorem Prover
"... Abstract. In this paper, we provide all the necessary infrastructure to define a high level states exploration approach within the HOL theorem prover. While related work has tackled the same problem by representing primitive BDD operations as inference rules added to the core of the theorem prover, ..."
Abstract

Cited by 1 (1 self)
 Add to MetaCart
Abstract. In this paper, we provide all the necessary infrastructure to define a high level states exploration approach within the HOL theorem prover. While related work has tackled the same problem by representing primitive BDD operations as inference rules added to the core of the theorem prover, we have based our approach on the Multiway Decision Graphs (MDGs). We define canonic MDGs as wellformed directed formulae in HOL. Then, we formalize the basic MDG operations following a deep embedding approach and we derive the correctness proof for each operation. Finally, a high level reachability analysis is implemented as a tactic that uses our MDG theory within HOL. 1
Combining two approaches for the verification of cryptographic protocols
 Workshop Specification, Analysis and Validation for Emerging Technologies in Computational Logic (SAVE 2001)
, 2001
"... ..."
Formal verification of chess endgame databases
 Oxford University Computing Laboratory
, 2005
"... Abstract. Chess endgame databases store the number of moves required to force checkmate for all winning positions: with such a database it is possible to play perfect chess. This paper describes a method to construct endgame databases that are formally verified to logically follow from the laws of c ..."
Abstract

Cited by 1 (1 self)
 Add to MetaCart
Abstract. Chess endgame databases store the number of moves required to force checkmate for all winning positions: with such a database it is possible to play perfect chess. This paper describes a method to construct endgame databases that are formally verified to logically follow from the laws of chess. The method employs a theorem prover to model the laws of chess and ensure that the construction is correct, and also a BDD engine to compactly represent and calculate with large sets of chess positions. An implementation using the HOL4 theorem prover and the BuDDY BDD engine is able to solve all four piece pawnless endgames. 1
A LightWeight Framework for Hardware Verification
 In TACAS'99
, 1999
"... This paper describes a deductive verification framework that allows the use of general purpose decision procedures and traditional model checking along with domain specific inference rules. The latter allow established algorithms for timing verification and other hardware verification tasks to b ..."
Abstract

Cited by 1 (1 self)
 Add to MetaCart
This paper describes a deductive verification framework that allows the use of general purpose decision procedures and traditional model checking along with domain specific inference rules. The latter allow established algorithms for timing verification and other hardware verification tasks to be imported into the verification framework. To demonstrate this approach, a SRT divider is verified using a transistorlevel model with timing.
A Proof System for Correct Program Development
, 2000
"... realworld applications (e.g. [EHM + 99, Buh95]). Moreover, aspects of ML such as strong typing and the exceptions system have significantly influenced the design of languages such as Java [GJS96], and it seems likely that future systems languages will incorporate many of these features [Mac00]. ..."
Abstract

Cited by 1 (1 self)
 Add to MetaCart
realworld applications (e.g. [EHM + 99, Buh95]). Moreover, aspects of ML such as strong typing and the exceptions system have significantly influenced the design of languages such as Java [GJS96], and it seems likely that future systems languages will incorporate many of these features [Mac00]. Regarding the second requirement, even before the definition of ML had fully taken shape, the LCF system [GMW78] provided a program logic for a rather restricted fragment of the language. Subsequent research has sought to build on the definition in order to support formal reasoning about programs. Most notably, the Extended ML project [KST97] resulted in a formal language for specifying program properties, but the complexity of this language prohibited the development of useful proof rules. A di#erent approach has been pursued by Elsa Gunter et al [GV94], who have formalized the definition of ML within the HOL theorem prover; this has proved useful for metatheo
Dealing with Evidence: The Programatica Certificate Abstraction
"... Abstract. In software projects, developers often rely on a wide variety of evidence to assure themselves that the system they are building is functioning correctly. There are many ways to generate evidence—from code reviews to testing and theorem proving—but the diversity and volume of evidence can ..."
Abstract
 Add to MetaCart
Abstract. In software projects, developers often rely on a wide variety of evidence to assure themselves that the system they are building is functioning correctly. There are many ways to generate evidence—from code reviews to testing and theorem proving—but the diversity and volume of evidence can be hard to manage, maintain, or exploit as a project evolves and meaningful levels of assurance are required. In this paper, we describe a new kind of tool that facilitates effective use of evidence throughout a project. Such tools should allow users to capture and collate evidence with source materials; to exploit dependencies; to automate combination and reuse; and to understand, manage, and guide further development and validation efforts. Our work is presented in the context of a prototype built for the Programatica project at OGI where evidence is represented by a certificate abstraction, but the key ideas, we believe, should be more widely useful. 1
On The Integration of Decision Diagrams in High Order Logic Based Theorem Provers: a Survey
"... Abstract: This survey discuss approaches that integrate Decision Diagrams inside High Order Logic based Theorem provers. The approaches can be divided in two kinds, one is based on building a translation between model checker and theorem prover, the second is based on embedding the model checker alg ..."
Abstract
 Add to MetaCart
Abstract: This survey discuss approaches that integrate Decision Diagrams inside High Order Logic based Theorem provers. The approaches can be divided in two kinds, one is based on building a translation between model checker and theorem prover, the second is based on embedding the model checker algorithms inside the theorem prover. A comparison between both is discussed in detail. The paper also tries to answer which is the best decision graphs formalization for theorem provers as what is the optimized set of operations to efficiently manipulate the decision graphs inside theorem provers. Then, we contrast between them according to their efficiency, complexity and feasibility.