Proofs and types
FPCA '89 Proceedings of the fourth international conference on Functional programming languages and computer architecture
The essence of functional programming
POPL '92 Proceedings of the 19th ACM SIGPLAN-SIGACT symposium on Principles of programming languages
Deriving structural hylomorphisms from recursive definitions
Proceedings of the first ACM SIGPLAN international conference on Functional programming
Algebra of programming
Types and programming languages
Types and programming languages
Boxy types: inference for higher-rank types and impredicativity
Proceedings of the eleventh ACM SIGPLAN international conference on Functional programming
Practical type inference for arbitrary-rank types
Journal of Functional Programming
Towards self-verification of HOL light
IJCAR'06 Proceedings of the Third international joint conference on Automated Reasoning
TPHOLs '09 Proceedings of the 22nd International Conference on Theorem Proving in Higher Order Logics
Modules over monads and initial semantics
Information and Computation
The open theory standard theory library
NFM'11 Proceedings of the Third international conference on NASA Formal methods
Stateless higher-order logic with quantified types
ITP'13 Proceedings of the 4th international conference on Interactive Theorem Proving
Hi-index | 0.01 |
This paper introduces the logical system HOL2P that extends classical higher order logic (HOL) with type operator variables and universal types. HOL2P has explicit term operations for type abstraction and type application. The formation of type application terms t [T] is restricted to small types T that do not contain any universal types. This constraint ensures the existence of a set-theoretic model and thus consistency. The expressiveness of HOL2P allows category-theoretic concepts such as natural transformations and initial algebras to be applied at the level of polymorphic HOL functions. The parameterisation of terms with type operators adds genericity to theorems. Type variable quantification can also be expressed. A prototype of HOL2P has been implemented on top of HOL-Light. Type inference is semi-automatic, and some type annotations are necessary. Reasoning is supported by appropriate tactics. The implementation has been used to check some sample derivations.