919 research outputs found
LCF Examples in HOL
The LCF system provides a logic of fixed point theory and is useful to reason about non-termination, arbitrary recursive definitions and infinite types as lazy lists. It is unsuitable for reasoning about finite types and strict functions. The HOL system provides set theory and supports reasoning about finite types and total functions well. In this paper a number of examples are used to demonstrate that an extension of HOL with domain theory combines the benefits of both systems. The examples illustrate reasoning about infinite values and non-terminating functions and show how mixing domain and set theoretic reasoning eases reasoning about finite LCF types and strict functions. An example presents a proof of the correctness and termination of a recursive unification algorithm using well-founded induction
Isabelle/PIDE as Platform for Educational Tools
The Isabelle/PIDE platform addresses the question whether proof assistants of
the LCF family are suitable as technological basis for educational tools. The
traditionally strong logical foundations of systems like HOL, Coq, or Isabelle
have so far been counter-balanced by somewhat inaccessible interaction via the
TTY (or minor variations like the well-known Proof General / Emacs interface).
Thus the fundamental question of math education tools with fully-formal
background theories has often been answered negatively due to accidental
weaknesses of existing proof engines.
The idea of "PIDE" (which means "Prover IDE") is to integrate existing
provers like Isabelle into a larger environment, that facilitates access by
end-users and other tools. We use Scala to expose the proof engine in ML to the
JVM world, where many user-interfaces, editor frameworks, and educational tools
already exist. This shall ultimately lead to combined mathematical assistants,
where the logical engine is in the background, without obstructing the view on
applications of formal methods, formalized mathematics, and math education in
particular.Comment: In Proceedings THedu'11, arXiv:1202.453
The Common HOL Platform
The Common HOL project aims to facilitate porting source code and proofs
between members of the HOL family of theorem provers. At the heart of the
project is the Common HOL Platform, which defines a standard HOL theory and API
that aims to be compatible with all HOL systems. So far, HOL Light and hol90
have been adapted for conformance, and HOL Zero was originally developed to
conform. In this paper we provide motivation for a platform, give an overview
of the Common HOL Platform's theory and API components, and show how to adapt
legacy systems. We also report on the platform's successful application in the
hand-translation of a few thousand lines of source code from HOL Light to HOL
Zero.Comment: In Proceedings PxTP 2015, arXiv:1507.0837
Recursive Definitions of Monadic Functions
Using standard domain-theoretic fixed-points, we present an approach for
defining recursive functions that are formulated in monadic style. The method
works both in the simple option monad and the state-exception monad of
Isabelle/HOL's imperative programming extension, which results in a convenient
definition principle for imperative programs, which were previously hard to
define.
For such monadic functions, the recursion equation can always be derived
without preconditions, even if the function is partial. The construction is
easy to automate, and convenient induction principles can be derived
automatically.Comment: In Proceedings PAR 2010, arXiv:1012.455
ProofPeer - A Cloud-based Interactive Theorem Proving System
ProofPeer strives to be a system for cloud-based interactive theorem proving.
After illustrating why such a system is needed, the paper presents some of the
design challenges that ProofPeer needs to meet to succeed. Contexts are
presented as a solution to the problem of sharing proof state among the users
of ProofPeer. Chronicles are introduced as a way to organize and version
contexts
- …