Results 11  20
of
21
Automatic Abstraction in Model Checking
, 2000
"... As technology advances and demand for higher performance increases hardware designs are becoming more and more sophisticated. A typical chip design may contain over ten million switching devices. Since the systems become more and more complex, detecting design errors for systems of such scale become ..."
Abstract

Cited by 4 (0 self)
 Add to MetaCart
As technology advances and demand for higher performance increases hardware designs are becoming more and more sophisticated. A typical chip design may contain over ten million switching devices. Since the systems become more and more complex, detecting design errors for systems of such scale becomes extremely difficult. Formal verification methodologies can potentially catch subtle design errors. However, many stateoftheart formal verification tools suffer from the state explosion problem. This thesis explores abstraction techniques to avoid the state explosion problem. In our methodology, atomic formulas extracted from an SMVlike concurrent program are used to construct abstraction functions. The initial abstract structure is built by using existential abstraction techniques. When the model checker disproves a universal property on the abstract structure, it generates a counterexample. However, this abstract counterexample might be spurious because abstraction is not complete. We provide a new symbolic algorithm to determine whether an abstract counterexample is spurious. When a counterexample is identified to be spurious, the algorithm will compute the shortest prefix of the abstract counterexample that does not correspond to an actual trace in the concrete model. The last abstract state in this prefix is split into less abstract states so that the spurious counterexample is eliminated. Thus, a more refined abstraction function is obtained. It is usually desirable to obtain the coarsest refinement which eliminates the counterexample because this corresponds to the smallest abstract model that avoids the spurious counterexample. We prove, however, that finding the coarsest refinement is NPhard. Because of this, we use a polynomialtime algorithm which gives a su...
Formal Verification of Concurrent Programs Based on Type Theory
, 1998
"... Interactive theorem proving provides a general approach to modeling and verification of both finitestate and infinitestate systems but requires significant human efforts to deal with many tedious proofs. On the other hand, modelchecking is limited to some application domain with small finitestate ..."
Abstract

Cited by 3 (0 self)
 Add to MetaCart
Interactive theorem proving provides a general approach to modeling and verification of both finitestate and infinitestate systems but requires significant human efforts to deal with many tedious proofs. On the other hand, modelchecking is limited to some application domain with small finitestate space. A natural thought for this problem is to integrate these two approaches. To keep the consistency of the integration and ensure the correctness of verification, we suggest to use type theory based theorem provers (e.g. Lego) as the platform for the integration and build a modelchecker to do parts of the verification automatically. We formalise a verification system of both CCS and an imperative language in the proof development system Lego which can be used to verify both finitestate and infinitestate problems. Then a modelchecker, LegoMC, is implemented to generate Lego proof terms for finitestate problems automatically. Therefore people can use Lego to verify a general problem ...
Formal Methods and Mechanical Verification applied to the development of a convergent distributed sorting program
, 1996
"... Gentle introductions to the programming logic UNITY, the theorem proving environment HOL, and the embedding of the first into the latter are presented. Equipped with this apparatus a methodology for designing distributed algorithms is described. ..."
Abstract

Cited by 1 (1 self)
 Add to MetaCart
Gentle introductions to the programming logic UNITY, the theorem proving environment HOL, and the embedding of the first into the latter are presented. Equipped with this apparatus a methodology for designing distributed algorithms is described.
HOL Light Tutorial (for version 2.20). http://www.cl.cam.ac.uk/ jrh13/hollight/tutorial 220.pdf
"... The HOL Light theorem prover can be difficult to get started with. While the manual is fairly detailed and comprehensive, the large amount of background information that has to be absorbed before the user can do anything interesting is intimidating. Here we give an alternative ‘quick start ’ guide, ..."
Abstract

Cited by 1 (0 self)
 Add to MetaCart
The HOL Light theorem prover can be difficult to get started with. While the manual is fairly detailed and comprehensive, the large amount of background information that has to be absorbed before the user can do anything interesting is intimidating. Here we give an alternative ‘quick start ’ guide, aimed at teaching basic use of the system quickly by means of a graded set of examples. Some readers may find it easier to absorb; those who do not are referred after all to the standard manual. “Shouldn’t we read the instructions?”
Shallow Lazy Proofs
"... Abstract. We show that delaying fullyexpansive proof reconstruction for noninteractive decision procedures can result in a more efficient workflow. In contrast with earlier work, our approach to postponed proof does not require making deep changes to the theorem prover. 1 ..."
Abstract

Cited by 1 (0 self)
 Add to MetaCart
