Designed by | Michael J C Gordon |
---|---|
License | Modified (3-clause) BSD licence |
Filename extensions | .sml |
Website |
hol-theorem-prover |
HOL (Higher Order Logic) denotes a family of interactive theorem proving systems using similar (higher-order) logics and implementation strategies. Systems in this family follow the LCF approach as they are implemented as a library which defines an abstract data type of proven theorems such that new objects of this type can only be created using the functions in the library which correspond to inference rules in higher-order logic. As long as these functions are correctly implemented, all theorems proven in the system must be valid. As such, a large system can be built on top of a small trusted kernel.
Systems in the HOL family use ML or its successors. ML was originally developed along with LCF as a meta-language for theorem proving systems; in fact, the name stands for "Meta-Language".
This section needs expansion. You can help by
adding to it. (October 2021) |
HOL systems use variants of classical higher-order logic, which has simple axiomatic foundations with few axioms and well-understood semantics. [1]
The logic used in HOL provers is closely related to Isabelle/HOL, [2] the most widely used logic of Isabelle.
A number of HOL systems (sharing essentially the same logic) remain active and in use:
This section needs expansion. You can help by
adding to it. (October 2021) |
The CakeML project developed a formally proven compiler for ML. [8] Previously, HOL was used to develop a formally proven Lisp implementation running on ARM, x86 and PowerPC. [9]
HOL was also used to formalize the semantics of x86 multiprocessors [10] as well as the machine code for Power ISA and ARM architectures. [11]
Designed by | Michael J C Gordon |
---|---|
License | Modified (3-clause) BSD licence |
Filename extensions | .sml |
Website |
hol-theorem-prover |
HOL (Higher Order Logic) denotes a family of interactive theorem proving systems using similar (higher-order) logics and implementation strategies. Systems in this family follow the LCF approach as they are implemented as a library which defines an abstract data type of proven theorems such that new objects of this type can only be created using the functions in the library which correspond to inference rules in higher-order logic. As long as these functions are correctly implemented, all theorems proven in the system must be valid. As such, a large system can be built on top of a small trusted kernel.
Systems in the HOL family use ML or its successors. ML was originally developed along with LCF as a meta-language for theorem proving systems; in fact, the name stands for "Meta-Language".
This section needs expansion. You can help by
adding to it. (October 2021) |
HOL systems use variants of classical higher-order logic, which has simple axiomatic foundations with few axioms and well-understood semantics. [1]
The logic used in HOL provers is closely related to Isabelle/HOL, [2] the most widely used logic of Isabelle.
A number of HOL systems (sharing essentially the same logic) remain active and in use:
This section needs expansion. You can help by
adding to it. (October 2021) |
The CakeML project developed a formally proven compiler for ML. [8] Previously, HOL was used to develop a formally proven Lisp implementation running on ARM, x86 and PowerPC. [9]
HOL was also used to formalize the semantics of x86 multiprocessors [10] as well as the machine code for Power ISA and ARM architectures. [11]