## HOL Light Tutorial (for version 2.20) (2006)

### Cached

### Download Links

Citations: | 9 - 0 self |

### BibTeX

@MISC{Harrison06hollight,

author = {John Harrison},

title = {HOL Light Tutorial (for version 2.20)},

year = {2006}

}

### Years of Citing Articles

### OpenURL

### Abstract

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.

### Citations

1502 | A Discipline of Programming - Dijkstra - 1976 |

995 | Term rewriting and all that - Baader, Nipkow - 1998 |

868 | A Formulation of the Simple Theory of Types - Church - 1941 |

634 | A Mathematical Introduction To Logic - Enderton - 1972 |

601 | Assigning Meanings to Programs - Floyd - 1967 |

532 |
Introduction to HOL: A Theorem Proving Environment for Higher-Order Logic
- Gordon, Melham
- 1993
(Show Context)
Citation Context ...any of them by a Web search). The underlying logical basis of these systems, as well as many other ideas, are derived from the original HOL system written by Mike Gordon in the 1980s, of which HOL88 (=-=Gordon and Melham 1993-=-) was the first polished and stable release. The graph that follows attempts to give a rough impression of the flow of ideas and/or code: HOL88 ❍ �❅❍❍❍❍❍❍❍❍❥Isabelle/HOL � ❅ � ❅ � ❅ �✠ ❅❘ hol90 ProofP... |

401 |
An introduction to chaotic dynamical systems
- Devaney
- 1986
(Show Context)
Citation Context ...real. P x‘) THEN FIRST_ASSUM(UNDISCH_TAC o check is_eq o concl) THEN REAL_ARITH_TAC);; The name is chosen because this is a trivial subcase of a remarkably general result called Sarkovskii’s theorem (=-=Devaney 1987-=-). For our purposes, there was nothing special about the number 3, and essentially the same proof would work for f 2 (x) = x, f 4 (x) = x etc. But a more refined notion is to study fixed points of min... |

298 |
An introduction to Prolog III
- Colmerauer
- 1990
(Show Context)
Citation Context ...ng, such as the following: # REAL_ARITH ‘!x y z. x <= (y - z) <=> (x + z) <= y‘;; Sometimes you can actually prove some unobvious things even with simple linear reasoning. For example, a nice puzzle (=-=Colmerauer 1990-=-) is to consider a sequence of integers or real numbers defined by the recurrence xn+2 = |xn+1| − xn. (This doesn’t look so different from the usual Fibonacci numbers Fn+2 = Fn+1 + Fn.) The claim is t... |

236 | Predicate Calculus and Program Semantics - Dijkstra, Scholten - 1989 |

117 |
The Logic of Provability
- Boolos
- 1993
(Show Context)
Citation Context ...ccessible from itself.) This has a quite different character from the modal logics traditionally studied by philosophers, but has a particular importance since it formalizes the logic of provability (=-=Boolos 1995-=-). We will expand a little on this below. # let GL = new_definition ‘GL(W,R) <=> ˜(W = {}) /\ (!x y. R x y ==> x IN W /\ y IN W) /\ WF(\x y. R y x) /\ (!x y z:num. R x y /\ R y z ==> R x z)‘;; 15420.... |

116 | Another look at LTL model checking - Clarke, Grumberg, et al. - 1997 |

103 |
Metafunctions: proving them correct and using them efficiently as new proof procedures
- Boyer, Moore
- 1981
(Show Context)
Citation Context ...ng systems, in order to install new facilities it is necessary to modify the basic code of the prover, or at best to use some rather complicated and difficult techniques relying on code verification (=-=Boyer and Moore 1981-=-). But in LCF an ordinary user can write an arbitrary ML program to automate a useful inference pattern, while all the time being assured that even if the program has bugs, no false ‘theorems’ will ar... |

95 | Theorem proving in arithmetic without multiplication - Cooper - 1972 |

95 | A survey of the project Automath - Bruijn - 1980 |

92 | Why higher-order logic is a good formalism for specifying and verifying hardware - Gordon - 1985 |

89 | C.P.: Edinburgh LCF: A Mechanised Logic - Gordon, Milner, et al. - 1979 |

71 | HOL light: A tutorial introduction - Harrison - 1996 |

68 | An introduction to the theory of numbers, 5th ed - Hardy, Wright - 1979 |

58 | Mechanizing programming logics in Higher Order Logic - Gordon - 1989 |

41 | Refinement Calculus: A Systematic Introduction Graduate - Back, Wright - 1998 |

39 | Experience with Embedding Hardware Description Languages - Boulton, Gordon, et al. - 1992 |

37 | A methodology for hardware verification based on logic simulation
- Bryant
- 1991
(Show Context)
Citation Context ...lation and related techniques, it’s sometimes more convenient to work at a more information-theoretic level where one may know that a particular wire is high or low, or one may know nothing about it (=-=Bryant 1991-=-). In OCaml you define such a type as follows (this is quite similar to familiar concepts in lower-level programming languages, e.g. enum in C): 100# type ternary = Zero | One | Unknown;; type ternar... |

28 |
A mizar mode for HOL
- Harrison
- 1996
(Show Context)
Citation Context .... . . 219 A.4 hol90, ProofPower and HOL Light . . . . . . . . . . . . . . . . . . . 220 41 Installation HOL Light can fairly easily be made to work on most modern computers. Since the first version (=-=Harrison 1996-=-a), the build process has been simplified considerably. In what follows, we will sometimes assume a Unix-like environment such as Linux. If the reader has access to a Linux machine and feels comfortab... |

