Results 1 
9 of
9
A Coinduction Principle for Recursively Defined Domains
 THEORETICAL COMPUTER SCIENCE
, 1992
"... This paper establishes a new property of predomains recursively defined using the cartesian product, disjoint union, partial function space and convex powerdomain constructors. We prove that the partial order on such a recursive predomain D is the greatest fixed point of a certain monotone operator ..."
Abstract

Cited by 42 (3 self)
 Add to MetaCart
This paper establishes a new property of predomains recursively defined using the cartesian product, disjoint union, partial function space and convex powerdomain constructors. We prove that the partial order on such a recursive predomain D is the greatest fixed point of a certain monotone operator associated to D. This provides a structurally defined family of proof principles for these recursive predomains: to show that one element of D approximates another, it suffices to find a binary relation containing the two elements that is a postfixed point for the associated monotone operator. The statement of the proof principles is independent of any of the various methods available for explicit construction of recursive predomains. Following Milner and Tofte [10], the method of proof is called coinduction. It closely resembles the way bisimulations are used in concurrent process calculi [9]. Two specific instances of the coinduction principle already occur in work of Abramsky [2, 1] in the form of `internal full abstraction' theorems for denotational semantics of SCCS and the lazy lambda calculus. In the first case postfixed binary relations are precisely Abramsky's partial bisimulations, whereas in the second case they are his applicative bisimulations. The coinduction principle also provides an apparently useful tool for reasoning about equality of elements of recursively defined datatypes in (strict or lazy) higher order functional programming languages.
A Mechanized Theory of the picalculus in HOL
, 1992
"... : The ßcalculus is a process algebra for modelling concurrent systems in which the pattern of communication between processes may change over time. This paper describes the results of preliminary work on a definitional formal theory of the ßcalculus in higher order logic using the HOL theorem prov ..."
Abstract

Cited by 11 (0 self)
 Add to MetaCart
: The ßcalculus is a process algebra for modelling concurrent systems in which the pattern of communication between processes may change over time. This paper describes the results of preliminary work on a definitional formal theory of the ßcalculus in higher order logic using the HOL theorem prover. The ultimate goal of this work is to provide practical mechanized support for reasoning with the ßcalculus about applications. Introduction The ßcalculus [17, 18] is a process algebra proposed by Milner, Parrow and Walker for modelling concurrent systems in which the pattern of interconnection between processes may change over time. This paper describes work on a mechanized formal theory of the ßcalculus in higher order logic using the HOL theorem prover [8]. The main aim of this work is to construct a practical and sound theoremproving tool to support reasoning about applications using the ßcalculus, as well as metatheoretic reasoning about the ßcalculus itself. Four general prin...
Software Reuse by Specialization of Generic Procedures through Views
 IEEE Trans. Software Engineering
, 1997
"... A generic procedure can be specialized, by compilation through views, to operate directly on concrete data. A view is a computational mapping that describes how a concrete type implements an abstract type. Clusters of related views are needed for specialization of generic procedures that involve ..."
Abstract

Cited by 8 (1 self)
 Add to MetaCart
A generic procedure can be specialized, by compilation through views, to operate directly on concrete data. A view is a computational mapping that describes how a concrete type implements an abstract type. Clusters of related views are needed for specialization of generic procedures that involve several types or several views of a single type. A user interface that reasons about relationships between concrete types and abstract types allows view clusters to be created easily. These techniques allow rapid specialization of generic procedures for applications. Index Terms  software reuse, view, generic algorithm, generic procedure, algorithm specialization, partial evaluation, directmanipulation editor, abstract data type. 1 Introduction Reuse of software has the potential to reduce cost, increase the speed of software production, and increase reliability. Facilitating the reuse of software could therefore be of great benefit. G. S. Novak, Jr. is with the Department of Comput...
Multiway Decision Graphs Reduction Approach based on the HOL Theorem Prover
"... Multiway Decision Graphs (MDGs) subsume Binary Decision Diagrams (BDDs) by representing formulae which are suitable for firstorder model checking able to handle large datapath circuits. In this paper, we propose a reduction approach to improve MDGs model checking. We use a reduction platform based ..."
Abstract
 Add to MetaCart
(Show Context)
Multiway Decision Graphs (MDGs) subsume Binary Decision Diagrams (BDDs) by representing formulae which are suitable for firstorder model checking able to handle large datapath circuits. In this paper, we propose a reduction approach to improve MDGs model checking. We use a reduction platform based on combining MDGs with the rewriting engine of the HOL theorem prover. The idea is to prune the transition relation of the design using preproved theorems and lemmas from the specification given at system level. Then, the actual proof of temporal MDG formulae will be achieved by the MDGs model checker.
Introducing Parallelism in a Lazy Functional Language
, 1997
"... Interpretation  Combinator Systems . . . . . . . . 13 2.2.6 Backward Analysis . . . . . . . . . . . . . . . . . . . . . . . . 14 2.2.7 Evaluation transformers . . . . . . . . . . . . . . . . . . . . . 18 2.3 Granularity of Parallelism . . . . . . . . . . . . . . . . . . . . . . . . 20 2.3.1 Serial ..."
Abstract
 Add to MetaCart
(Show Context)
Interpretation  Combinator Systems . . . . . . . . 13 2.2.6 Backward Analysis . . . . . . . . . . . . . . . . . . . . . . . . 14 2.2.7 Evaluation transformers . . . . . . . . . . . . . . . . . . . . . 18 2.3 Granularity of Parallelism . . . . . . . . . . . . . . . . . . . . . . . . 20 2.3.1 Serial Combinators . . . . . . . . . . . . . . . . . . . . . . . . 20 2.3.2 Complexity Analysis . . . . . . . . . . . . . . . . . . . . . . . 21 2.3.3 Strictness Analysis Applied to Time Analysis . . . . . . . . . 21 2.3.4 Using Type Information to Derive Time Information . . . . . 25 2.4 Parallel Simulation . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29 2.4.1 HBCPP . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29 2.4.2 GranSim . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29 2.5 Summary and Conclusions . . . . . . . . . . . . . . . . . . . . . . . . 30 2.5.1 Strictness Analysis . . . . . . . . . . . . . . . . . . . . . . . . 30 2.5.2 Granularity Analysis . . ...
PPCtab: an automated Tableau prover for PPC.
"... An automated tableau prover for the Partial Predicate Calculus(PPC) has been implemented and integrated in Isabelle. It is based on the LK objectlogic but is extended to the threevalued logic of PPC. It provides three tactics: the tablo tac which offers the opportunity to trace every step in the p ..."
Abstract
 Add to MetaCart
(Show Context)
An automated tableau prover for the Partial Predicate Calculus(PPC) has been implemented and integrated in Isabelle. It is based on the LK objectlogic but is extended to the threevalued logic of PPC. It provides three tactics: the tablo tac which offers the opportunity to trace every step in the proofprocess, the safe tac based on depthfirst search and the best tac based on bestfirst search. A closed tableau is indicated by the fact that there are no more subgoals to prove, otherwise the subgoals define a counterexample for the expression. 1 Introduction The Partial Predicate Logic (PPC)([ah87]) presents a nonclassical threevalued predicate calculus, where, for a sequent ff 1 ; :::; ff n j= fi the formulae at the lefthand side of the turnstile are considered to be true and the formula at the righthand side of the turnstile is either true or undefined. Because of the exact formal correspondence between the operational inference rules of PPC and the rules of tableau calculus, PP...
Composition of Generic Software Components
, 2005
"... Designed artifacts, including computer programs, are mainly composed of versions of known components. Using a small example program, we identify the generic components of the program and show how they become mixed together in source code. We show how a similar program can be generated by compositio ..."
Abstract
 Add to MetaCart
(Show Context)
Designed artifacts, including computer programs, are mainly composed of versions of known components. Using a small example program, we identify the generic components of the program and show how they become mixed together in source code. We show how a similar program can be generated by composition and specialization of generic components using views. We describe how components constrain and parameterize each other in ways that are not well supported by existing programming languages. While the interactions of components are complex, constraint propagation and inference can greatly reduce the detail that must be specified and allow most choices to be made by menu selection. A graphical programming environment allows programs to be specified easily and rapidly by connecting boxes that represent generic components, producing a set of declarative specifications. Generic program components are written as higherorder programs that interpret the specifications; the components are converted, through compilation and partial evaluation, into a program in the desired programming language. The programs produced are comparable in form and efficiency to handwritten code.