Results 11  20
of
56
Importing mathematics from hol into Nuprl
 Theorem Proving in Higher Order Logics (TPHOLs 1996), volume 1125 of LNCS
, 1996
"... Abstract. Nuprl and HOL are both tacticbased interactive theorem provers for higherorder logic, and both have been used in many substantial applications over the last decade. However, the HOL community has accumulated a much larger collection of formalized mathematics of the kind useful for hardwa ..."
Abstract

Cited by 27 (2 self)
 Add to MetaCart
Abstract. Nuprl and HOL are both tacticbased interactive theorem provers for higherorder logic, and both have been used in many substantial applications over the last decade. However, the HOL community has accumulated a much larger collection of formalized mathematics of the kind useful for hardware and software veri cation. This collection would be of great bene t in applying Nuprl to veri cation problems of real practical interest. This paper describes a connection we have implemented between HOL and Nuprl that gives Nuprl e ective access to mathematics formalized in HOL. In designing this connection, we had to overcome a number of problems related to di erences in the logics, logical infrastructures and stylistic conventions of Nuprl and HOL. 1
Analogy in Inductive Theorem Proving
, 1998
"... This paper investigates analogydriven proof plan construction in inductive theorem proving. We identify constraints of secondorder mappings that enable a replay of the plan of a source theorem to produce a similar plan for the target theorem. In some cases, differences between the source and ..."
Abstract

Cited by 25 (8 self)
 Add to MetaCart
This paper investigates analogydriven proof plan construction in inductive theorem proving. We identify constraints of secondorder mappings that enable a replay of the plan of a source theorem to produce a similar plan for the target theorem. In some cases, differences between the source and target theorem mean that the target proof plan has to be reformulated. These reformulations are suggested by the mappings. The analogy procedure, implemented in ABALONE, is particularly useful for overriding the default control and suggesting lemmas. Employing analogy has extended the problem solving horizon of the proof planner CLAM : with analogy, some theorems could be proved that neither CLAM nor NQTHM could prove automatically.
Formal verification of a partialorder reduction technique for model checking
 In Proc. of the Second International Workshop on Tools and Algorithms for the Construction and Analysis of Systems
, 1996
"... 2The bulk of the contribution of the first author to this work was done when he was on leave from UCLA and doing a summer job at Bell Laboratories. ..."
Abstract

Cited by 20 (1 self)
 Add to MetaCart
2The bulk of the contribution of the first author to this work was done when he was on leave from UCLA and doing a summer job at Bell Laboratories.
From Operational to Denotational Semantics
 In MFPS 1991
, 1989
"... In this paper it is shown how operational semantic methods may be naturally extended to encompass many of the concepts of denotational semantics. This work builds on the standard development of an operational semantics as an interpreter and operational equivalence. The key addition is an operational ..."
Abstract

Cited by 18 (6 self)
 Add to MetaCart
In this paper it is shown how operational semantic methods may be naturally extended to encompass many of the concepts of denotational semantics. This work builds on the standard development of an operational semantics as an interpreter and operational equivalence. The key addition is an operational ordering on sets of terms. From properties of this ordering a closure construction directly yields a fully abstract continuous cpo model. Furthermore, it is not necessary to construct the cpo, for principles such as soundness of fixedpoint induction may be obtained by direct reasoning from this new ordering. The end result is that traditional denotational techniques may be applied in a purely operational setting in a natural fashion, a matter of practical importance for developing semantics of realistic programming languages. 1 Introduction This paper aims to accomplish a degree of unification between operational and denotational approaches to programming language semantics by recasting d...
Modular Verification of SRT Division
, 1996
"... . We describe a formal specification and mechanized verification in PVS of the general theory of SRT division along with a specific hardware realization of the algorithm. The specification demonstrates how attributes of the PVS language (in particular, predicate subtypes) allow the general theory to ..."
Abstract

Cited by 16 (1 self)
 Add to MetaCart
. We describe a formal specification and mechanized verification in PVS of the general theory of SRT division along with a specific hardware realization of the algorithm. The specification demonstrates how attributes of the PVS language (in particular, predicate subtypes) allow the general theory to be developed in a readable manner that is similar to textbook presentations, while the PVS table construct allows direct specification of the implementation's quotient lookup table. Verification of the derivations in the SRT theory and for the data path and lookup table of the implementation are highly automated and performed for arbitrary, but finite precision; in addition, the theory is verified for general radix, while the implementation is specialized to radix 4. The effectiveness of the automation stems from the tight integration in PVS of rewriting with decision procedures for equality, linear arithmetic over integers and rationals, and propositional logic. This example demonstrates t...
A Tutorial on Using PVS for Hardware Verification
 Proc. 2nd International Conference on Theorem Provers in Circuit Design (TPCD94), volume 901 of Lecture Notes in Computer Science