Abstract. We show that delaying fullyexpansive proof reconstruction for noninteractive decision procedures can result in a more efficient workflow. In contrast with earlier work, our approach to postponed proof does not require making deep changes to the theorem prover. 1
Journal of Automated Reasoning manuscript No. (will be inserted by the editor) Computer Assisted Reasoning
, 2009
"... Today’s increasingly computerbased society is dependent on the correctness and reliability of crucial infrastructure, such as programming languages, compilers, networks, and microprocessors. One important way to achieve the required level of assurance is to use formal specification and proof, and t ..."
Abstract
 Add to MetaCart
Today’s increasingly computerbased society is dependent on the correctness and reliability of crucial infrastructure, such as programming languages, compilers, networks, and microprocessors. One important way to achieve the required level of assurance is to use formal specification and proof, and tool support for this approach has steadily grown to the point where the specification and verification of important system infrastructure is now feasible. To survey the state of the art and discuss future possibilities and challenges, a two day research meeting entitled Tools and Techniques for Verification of System
A Trustworthy, Extensible Theorem Prover Ph.D. Dissertation Proposal
"... 2.1 Formal verification........................ 3 2.2 Our choice of logic........................ 4 ..."
Abstract
 Add to MetaCart
2.1 Formal verification........................ 3 2.2 Our choice of logic........................ 4
Author manuscript, published in "First International Conference on Certified Programs and Proofs (2011)" Modular SMT Proofs for Fast Reflexive Checking inside Coq ⋆
, 2011
"... Abstract. We present a new methodology for exchanging unsatisfiability proofs between an untrusted SMT solver and a sceptical proof assistant with computation capabilities like Coq. We advocate modular SMT proofs that separate boolean reasoning and theory reasoning; and structure the communication b ..."
Abstract
 Add to MetaCart
Abstract. We present a new methodology for exchanging unsatisfiability proofs between an untrusted SMT solver and a sceptical proof assistant with computation capabilities like Coq. We advocate modular SMT proofs that separate boolean reasoning and theory reasoning; and structure the communication between theories using NelsonOppen combination scheme. We present the design and implementation of a Coq reflexive verifier that is modular and allows for finetuned theoryspecific verifiers. The current verifier is able to verify proofs for quantifierfree formulae mixing linear arithmetic and uninterpreted functions. Our proof generation scheme benefits from the efficiency of stateoftheart SMT solvers while being independent from a specific SMT solver proof format. Our only requirement for the SMT solver is the ability to extract unsat cores and generate boolean models. In practice, unsat cores are relatively small and their proof is obtained with a modest overhead by our proofproducing prover. We present experiments assessing the feasibility of the approach for benchmarks obtained from the SMT competition. 1
HOL Done Right
, 1995
"... In our opinion, history and compatibility considerations have rendered existing HOL implementations rather messy and badly organized. We describe how, building on joint work with Konrad Slind, we have produced a reengineered HOL. Various experiments have been tried on this ‘toy ’ version, and we wi ..."
Abstract
 Add to MetaCart
In our opinion, history and compatibility considerations have rendered existing HOL implementations rather messy and badly organized. We describe how, building on joint work with Konrad Slind, we have produced a reengineered HOL. Various experiments have been tried on this ‘toy ’ version, and we will report the results. 1
INTEGRATION OF DECISION PROCEDURES INTO HIGHORDER INTERACTIVE PROVERS
, 2006
"... An efficient proof assistant uses a wide range of decision procedures, including automatic verification of validity of arithmetical formulas with linear terms. Since the final product of a proof assistant is a formalized and verified proof, it prompts an additional task of building proofs of formula ..."
Abstract
 Add to MetaCart
An efficient proof assistant uses a wide range of decision procedures, including automatic verification of validity of arithmetical formulas with linear terms. Since the final product of a proof assistant is a formalized and verified proof, it prompts an additional task of building proofs of formulas, which validity is established by such a decision procedure. We present an implementation of several decision procedures for arithmetical formulas with linear terms in the MetaPRL proof assistant in a way that provides formal proofs of formulas found valid by those procedures. We also present an implementation of a theorem prover for the logic of justified common knowledge S4 J n introduced in [Artemov, 2004]. This system captures the notion of justified common knowledge, which is free of some of the deficiencies of the usual common knowledge operator, and is yet sufficient for the analysis of epistemic problems where common knowledge has been traditionally applied. In particular, S4 J n enjoys cutelimination, which introduces the possibility of automatic proof search in the logic of common