Results 1 
8 of
8
A New Interface for HOL  Ideas, Issues and Implementation
 in Higher Order Logic: Theorem Proving and its Applications, LNCS 971
, 1995
"... . TkHolWorkbench is a new set of interface tools for HOL implemented using the Tk toolkit. It aims to be robust, extensible, lightweight and userfriendly. The tools are designed to augment the existing HOL interface. The project applies rapid prototyping and the use of an interpreted toolkit to the ..."
Abstract

Cited by 25 (2 self)
 Add to MetaCart
(Show Context)
. TkHolWorkbench is a new set of interface tools for HOL implemented using the Tk toolkit. It aims to be robust, extensible, lightweight and userfriendly. The tools are designed to augment the existing HOL interface. The project applies rapid prototyping and the use of an interpreted toolkit to the field of theorem proving interfaces. The topics considered in this paper are: the motivations for a new interface for HOL; the design objectives and usability targets for TkHolWorkbench; a description of the TkHolWorkbench tools as they now stand; and the extensible design architecture used in the implementation. 1 Introduction This paper describes a new interface for the HOL theorem proving system called TkHolWorkbench. This interface has been under development at the University of Cambridge for the last 6 months, and the author hopes that this interface, or some derivative of it, will eventually become the interface of the HOL2000 project. The aim of this paper is to give an overview of...
The HOL logic extended with quantification over type variables
 Formal Methods in System Design, 3(12):724
, 1993
"... Abstract. The HOL system is an LCFstyle mechanized proofassistant for conducting proofs in higher order logic. This paper discusses a proposal to extend the primitive basis of the logic underlying the HOL system with a very simple form of quantification over types. It is shown how certain practica ..."
Abstract

Cited by 19 (0 self)
 Add to MetaCart
(Show Context)
Abstract. The HOL system is an LCFstyle mechanized proofassistant for conducting proofs in higher order logic. This paper discusses a proposal to extend the primitive basis of the logic underlying the HOL system with a very simple form of quantification over types. It is shown how certain practical problems with using the definitional mechanisms of HOL would be solved by the additional expressive power gained by making this extension.
A thread of HOL development
 Computer Journal
"... The HOL system is a mechanized proof assistant for higher order logic that has been under continuous development since the mid1980s, by an everchanging group of developers and external contributors. We give a brief overview of various implementations of the HOL logic before focusing on the evoluti ..."
Abstract

Cited by 13 (7 self)
 Add to MetaCart
The HOL system is a mechanized proof assistant for higher order logic that has been under continuous development since the mid1980s, by an everchanging group of developers and external contributors. We give a brief overview of various implementations of the HOL logic before focusing on the evolution of certain important features available in a recent implementation. We also illustrate how the module system of Standard ML provided security and modularity in the construction of the HOL kernel, as well as serving in a separate capacity as a useful representation medium for persistent, hierarchical logical theories.
Firstclass Synchronous Operations
, 1995
"... . The idea of making synchronous operations into firstclass values is an important one for supporting abstraction and modularity in concurrent programs. This design principle has been used with great success in the concurrent language CML, but what are the limitations of this approach? This paper e ..."
Abstract

Cited by 8 (0 self)
 Add to MetaCart
. The idea of making synchronous operations into firstclass values is an important one for supporting abstraction and modularity in concurrent programs. This design principle has been used with great success in the concurrent language CML, but what are the limitations of this approach? This paper explains the rationale for firstclass synchronous operations, and discusses their use in CML. It also presents some recent and fundamental results about the expressiveness of rendezvous primitives, which define the limitations of synchronous abstractions. 1 Introduction Abstraction is a key tool for managing complexity. The design of programming languages is one area where application of this idea has paid significant dividends. Languages have evolved from providing a fixed set of abstractions of the underlying hardware, such as arithmetic expressions and arrays, to providing support for programmerdefined abstractions, such as abstract datatypes and higherorder procedures. By providing ...
Studying the ML Module System in HOL
, 1994
"... syntax for higherorder functors (additions and changes) I 2 Int = FunIntEnv \Theta StrIntEnv \Theta Fin(var) SIE 2 StrIntEnv = strid fin ! Int FIE 2 FunIntEnv = funid fin ! Int IB 2 IntBasis = FunIntEnv \Theta SigEnv \Theta StrIntEnv ME 2 ModEnv = FunEnv \Theta ModStrEnv \Theta VarEnv MSE ..."
Abstract

