## The HOL System LOGIC Preface (2010)

### BibTeX

@MISC{10thehol,

author = {},

title = {The HOL System LOGIC Preface},

year = {2010}

}

### OpenURL

### Abstract

This volume contains the description of the HOL system’s logic. It is one of four volumes making up the documentation for HOL: (i) LOGIC: a formal description of the higher order logic implemented by the HOL system. (ii) TUTORIAL: a tutorial introduction to HOL, with case studies. (iii) DESCRIPTION: a detailed user’s guide for the HOL system; (iv) REFERENCE: the reference manual for HOL. These four documents will be referred to by the short names (in small slanted capitals) given above. This document, LOGIC, serves as a formal definition of higher order logic in terms of a set-theoretic semantics. This material was written by Andrew Pitts in 1991, and was originally part of DESCRIPTION. Because this logic is shared with other theorem-proving systems (HOL Light, ProofPower), and is similar to that implemented in Isabelle, where it is called Isabelle/HOL, it is now presented in its own manual. The HOL system is designed to support interactive theorem proving in higher order logic (hence the acronym ‘HOL’). To this end, the formal logic is interfaced to a general purpose programming language (ML, for meta-language) in which terms and theorems of the logic can be denoted, proof strategies expressed and applied, and logical theories developed. The version of higher order logic used in HOL is predicate calculus with terms from the typed lambda calculus (i.e. simple type theory). This was originally developed as a foundation for mathematics [2]. The primary application area of HOL was initially intended to be the specification and verification of hardware designs. (The use of higher order logic for this purpose was first advocated by Keith Hanna [3].) However, the logic does not restrict applications to hardware; HOL has been applied to many other areas. Thus, this document describes the theoretical underpinnings of the HOL system, and presents it abstractly. The approach to mechanizing formal proof used in HOL is due to Robin Milner [4], who also headed the team that designed and implemented the language ML. That work 3 4

### Citations

1562 | The Definition of Standard ML
- Miller, Tofte, et al.
- 1990
(Show Context)
Citation Context ...An enhanced and rationalized version of HOL, called HOL88, was released (in 1988), after the original HOL system had been in use for several years. HOL90 (released in 1990) was a port of HOL88 to SML =-=[5]-=- by Konrad Slind at the University of Calgary. It has been further developed through the 1990’s. HOL 4 is the latest version of HOL, and is also implemented in SML; it features a number of novelties c... |

847 |
A formulation of the simple theory of types
- Church
- 1940
(Show Context)
Citation Context ... The version of higher order logic used in HOL is predicate calculus with terms from the typed lambda calculus (i.e. simple type theory). This was originally developed as a foundation for mathematics =-=[2]-=-. The primary application area of HOL was initially intended to be the specification and verification of hardware designs. (The use of higher order logic for this purpose was first advocated by Keith ... |

304 |
An Introduction To Mathematical Logic and Type Theory: To Truth Through Proof
- Andrews
- 1986
(Show Context)
Citation Context ... necessary to work with the full set of logical constants, and the particular subset taken as primitive is not important. The interested reader can explore this topic further by reading Andrews’ book =-=[1]-=- and the references it contains. Terms of type bool are called formulas. The following notational abbreviations are used: Notation Meaning tσ = t ′ σ =σ→σ→bool tσ t ′ σ t ⇒ t ′ ⇒bool→bool→bool tbool t... |

153 |
The Z Notation
- Spivey
- 1989
(Show Context)
Citation Context ...tension by a constant specification (see Section 2.5.2). • Extension by a type specification (see Section 2.5.5). 3 The first mechanism allows ‘loose specification’ of constants (as in the Z notation =-=[6]-=-, for example); the latter allows new types and type-operators to be introduced. As special cases (when the thing being specified is uniquely determined) one also has: • Extension by a constant defini... |

87 |
Edinburgh LCF: A Mechanised Logic
- Gordon, Milner, et al.
- 1979
(Show Context)
Citation Context ...any other areas. Thus, this document describes the theoretical underpinnings of the HOL system, and presents it abstractly. The approach to mechanizing formal proof used in HOL is due to Robin Milner =-=[4]-=-, who also headed the team that designed and implemented the language ML. That work 34 Preface centred on a system called LCF (logic for computable functions), which was intended for interactive auto... |

23 |
Specification and verification using higher-order logic: A case study
- Hanna, Daeche
- 1986
(Show Context)
Citation Context ...primary application area of HOL was initially intended to be the specification and verification of hardware designs. (The use of higher order logic for this purpose was first advocated by Keith Hanna =-=[3]-=-.) However, the logic does not restrict applications to hardware; HOL has been applied to many other areas. Thus, this document describes the theoretical underpinnings of the HOL system, and presents ... |