26 |
Introduction to Real Analysis
- Depree, Swartz
- 1988
(Show Context)
Citation Context ...) x) ==> defint (a,b) f’ (f b - f a) Note that the precise form of this theorem depends on the particular notion of integration. In the HOL analysis theory, the Kurzweil-Henstock integral is defined (=-=DePree and Swartz 1988-=-) and this obeys the above theorem. For the Riemann or Lebesgue integrals some additional hypothesis is needed, for example continuity of the integrand. Anyway, we’ll just use the special case a = 0: ... |

25 |
The SECD Microprocessor: A Verification Case Study
- Graham
- 1992
(Show Context)
Citation Context ...got his PhD (‘The Formal Verification of Generic Interpreters’), and Brian Graham at the University of Calgary his Master’s degree, ‘SECD: The Design and Verification of a Functional Microprocessor’ (=-=Graham 1992-=-). The system was consolidated and rationalized in a major release in late 1988, which was called, accordingly, HOL88. HOL had now acquired a small but enthusiastic and talented following around the w... |

24 | Efficiency in a fully-expansive theorem prover
- Boulton
- 1993
(Show Context)
Citation Context ...ies, e.g. for KnuthBendix completion (Slind 1991), Boyer-Moore style automation of induction proofs (Boulton 1992), general first order logic (Kumar, Kropf, and Schneider 1991) and linear arithmetic (=-=Boulton 1993-=-), and new tools for inductively defined relations (Andersen and Petersen 1991; Melham 1991). A.4 hol90, ProofPower and HOL Light Despite its growing polish and popularity, HOL88 was open to criticism... |

23 | Specification and verification using higher-order logic: A case study - Hanna, Daeche - 1986 |

16 | Semi-automated mathematics - Guard, Oglesby, et al. - 1969 |

8 | Representing a logic in the LCF metalanguage - Gordon - 1982 |

6 |
Boyer-Moore automation for the HOL system
- Boulton
- 1992
(Show Context)
Citation Context ...ITY etc.) and hardware description languages. HOL has been augmented with various automated facilities, e.g. for KnuthBendix completion (Slind 1991), Boyer-Moore style automation of induction proofs (=-=Boulton 1992-=-), general first order logic (Kumar, Kropf, and Schneider 1991) and linear arithmetic (Boulton 1993), and new tools for inductively defined relations (Andersen and Petersen 1991; Melham 1991). A.4 hol... |

5 | The Logical Syntax of Language. International library of psychology, philosophy and scientific method. Routledge & Kegan Paul. Translated from ‘Logische Syntax der Sprache’ by Amethe Smeaton (Countess von Zeppelin), with some new sections not in the Germa - Carnap - 1937 |

5 | EWD1300: The notational conventions I adopted, and why - Dijkstra |

4 | Programming and computing - Barras - 2000 |

3 |
Interpolation with Near-rings of Polynomial Functions
- Aichinger
- 1994
(Show Context)
Citation Context ... with a new rule of inference performing Knuth-Bendix completion, a technique for deriving consequences of equational axioms. For a motivating example, consider the following axioms for ‘near-rings’ (=-=Aichinger 1994-=-): 45 : 0 + x = x −x + x = 0 (x + y) + z = x + (y + z) (x · y) · z = x · (y · z) (x + y) · z = x · z + y · z For the sake of familiarity we will just state these axioms for the usual operators on natu... |

3 |
Correctness Preserving Program Transformations
- Back
- 1980
(Show Context)
Citation Context ...ndition semantics. Roughly speaking, we say that a program c2 refines another program c1 (often written c1 ⊑ c2) if any precondition-postcondition behaviour guaranteed by c1 is also guaranteed by c2 (=-=Back 1980-=-), or more precisely, that for a given postcondition the allowable preconditions for c2 include at least those of c1: # parse_as_infix("refines",(12,"right"));; # let refines = new_definition ‘c2 refi... |

2 |
Reasoning about theoretical entities, Volume 3
- Forster
- 2003
(Show Context)
Citation Context ..., for many elementary uses of cardinal arithmetic, no independent cardinal ‘objects’ are needed, and in some contexts they can even be harmful, arguably lying at the root of the Burali-Forti paradox (=-=Forster 2003-=-). Analogously, one can always see which of two finite sets is bigger by pairing up the elements against each other with no need to assign numbers, and one can see which body is hotter by seeing which... |

2 | An effective decision method for semidefinite polynomials - Guangxing, Xiaoning - 2004 |

1 | eds.) (2000) Theorem Proving - Aagaard, Harrison |

1 |
Recursive boolean functions in
- Andersen, Petersen
- 1991
(Show Context)
Citation Context ...tyle automation of induction proofs (Boulton 1992), general first order logic (Kumar, Kropf, and Schneider 1991) and linear arithmetic (Boulton 1993), and new tools for inductively defined relations (=-=Andersen and Petersen 1991-=-; Melham 1991). A.4 hol90, ProofPower and HOL Light Despite its growing polish and popularity, HOL88 was open to criticism. In particular, though the higher-level parts were coded directly in ML, most... |

1 | On an exercise of Tony Hoare’s. Available on the Web as www.cs.utexas.edu/users/EWD/ewd10xx/EWD1062.PDF - Dijkstra - 1989 |

1 | A Mizar mode for - Harrison - 1996 |

1 | The notational conventions I adopted, and why - W - 2000 |

1 | HOL Light: A tutorial introduction - unknown authors - 1996 |

1 | A Discipline of Programming - AddisonDijkstra - 1976 |