Cited by 6 (2 self)
 Add to MetaCart
syntax for higherorder functors (additions and changes) I 2 Int = FunIntEnv \Theta StrIntEnv \Theta Fin(var) SIE 2 StrIntEnv = strid fin ! Int FIE 2 FunIntEnv = funid fin ! Int IB 2 IntBasis = FunIntEnv \Theta SigEnv \Theta StrIntEnv ME 2 ModEnv = FunEnv \Theta ModStrEnv \Theta VarEnv MSE 2 ModStrEnv = strid fin ! ModEnv B 2 Basis = SigEnv \Theta ModEnv FIGURE 5. Semantic objects for higherorder functors (additions and changes) thinning functors. The nature of this information is discussed at length later. Interface Bases (IntBasis) These now have a new component: a functor interface environment. Modulelevel environments (ModEnv) These are the environments obtained as the result of evaluating structures. Since structures can contain functors, these environments contain a functor environment (FunEnv) component. In the rest of this paper we will refer to these objects as "environments" unless there is a possibility of confusion with Corelevel environments. Modulelev...
Desiderata for Interactive Verification Systems
, 1994
"... What facilities should an interactive verification system provide? We take the pragmatic view that the particular logic underlying a proof system is not as important as the support that is provided. Although a plethora of logics have been implemented, we think that there is a common kernel of suppor ..."
Abstract
 Add to MetaCart
What facilities should an interactive verification system provide? We take the pragmatic view that the particular logic underlying a proof system is not as important as the support that is provided. Although a plethora of logics have been implemented, we think that there is a common kernel of support that a proof system ought to provide. Towards this end, we give detailed suggestions for verification support in three major areas: formalization, proof, and interface. Although our perspective comes from experience with highly expressive logics such as set theory, higher order logic, and type theory, we think our analyses apply more generally. Introduction Currently, theorem provers are used in the verification of both hardware and software [GM93, ORS92, BM90, HRS90, FFMH92], the formalization of informal mathematical proofs [FGT90, CH85, Pau90b], the teaching of logic[AMC84], and as tools of mathematical and metamathematical research [WWM + 90, CAB + 86]. 1 In this paper we describ...
Evaluating Possibilities for Formally Sound Simulation and Verification of VHDL
"... ©Copyright in this paper belongs to the author(s) Published in collaboration with the ..."
Abstract
 Add to MetaCart
(Show Context)
©Copyright in this paper belongs to the author(s) Published in collaboration with the
Reasoning about terminating . . .
, 1999
"... This thesis addresses two basic problems with the current crop of mechanized proof systems. The first problem is largely technical: the act of soundly introducing a recursive definition is not as simple and direct as it should be. The second problem is largely social: there is very little codeshar ..."
Abstract
 Add to MetaCart
This thesis addresses two basic problems with the current crop of mechanized proof systems. The first problem is largely technical: the act of soundly introducing a recursive definition is not as simple and direct as it should be. The second problem is largely social: there is very little codesharing between theorem prover implementations; as a result, common facilities are typically built anew in each proof system, and the overall progress of the field is thereby hampered. We use the application domain of functional programming to explore the first problem. We build a patternmatching style recursive function definition facility, based on mechanically proven wellfounded recursion and induction theorems. Reasoning support is embodied by automatically derived induction theorems, which are customised to the recursion structure of definitions. This provides a powerful, guaranteed sound, definitionandreasoning facility for functions that strongly resemble programs in languages such as ML or Haskell. We demonstrate this package (called TFL) on several wellknown challenge problems. In spite of its power, the approach suffers from a low level of automation, because a termination relation must be supplied at function definition time. If humans are to be largely relieved of the task of proving termination, it must be possible for the act of defining a recursive function to be completely separate from the act of finding a termination relation for it and proving the ensuing termination conditions. We show how this separation can be achieved, while still preserving soundness. Building on this, we present a new way to define program schemes and prove highlevel program transformations.