Results 1 
9 of
9
Efficiency in a FullyExpansive Theorem Prover
, 1993
"... The HOL system is a fullyexpansive theorem prover: Proofs generated in the system are composed of applications of the primitive inference rules of the underlying logic. This has two main advantages. First, the soundness of the system depends only on the implementations of the primitive rules. Secon ..."
Abstract

Cited by 24 (1 self)
 Add to MetaCart
The HOL system is a fullyexpansive theorem prover: Proofs generated in the system are composed of applications of the primitive inference rules of the underlying logic. This has two main advantages. First, the soundness of the system depends only on the implementations of the primitive rules. Second, users can be given the freedom to write their own proof procedures without the risk of making the system unsound. A full functional programming language is provided for this purpose. The disadvantage with the approach is that performance is compromised. This is partly due to the inherent cost of fully expanding a proof but, as demonstrated in this thesis, much of the observed inefficiency is due to the way the derived proof procedures are written. This thesis seeks to identify sources of noninherent inefficiency in the HOL system and proposes some generalpurpose and some specialised techniques for eliminating it. One area that seems to be particularly amenable to optimisation is equational reasoning. This is significant because equational reasoning constitutes large portions of many proofs. A number of techniques are proposed that transparently optimise equational reasoning. Existing programs in the HOL system require little or no modification to work faster. The other major contribution of this thesis is a framework in which part of the computation involved in HOL proofs can be postponed. This enables users to make better use of their time. The technique exploits a form of lazy evaluation. The critical feature is the separation of the code that generates the structure of a theorem from the code that justifies it logically. Delaying the justification allows some nonlocal optimisations to be performed in equational reasoning. None of the techniques sacrifice the securit...
Towards Selfverification of HOL Light
 In International Joint Conference on Automated Reasoning
, 2006
"... Abstract. The HOL Light prover is based on a logical kernel consisting of about 400 lines of mostly functional OCaml, whose complete formal verification seems to be quite feasible. We would like to formally verify (i) that the abstract HOL logic is indeed correct, and (ii) that the OCaml code does c ..."
Abstract

Cited by 17 (0 self)
 Add to MetaCart
Abstract. The HOL Light prover is based on a logical kernel consisting of about 400 lines of mostly functional OCaml, whose complete formal verification seems to be quite feasible. We would like to formally verify (i) that the abstract HOL logic is indeed correct, and (ii) that the OCaml code does correctly implement this logic. We have performed a full verification of an imperfect but quite detailed model of the basic HOL Light core, without definitional mechanisms, and this verification is entirely conducted with respect to a settheoretic semantics within HOL Light itself. We will duly explain why the obvious logical and pragmatic difficulties do not vitiate this approach, even though it looks impossible or useless at first sight. Extension to include definitional mechanisms seems straightforward enough, and the results so far allay most of our practical worries. 1 Introduction: quis custodiet ipsos custodes? Mathematical proofs are subjected to peer review before publication, but there
Recording and Checking HOL Proofs
 Higher Order Logic Theorem Proving and Its Applications. 8th International Workshop, volume 971 of LNCS
, 1995
"... Formal proofs generated by mechanised theorem proving systems may consist of a large number of inferences. As these theorem proving systems are usually very complex, it is extremely difficult if not impossible to formally verify them. This calls for an independent means of ensuring the consistency o ..."
Abstract

Cited by 15 (1 self)
 Add to MetaCart
Formal proofs generated by mechanised theorem proving systems may consist of a large number of inferences. As these theorem proving systems are usually very complex, it is extremely difficult if not impossible to formally verify them. This calls for an independent means of ensuring the consistency of mechanically generated proofs. This paper describes a method of recording HOL proofs in terms of a sequence of applications of inference rules. The recorded proofs can then be checked by an independent proof checker. Also described in this paper is an efficient proof checker which is able to check a practical proof consisting of thousands of inference steps. 1 Introduction Formal methods have been used in the development of many safetycritical systems in the form of formal specification and formal proof of correctness. Formal proofs are usually carried out using theorem provers or proof assistants. These systems are based on wellfounded formal logic, and provide a programming environmen...
A Reference Version of HOL
"... . The second author has implemented a reference version of the HOL logic (henceforth called gtt). This version, written in Standard ML, is as simple as possible, making as few assumptions as necessary to present the essence of HOL. This simplicity makes the implementation easy to understand, to port ..."
Abstract
 Add to MetaCart