, 1995
"... PVS stands for "Prototype Verification System." It consists of a specification language integrated with support tools and a theorem prover. PVS tries to provide the mechanization needed to apply formal methods both rigorously and productively. This tutorial serves to introduce PVS and its use in the ..."
Abstract

Cited by 15 (0 self)
 Add to MetaCart
PVS stands for "Prototype Verification System." It consists of a specification language integrated with support tools and a theorem prover. PVS tries to provide the mechanization needed to apply formal methods both rigorously and productively. This tutorial serves to introduce PVS and its use in the context of hardware verification. In the first section, we briefly sketch the purposes for which PVS is intended and the rationale behind its design, mention some of the uses that we and others are making of it. We give an overview of the PVS specification language and proof checker. The PVS language, system, and theorem prover each have their own reference manuals, which you will need to study in order to make productive use of the system. A pocket reference card, summarizing all the features of the PVS language, system, and prover is also available. The purpose of this tutorial is not to describe in detail the features of PVS and how to use the system. Rather, its purpose is to...
Advanced Languages for Systems Software The Fox Project in 1994
, 1994
"... It has been amply demonstrated in recent years that careful attention to the structure of systems software can lead to greater flexibility, reliability, and ease of implementation, without incurring an undue penalty in performance. It is our contention that advanced programming languages particul ..."
Abstract

Cited by 15 (0 self)
 Add to MetaCart
It has been amply demonstrated in recent years that careful attention to the structure of systems software can lead to greater flexibility, reliability, and ease of implementation, without incurring an undue penalty in performance. It is our contention that advanced programming languages particularly languages with a mathematically rigorous semantics, and featuring higherorder functions, polymorphic types, firstclass continuations, and a useful and powerful module systemare ideally suited to expressing such structure. Indeed, our previous research has shown that the use of an advanced programming language can have a fundamental effect on system design, leading naturally to system architectures that are highly modular, efficient, and allow reuse of code. We are thus working to demonstrate the viability and benefits of advanced languages for programming realworld systems. To achieve this, we have organized our research into the three areas of language design, compiler technolo...
Logic Frameworks for Logic Programs
, 1994
"... . We show how logical frameworks can provide a basis for logic program synthesis. With them, we may use firstorder logic as a foundation to formalize and derive rules that constitute program development calculi. Derived rules may be in turn applied to synthesize logic programs using higherorder re ..."
Abstract

Cited by 12 (7 self)
 Add to MetaCart
. We show how logical frameworks can provide a basis for logic program synthesis. With them, we may use firstorder logic as a foundation to formalize and derive rules that constitute program development calculi. Derived rules may be in turn applied to synthesize logic programs using higherorder resolution during proof that programs meet their specifications. We illustrate this using Paulson's Isabelle system to derive and use a simple synthesis calculus based on equivalence preserving transformations. 1 Introduction Background In 1969 Dana Scott developed his Logic for Computable Functions and with it a model of functional program computation. Motivated by this model, Robin Milner developed the theorem prover LCF whose logic PP used Scott's theory to reason about program correctness. The LCF project [13] established a paradigm of formalizing a programming logic on a machine and using it to formalize different theories of functional programs (e.g., strict and lazy evaluation) and the...
Reasoning About Functional Programs in Nuprl
 In Functional Programming, Concurrency, Simulation and Automated Reasoning
, 1993
"... . There are two ways of reasoning about functional programs in the constructive type theory of the Nuprl proof development system. Nuprl can be used in a conventional programverification mode, in which functional programs are written in a familiar style and then proven to be correct. It can als ..."
Abstract

Cited by 12 (0 self)
 Add to MetaCart
. There are two ways of reasoning about functional programs in the constructive type theory of the Nuprl proof development system. Nuprl can be used in a conventional programverification mode, in which functional programs are written in a familiar style and then proven to be correct. It can also be used in an extraction mode, where programs are not written explicitly, but instead are extracted from mathematical proofs. Nuprl is the only constructive type theory to support both of these approaches. These approaches are illustrated by applying Nuprl to Boyer and Moore's "majority" algorithm. 1 Introduction A type system for a functional programming language can be syntactic or semantic. In a syntactically typed language, such as SML 1 [25], typing is a property of the syntax of expressions. Only certain combinations of language constructs are designated "welltyped", and only welltyped expressions are given a meaning. Each welltyped expression has a type which can be derive...