Results 1  10
of
21
Computational LambdaCalculus and Monads
, 1988
"... The calculus is considered an useful mathematical tool in the study of programming languages, since programs can be identified with terms. However, if one goes further and uses fijconversion to prove equivalence of programs, then a gross simplification 1 is introduced, that may jeopardise the ..."
Abstract

Cited by 505 (7 self)
 Add to MetaCart
(Show Context)
The calculus is considered an useful mathematical tool in the study of programming languages, since programs can be identified with terms. However, if one goes further and uses fijconversion to prove equivalence of programs, then a gross simplification 1 is introduced, that may jeopardise the applicability of theoretical results to real situations. In this paper we introduce a new calculus based on a categorical semantics for computations. This calculus provides a correct basis for proving equivalence of programs, independent from any specific computational model. 1 Introduction This paper is about logics for reasoning about programs, in particular for proving equivalence of programs. Following a consolidated tradition in theoretical computer science we identify programs with the closed terms, possibly containing extra constants, corresponding to some features of the programming language under consideration. There are three approaches to proving equivalence of programs: ffl T...
Concrete Domains
 Theoretical Computer Science
, 1993
"... This paper introduces the theory of a particular kind of computation domains called concrete domains. The purpose of this theory is to find a satisfactory framework for the notions of coroutine computation and sequentiality of evaluation. Diagrams are emphasized because I believe that an important ..."
Abstract

Cited by 37 (1 self)
 Add to MetaCart
(Show Context)
This paper introduces the theory of a particular kind of computation domains called concrete domains. The purpose of this theory is to find a satisfactory framework for the notions of coroutine computation and sequentiality of evaluation. Diagrams are emphasized because I believe that an important part of learning lattice theory is the acquisition of skill in drawing diagrams. George Gratzer 1 Domains of computation In general, we follow Scott's approach [Sco70]. To every syntactic object one associates a semantic object which is found in an appropriate semantic domain. For technical details, we follow [Mil73] and [Plo78] rather than Scott. Definition 1.1 A partial order is a pair ! D; ? where D is a nonempty set and is a binary relation satisfying: i) 8x 2 D x x (reflexivity) ii) 8x; y 2 D x y; y x ) x = y (antisymmetry) iii) 8x; y; z 2 D x y; y z ) x z (transitivity) One writes x ! y when x y and x 6= y. Two elements x and y are comparable when either x y or y x. W...
Sharedmemory multiprocessing for interactive theorem proving
 Interactive Theorem Proving  4th International Conference, ITP 2013
"... Abstract. We address the multicore problem for interactive theorem proving, notably for Isabelle. The stagnation of CPU clock frequency since 2005 means that hardware manufactures multiply cores to keep up with “Moore’s Law”, but this imposes the burden of explicit parallelism to application develop ..."
Abstract

Cited by 7 (3 self)
 Add to MetaCart
(Show Context)
Abstract. We address the multicore problem for interactive theorem proving, notably for Isabelle. The stagnation of CPU clock frequency since 2005 means that hardware manufactures multiply cores to keep up with “Moore’s Law”, but this imposes the burden of explicit parallelism to application developers. To cope with this trend, Isabelle has started to support parallel theory and proof processing in 2007, and continuously improved the use of multicore hardware in recent years. This is of practical relevance to theory and proof development, since their size and complexity is roughly correlated with the real time required for rechecking. Scaling up the prover on parallel hardware will facilitate maintenance of larger theory libraries, for example. Our approach to parallel processing in Isabelle is mostly implicit, without user intervention. The system is able to exploit the inherent problemstructure of LCFstyle proof checking, although it requires substantial reforms of the prover architecture and its implementation. Thus the user gains significant speedup factors on typical commodity hardware with 2–32 cores; saturation of 8 cores is already routine in many applications. The present paper provides an overview of the current state of sharedmemory multiprocessing in Isabelle2013, which also benefits from recent improvements of parallel memory management in Poly/ML (by David Matthews). We discuss common requirements, problems, and solutions. Concrete performance figures are analyzed for some applications from the Isabelle distribution and the Archive of Formal Proofs (AFP).
Employing External Reasoners in Proof Planning
 In CALCULEMUS 99, Electronic Notes in Theoretical Computer Science
, 1999
"... This paper describes a the integration of computer algebra systems and constraint solvers into proof planners. It shows how efficient external reasoners can be employed in proof planning and how the shortcuts of the external reasoners can be expanded to verifiable natural deduction proofs in the pro ..."
Abstract

Cited by 5 (4 self)
 Add to MetaCart
(Show Context)
This paper describes a the integration of computer algebra systems and constraint solvers into proof planners. It shows how efficient external reasoners can be employed in proof planning and how the shortcuts of the external reasoners can be expanded to verifiable natural deduction proofs in the proof planning framework. It illustrates the integration and cooperation of the external reasoners with an example from proof planning limit theorems.
LCF Should Be Lifted
, 1988
"... : When observing termination of closed terms at all types in Plotkin's interpreter for PCF [11], the standard cpo model A V is not adequate. We define a new model, A Y , with lifted functional types and prove its adequacy for this notion of observation. We prove that with the addition of a para ..."
Abstract

Cited by 5 (2 self)
 Add to MetaCart