. The second author has implemented a reference version of the HOL logic (henceforth called gtt). This version, written in Standard ML, is as simple as possible, making as few assumptions as necessary to present the essence of HOL. This simplicity makes the implementation easy to understand, to port, to develop, to change, and to informally reason about. The first author has ported gtt to another dialect of ML, and developed the parsing, prettyprinting, and typechecking support needed to take gtt beyond its initial rudimentary conception. The implementation of gtt has already been of use in developing a variant of the HOL logic. As of this writing, there are at least four or five extant implementations of the HOL logic. These have been intensively developed, in some cases over decades, which leads us to an overwhelming question: why another? In particular, why gtt? There are several answers to this, stemming from different desires and needs in the HOL community. Changing the logic a ...
Desiderata for Interactive Verification Systems
, 1994
"... What facilities should an interactive verification system provide? We take the pragmatic view that the particular logic underlying a proof system is not as important as the support that is provided. Although a plethora of logics have been implemented, we think that there is a common kernel of suppor ..."
Abstract
 Add to MetaCart
What facilities should an interactive verification system provide? We take the pragmatic view that the particular logic underlying a proof system is not as important as the support that is provided. Although a plethora of logics have been implemented, we think that there is a common kernel of support that a proof system ought to provide. Towards this end, we give detailed suggestions for verification support in three major areas: formalization, proof, and interface. Although our perspective comes from experience with highly expressive logics such as set theory, higher order logic, and type theory, we think our analyses apply more generally. Introduction Currently, theorem provers are used in the verification of both hardware and software [GM93, ORS92, BM90, HRS90, FFMH92], the formalization of informal mathematical proofs [FGT90, CH85, Pau90b], the teaching of logic[AMC84], and as tools of mathematical and metamathematical research [WWM + 90, CAB + 86]. 1 In this paper we describ...
Representation and Validation of Mechanically Generated Proofs Final Report
"... Introduction The goal of this project was to demonstrate the feasibility of the independent and trusted validation of the proofs generated by existing theorem provers. Our intention was to design, implement and formally verify a proof checking program for HOL [5] generated proofs. A proof checker ..."
Abstract
 Add to MetaCart
Introduction The goal of this project was to demonstrate the feasibility of the independent and trusted validation of the proofs generated by existing theorem provers. Our intention was to design, implement and formally verify a proof checking program for HOL [5] generated proofs. A proof checker can be much simpler than a full theorem prover such as HOL as it is only concerned with checking existing proofs rather than searching for or generating them. Our work has clearly demonstrated the feasibility of this approach. In particular, the main achievements of the project are as follows. ffl We have developed a computer representation suitable for communicating large, formal, machine generated proofs. ffl We have modified the HOL system to allow primitive inference proofs to be recorded in the above format. ffl We have formalised, within the HOL theorem proving system, theories of higherorder logic, Hilb
A Generic Proof Checker
, 2001
"... The use of formal methods in software development seeks to increase our confidence in the resultant system. Their use often requires tool support, so the integrity of a development using formal methods is dependent on the integrity of the toolset used. Specifically its integrity depends on the theo ..."
Abstract
 Add to MetaCart
The use of formal methods in software development seeks to increase our confidence in the resultant system. Their use often requires tool support, so the integrity of a development using formal methods is dependent on the integrity of the toolset used. Specifically its integrity depends on the theorem prover, since in a typical formal development system the theorem prover is used to establish the validity of the proof obligations incurred by all the steps in the design and refinement process. In this
Checking Proofs from Linked Tools
"... We describe a Cambridge project (now completed) which demonstrated the feasibility of producing independent, veri ed proof checkers for the HOL theorem proving system 1. We then brie y overview a joint Cambridge University/Hong Kong Baptist University proof checking project which is about to commenc ..."
Abstract
 Add to MetaCart
We describe a Cambridge project (now completed) which demonstrated the feasibility of producing independent, veri ed proof checkers for the HOL theorem proving system 1. We then brie y overview a joint Cambridge University/Hong Kong Baptist University proof checking project which is about to commence. It aims to extend the HOL work to other logics and proof tools. We discuss how this relates to the formal linking of tools and theories. 1 Independent Proof Checking There is a growing interest in the use of formal methods in the validation of computer systems. Correctness proofs tend to be very long and shallow in the sense that they are not mathematically interesting. As such they can only realistically be carried out with any degree of con dence using machine assistance. A wide variety of di erent theorem proving systems incorporating various degrees of automation have been developed to this end, embodying various underlying logics. However, theorem provers are themselves just computer systems which can themselves contain errors. In many correctnesscritical applications (eg safety