HOL4 Documentation
Documentation for the HOL4 theorem prover.
Getting started
New to HOL? Start with the Tutorial for a step-by-step introduction through worked examples, then keep these handy:
- Quick reference — a compact summary of the tactics and idioms used most often.
- Interaction (Emacs) — driving HOL from the editor.
- Cheatsheet — a one-page tactic crib sheet.
- FAQ — answers to common problems.
- KTH course — lecture slides and exercises.
Manuals
-
HOL: Description
Reference description of the HOL system: the kernel, the libraries, and the theories distributed with HOL.
-
HOL: Tutorial
Step-by-step introduction to HOL through worked examples.
-
HOL: Quick Reference
A compact summary of the tactics, rules, conversions, and support functions used most often in day-to-day HOL4 proof, with links into the Reference manual.
-
HOL: Reference
Per-entry reference for every HOL function, theorem, tactic, conversion, and theory.
-
HOL: Interaction (emacs)
Driving HOL from Emacs: hol-mode keystrokes, goal navigation, theorem search, common proof tactics, and the editor side of the proof workflow.
-
HOL: Logic
A formal description of the higher order logic implemented by the HOL system, with its set-theoretic semantics.
-
HOL: Developers
Documentation for developing HOL4 itself: building and configuring the system, and assorted internals.
Reference
Generated indexes of installed libraries, theories and signatures.
Theories (theory hierarchy)
- alignment
- alist_tree
- alist
- arithmetic
- ASCIInumbers
- bag
- basicSize
- basis_emit
- bft
- binary_ieeeProps
- binary_ieee
- bisimulation
- bitArith
- bitstring
- bit
- blast
- bnfPrelims
- bool
- borel
- byte
- cardinal
- coalgAxioms
- Coder
- combinatorics
- combin
- companion
- comparison
- complex
- ConseqConv
- container
- cooper
- countable_types
- cv_prim
- cv_rep
- cv_std
- cv_string_fmap
- cv_type
- cv
- Decode
- DeepSyntax
- defCNF
- derivative
- dft
- dirGraph
- divides
- emitOrdinal
- Encode
- EncodeVar
- enumeral
- errorLogMonad
- errorMonad
- errorStateMonad
- extended_emit
- extreal_base
- extreal
- fcp
- finite_map
- finite_set
- fixedPoint
- float
- fmapal
- fmaptree
- frac
- gcdset
- gcd
- group
- HolSmt
- hol
- hrat
- hreal
- ieee
- ind_type
- indexedLists
- inftree
- int_arith
- int_bitwise
- integer_word
- integer
- integral
- integration
- intExtension
- intreal
- intReduce
- intto
- iterate
- itreeTau
- itree
- lbtree
- lebesgue_measure
- lebesgue
- lift_ieee
- lift_machine_ieee
- lifting
- lim
- listCardinality
- listRange
- list
- llist
- logroot
- ltree
- machine_ieee
- marker
- martingale
- measure
- mergesort
- metric
- monoid
- nets
- nlist
- normalForms
- normalizer
- number
- numeral_bit
- numeral
- numpair
- numposrep
- num
- Omega
- one
- option
- ordinalBasic
- ordinalNotation
- ordinal
- ordNotationSemantics
- pair
- path
- patricia_casts
- patricia
- patternMatches
- permutes
- poly
- poset
- powser
- pre_emit
- pred_set
- prim_rec
- primeFactor
- prime
- probability
- quantHeuristics
- quotient
- rat
- readerMonad
- real_algebra
- real_arith
- real_borel
- real_of_rat
- real_sigma
- real_topology
- realax
- real
- reduce
- relation
- res_quan
- rich_list
- ring
- sat
- seq
- set_relation
- sigma_algebra
- simpleSetCat
- sorting
- sptree
- state_transformer
- stream
- string_encoding
- string_num
- string
- sum_num
- sum
- tc
- ternaryComparisons
- topology
- toto
- transc
- transfer
- update
- veblen
- wellorder
- While
- words
Libraries
- ai
- alist_tree
- alist
- ASCIInumbers
- bag
- bagSimple
- binary_ieee
- bitArith
- bit
- bitstring
- blast
- bnf
- boss
- CoIndDef
- combin
- compute
- cong
- constrFamilies
- countable_types
- cv_compute
- cv_mem
- cv_misc
- cv_rep
- cv_trans
- cv_type
- fcp
- finite_map
- flookup
- fp64_machine
- frac
- hhExport
- hol88
- HolSat
- HolSmt
- IndDef
- integer_word
- intExtension
- int
- isqrt
- jc
- lift
- list
- lite
- machine_ieee
- marker
- meson
- metis
- native_ieee
- num
- numposrep
- option
- pair
- patricia_casts
- patricia
- patternMatches
- perm
- pred_set
- proofManager
- Q
- quantHeuristics
- rat
- real
- reduce
- refute
- res_quan
- simp
- sorting
- SOS
- sptree
- state_monad
- string
- tailrec
- taut
- transfer
- unwind
- update
- wlog
- words
Syntax
- alignment
- ASCIInumbers
- bag
- basicSize
- binary_ieee
- bitstring
- bit
- bool
- combin
- Cooper
- cv
- fcp
- finite_map
- frac
- integer_word
- intreal
- int
- list
- machine_ieee
- marker
- numposrep
- num
- one
- option
- pair
- patricia_casts
- patricia
- patternMatches
- pred_set
- rat
- real
- relation
- rich_list
- sorting
- sptree
- state_transformer
- string
- sum
- transc
- update
- words