Results 1 
6 of
6
Timing Analysis of Combinational Circuits in Intuitionistic Propositional Logic
 Formal Methods in System Design
, 1999
"... Classical logic has so far been the logic of choice in formal hardware verification. This paper proposes the application of intuitionistic logic to the timing analysis of digital circuits. The intuitionistic setting serves two purposes. The modeltheoretic properties are exploited to handle the s ..."
Abstract

Cited by 7 (1 self)
 Add to MetaCart
(Show Context)
Classical logic has so far been the logic of choice in formal hardware verification. This paper proposes the application of intuitionistic logic to the timing analysis of digital circuits. The intuitionistic setting serves two purposes. The modeltheoretic properties are exploited to handle the secondorder nature of bounded delays in a purely propositional setting without need to introduce explicit time and temporal operators. The proof theoretic properties are exploited to extract quantitative timing information and to reintroduce explicit time in a convenient and systematic way. We present a natural Kripkestyle semantics for intuitionistic propositional logic, as a special case of a Kripke constraint model for Propositional Lax Logic [15], in which validity is validity up to stabilisation, and implication oe comes out as "boundedly gives rise to." We show that this semantics is equivalently characterised by a notion of realisability with stabilisation bounds as realisers...
Extraction of Structured Programs from Specification Proofs
 Workshop on Algebraic Development Techniques, volume 1827 of Lecture Notes in Computer Science
"... We present a method using an extended logical system for obtaining "correct" programs from specifications written in a sublanguage of CASL. By "correct" we mean programs that satisfy their specifications. The technique we use is to extract programs from proofs in formal logic by ..."
Abstract

Cited by 3 (3 self)
 Add to MetaCart
(Show Context)
We present a method using an extended logical system for obtaining "correct" programs from specifications written in a sublanguage of CASL. By "correct" we mean programs that satisfy their specifications. The technique we use is to extract programs from proofs in formal logic by techniques due to Curry and Howard. The logical calculus, however, has the novel feature that as well as the conventional logical rules it includes structural rules corresponding to the standard ways of modifying specifications: translating (renaming), taking unions of specifications and hiding signatures. Although programs extracted by the CurryHoward process can be very cumbersome, we use a number of simplifications that ensure that the programs extracted are in a language close to a standard highlevel programming language. We use this to produce an executable refinement of a given specification and we then provide a method for producing a program module which respects the original structure of the specific...
Fred: An implementation of a layered approach to extracting programs from proofs. Part I: an application in Graph Theory
, 2000
"... In this paper we describe our system Fred for automatically extracting "correct" programs from proofs using a development of the CurryHoward process. Although program extraction has been developed by many authors (see [5, 2, 8]), our system has a number of novel features designed to ma ..."
Abstract

Cited by 2 (2 self)
 Add to MetaCart
In this paper we describe our system Fred for automatically extracting "correct" programs from proofs using a development of the CurryHoward process. Although program extraction has been developed by many authors (see [5, 2, 8]), our system has a number of novel features designed to make it very easy to use and as close as possible to ordinary mathematical terminology and practice. These features include 1. the use of Henkin's technique [6] to reduce higherorder logic to manysorted (firstorder) logic 2. the free use of new rules for induction subject to certain conditions 3. the extensive use of previously programmed (primitive) recursive functions 4. the use of templates to make the reasoning much closer to normal mathematical proofs. 5. an extension of the technique of the use of Harrop formulae to classically true formulae (cf. the footnote on p. 101 in Kreisel [10]). As an example of our system we give a constructive proof of the wellknown theorem that every graph ...
A layered approach to extracting programs from proofs with an application in Graph Theory
 in Graph Theory. Paper presented at the Seventh Aisan Logic Conference, HsiTou
, 1999
"... In this paper we describe our system for automatically extracting "correct" programs from proofs using a development of the CurryHoward process. Although program extraction has been developed by many authors (see [5, ?,?]), our system has a number of novel features designed to make it ve ..."
Abstract

Cited by 2 (2 self)
 Add to MetaCart
In this paper we describe our system for automatically extracting "correct" programs from proofs using a development of the CurryHoward process. Although program extraction has been developed by many authors (see [5, ?,?]), our system has a number of novel features designed to make it very easy to use and as close as possible to ordinary mathematical terminology and practice. These features include 1. the use of Henkin's technique [6] to reduce higherorder logic to manysorted (firstorder) logic 2. the free use of new rules for induction subject to certain conditions 3. the extensive use of previously programmed (primitive) recursive functions. 4. the use of templates to make the reasoning much closer to normal mathematical proofs. 5. an extension of the technique of the use of Harrop formulae to classically true formulae (cf. the footnote on p. 101 in Kreisel [9]); As an example of our system we give a constructive proof of the wellknown theorem that every graph of even par...
Testing and Proving in Dependent Type Theory (Chapter 1: Introduction)
 CHALMERS UNIVERSITY OF TECHNOLOGY AND GOTEBORG UNIVERSITY
, 2003
"... ..."
Correct Interaction Between Programs and Proofs
"... . In this paper we describe our protocol for the interaction between a theory and the programs extracted from it. This protocol leads to the expansion of the theory and the production of more powerful programs. The methodology we use for automatically extracting "correct" programs from ..."
Abstract
 Add to MetaCart
(Show Context)
. In this paper we describe our protocol for the interaction between a theory and the programs extracted from it. This protocol leads to the expansion of the theory and the production of more powerful programs. The methodology we use for automatically extracting "correct" programs from proofs is a development of the wellknown CurryHoward process. Although program extraction has been developed by many authors (see, for example, [9],[5] and [12]), our presentation has a number of novel features. These include 1. first of all, a mimicking of ordinary mathematical practice in the construction of new mathematics and likewise the use of established computer programs when we extract programs from formal proofs. 2. the use of a (firstorder) manysorted logic (so we have an underlying logic that is as close as possible to standard usage), 3. a conceptual distinction between programs and proofs of theorems about programs, and 4. a dynamic system that is "open" in the sense that ne...