Algebraic approaches to program semantics
Algebraic approaches to program semantics
Automating recursive type definitions in higher order logic
Current trends in hardware verification and automated theorem proving
Terminal coalgebras in well-founded set theory
Theoretical Computer Science
Introduction to HOL: a theorem proving environment for higher order logic
Introduction to HOL: a theorem proving environment for higher order logic
Additions and corrections to “Terminal coalgebras in well-founded set theory”
Theoretical Computer Science
Relators and metric bisimulations (abstract only)
Theoretical Computer Science
A fixedpoint approach to (co)inductive and (co)datatype definitions
Proof, language, and interaction
Universal coalgebra: a theory of systems
Theoretical Computer Science - Modern algebra and its applications
HOL Light: A Tutorial Introduction
FMCAD '96 Proceedings of the First International Conference on Formal Methods in Computer-Aided Design
Why we can't have SML-style datatype Declarations in HOL
HOL'92 Proceedings of the IFIP TC10/WG10.2 Workshop on Higher Order Logic Theorem Proving and its Applications
Inductive Definitions: Automation and Application
Proceedings of the 8th International Workshop on Higher Order Logic Theorem Proving and Its Applications
Inductive Datatypes in HOL - Lessons Learned in Formal-Logic Engineering
TPHOLs '99 Proceedings of the 12th International Conference on Theorem Proving in Higher Order Logics
Category Theory and Computer Science
Proof Principles for Datatypes with Iterated Recursion
CTCS '97 Proceedings of the 7th International Conference on Category Theory and Computer Science
A Broader Class of Trees for Recursive Type Definitions for HOL
HUG '93 Proceedings of the 6th International Workshop on Higher Order Logic Theorem Proving and its Applications
Journal of Functional Programming
Containers: constructing strictly positive types
Theoretical Computer Science - Applied semantics: Selected topics
Nominal Techniques in Isabelle/HOL
Journal of Automated Reasoning
LICS '09 Proceedings of the 2009 24th Annual IEEE Symposium on Logic In Computer Science
TPHOLs '09 Proceedings of the 22nd International Conference on Theorem Proving in Higher Order Logics
A Purely Definitional Universal Domain
TPHOLs '09 Proceedings of the 22nd International Conference on Theorem Proving in Higher Order Logics
Isabelle/HOL: a proof assistant for higher-order logic
Isabelle/HOL: a proof assistant for higher-order logic
Building formal method tools in the Isabelle/Isar framework
TPHOLs'07 Proceedings of the 20th international conference on Theorem proving in higher order logics
Quotients revisited for Isabelle/HOL
Proceedings of the 2011 ACM Symposium on Applied Computing
Iterative circular coinduction for CoCasl in isabelle/HOL
FASE'05 Proceedings of the 8th international conference, held as part of the joint European Conference on Theory and Practice of Software conference on Fundamental Approaches to Software Engineering
A design structure for higher order quotients
TPHOLs'05 Proceedings of the 18th international conference on Theorem Proving in Higher Order Logics
Filters on coinductive streams, an application to eratosthenes' sieve
TLCA'05 Proceedings of the 7th international conference on Typed Lambda Calculi and Applications
Ordinals in HOL: transfinite arithmetic up to (and beyond) ω1
ITP'13 Proceedings of the 4th international conference on Interactive Theorem Proving
Hi-index | 0.00 |
Interactive theorem provers based on higher-order logic (HOL) traditionally follow the definitional approach, reducing high-level specifications to logical primitives. This also applies to the support for datatype definitions. However, the internal datatype construction used in HOL4, HOL Light, and Isabelle/HOL is fundamentally noncompositional, limiting its efficiency and flexibility, and it does not cater for codatatypes. We present a fully modular framework for constructing (co)datatypes in HOL, with support for mixed mutual and nested (co)recursion. Mixed (co)recursion enables type definitions involving both datatypes and codatatypes, such as the type of finitely branching trees of possibly infinite depth. Our framework draws heavily from category theory. The key notion is that of a bounded natural functor---an enriched type constructor satisfying specific properties preserved by interesting categorical operations. Our ideas are implemented as a definitional package in Isabelle, addressing a frequent request from users.