: When observing termination of closed terms at all types in Plotkin's interpreter for PCF [11], the standard cpo model A V is not adequate. We define a new model, A Y , with lifted functional types and prove its adequacy for this notion of observation. We prove that with the addition of a parallel conditional and a convergence testing operator to the language, the model becomes fully abstract; with the addition of an existentiallike operator, the language becomes universal. Using the model as a guide, we develop a sound logic for the language. 1 Introduction The denotational semantics most appropriate for a programming language depends crucially upon the observations one makes about computations. In general, an observation is some important behavior of the interpreter [8]. For example, in the arithmetic, higherorder programming language PCF [11, 13], one usually chooses to observe the results of arithmetic expressionsthat a term of integer type reduces to a numeral. One may also...
Psyche: a proofsearch engine based on sequent calculus with an LCFstyle architecture
 Int. Conf. on Automated Reasoning with Analytic Tableaux and Related Methods (Tableaux ’13), LNCS
, 2013
"... Abstract Psyche is a modular proofsearch engine designed for either interactive or automated theorem proving, and aiming at two things: a high level of confidence about the output of the theorem proving process and the ability to apply and combine a wide range of techniques. It addresses the first ..."
Abstract

Cited by 4 (2 self)
 Add to MetaCart
(Show Context)
Abstract Psyche is a modular proofsearch engine designed for either interactive or automated theorem proving, and aiming at two things: a high level of confidence about the output of the theorem proving process and the ability to apply and combine a wide range of techniques. It addresses the first aim by adopting and extending the LCF architecture to guarantee, using private types, not only the correctness but also the completeness of proof search. It addresses the second by offering a much more appropriate API than just the primitives corresponding to the inference rules of the logic in natural deduction: it uses instead a focused sequent calculus for polarised classical logic. Finally, Psyche features the ability to call decision procedures such as those used in SatModuloTheories solvers. We therefore illustrate Psyche by using it for SMTsolving. 1 Psyche in brief Psyche [11], the ProofSearch factorY for Collaborative HEurisics, is a modular platform for automated or interactive theorem proving, built on an architecture
COMPARING HOL AND MDG: A CASE STUDY ON THE VERIFICATION OF AN ATM SWITCH FABRIC
 NORDIC JOURNAL OF COMPUTING
, 1998
"... Interactive formal proof and automated verification based on decision graphs are two contrasting formal hardware verification techniques. In this paper, we compare these two approaches. In particular, we consider HOL and MDG. The former is an interactive theoremproving system based on higherorder ..."
Abstract

Cited by 3 (2 self)
 Add to MetaCart
Interactive formal proof and automated verification based on decision graphs are two contrasting formal hardware verification techniques. In this paper, we compare these two approaches. In particular, we consider HOL and MDG. The former is an interactive theoremproving system based on higherorder logic, while the latter is an automatic system based on Multiway Decision Graphs. As the basis for our comparison we have used both systems to independently verify a fabricated ATM communications chip, the Fairisle 4 by 4 switch fabric.
An Approach to Flexible Forms of Proof Control for a FirstOrder Inductive Theorem Prover (Extended Abstract)
"... We propose an approach to the problem of proof control for our new firstorder inductive theorem prover QuodLibet that is characterized by a great deal of flexibility w.r.t. the forms of proof control the prover supports. The approach is based on socalled (proof) tactics, i.e. proof control ro ..."
Abstract
 Add to MetaCart
We propose an approach to the problem of proof control for our new firstorder inductive theorem prover QuodLibet that is characterized by a great deal of flexibility w.r.t. the forms of proof control the prover supports. The approach is based on socalled (proof) tactics, i.e. proof control routines written in a special proof control language named QML. QuodLibet provides a set of tactics (in addition to the elementary inference rules), which range from tactics for trivial simplification steps to tactics representing comprehensive inductive proof strategies. Moreover, QuodLibet allows new tactics that are written by the user in QML to be integrated into the system to dynamically extend its functionality.
Pervasive Parallelism in HighlyTrustable Interactive Theorem Proving Systems
"... Interactive theorem proving is a technology of fundamental importance for mathematics and computerscience. It is based on expressive logical foundations and implemented in a highly trustable way. Applications include huge mathematical proofs and semiautomated verifications of complex software syst ..."
Abstract
 Add to MetaCart
(Show Context)
Interactive theorem proving is a technology of fundamental importance for mathematics and computerscience. It is based on expressive logical foundations and implemented in a highly trustable way. Applications include huge mathematical proofs and semiautomated verifications of complex software systems. Interactive development of larger and larger proofs increases the demand for computing power, which means explicit parallelism on current multicore hardware [6]. The architecture of contemporary interactive provers such as Coq [13, §4], Isabelle [13, §6] or the HOL family [13, §1] goes back to the influential LCF system [4] from 1979, which has pioneered key principles like correctness by construction for primitive inferences and definitions, free programmability in userspace via ML, and toplevel command interaction. Both Coq and Isabelle have elaborated the prover architecture over the years, driven by the demands of sophisticated proof procedures, derived specification principles, large libraries of formalized mathematics etc. Despite this success, the operational model of interactive proof checking was limited by sequential ML evaluation and the sequential