Results 21  30
of
56
Deductive Runtime Certification
 In Proceedings of the 2004 Workshop on Runtime Verification
, 2004
"... This paper introduces a notion of certified computation whereby an algorithm not only produces a result r for a given input x, but also proves that r is a correct result for x. This can greatly enhance the credibility of the result: if we trust the axioms and inference rules that are used in the pro ..."
Abstract

Cited by 11 (8 self)
 Add to MetaCart
This paper introduces a notion of certified computation whereby an algorithm not only produces a result r for a given input x, but also proves that r is a correct result for x. This can greatly enhance the credibility of the result: if we trust the axioms and inference rules that are used in the proof, then we can be assured that r is correct. Typically, the reasoning used in a certified computation is much simpler than the computation itself. We present and analyze two examples of certifying algorithms. We have developed...
Synthesis of programs in computational logic
 PROGRAM DEVELOPMENT IN COMPUTATIONAL LOGIC
, 2004
"... Since the early days of programming and automated reasoning, researchers have developed methods for systematically constructing programs from their specifications. Especially the last decade has seen a flurry of activities including the advent of specialized conferences, such as LOPSTR, covering the ..."
Abstract

Cited by 8 (0 self)
 Add to MetaCart
Since the early days of programming and automated reasoning, researchers have developed methods for systematically constructing programs from their specifications. Especially the last decade has seen a flurry of activities including the advent of specialized conferences, such as LOPSTR, covering the synthesis of programs in computational logic. In this paper we analyze and compare three stateoftheart methods for synthesizing recursive programs in computational logic. The three approaches are constructive/deductive synthesis, schemaguided synthesis, and inductive synthesis. Our comparison is carried out in a systematic way where, for each approach, we describe the key ideas and synthesize a common running example. In doing so, we explore the synergies between the approaches, which we believe are necessary in order to achieve progress over the next decade in this field.
Partial computations in constructive type theory
 JOURNAL OF LOGIC AND COMPUTATION
, 1991
"... Constructive type theory as conceived by Per MartinLöf has a very rich type system, but partial functions cannot be typed. This also makes it impossible to directly write recursive programs. In this paper a constructive type theory Red is defined which includes a partial type constructor A; objects ..."
Abstract

Cited by 7 (5 self)
 Add to MetaCart
Constructive type theory as conceived by Per MartinLöf has a very rich type system, but partial functions cannot be typed. This also makes it impossible to directly write recursive programs. In this paper a constructive type theory Red is defined which includes a partial type constructor A; objects in the type A may diverge, but if they converge, they must be members of A. A fixed point typing principle is given to allow typing of recursive functions. The extraction paradigm of type theory, whereby programs are automatically extracted from constructive proofs, is extended to allow extraction of fixed points. There is a Scott fixed point induction principle for reasoning about these functions. Soundness of the theory is proven. Type theory becomes a more expressive programming logic as a result.
Tactic Theorem Proving with RefinementTree Proofs and Metavariables
 Proceedings, 12th International Conference on Automated Deduction
, 1994
"... . This paper describes a prototype of a programmable interactive theoremproving system. The main new feature of this system is that it supports the construction and manipulation of treestructured proofs that can contain both metavariables and derived rules that are computed by tactic programs. The ..."
Abstract

Cited by 7 (1 self)
 Add to MetaCart
. This paper describes a prototype of a programmable interactive theoremproving system. The main new feature of this system is that it supports the construction and manipulation of treestructured proofs that can contain both metavariables and derived rules that are computed by tactic programs. The proof structure encapsulates the topdown refinement process of proof construction typical of most interactive theorem provers. Our prototype has been implemented in the logic programming language Prolog, from which we inherit a general kind of higherorder metavariable. Backing up, or undoing, of proof construction steps is supported by solving unification and matching constraints. 1 Introduction Interactive proof construction typically proceeds topdown, starting with the statement of the theorem to be proven, and then successively refining goals into subgoals. This pattern is characteristic of most interactive systems, although there are large differences in the kinds of refinement tha...
Proof Planning: A Practical Approach To Mechanized Reasoning In Mathematics
, 1998
"... INTRODUCTION The attempt to mechanize mathematical reasoning belongs to the first experiments in artificial intelligence in the 1950 (Newell et al., 1957). However, the idea to automate or to support deduction turned out to be harder than originally expected. This can not at least be seen in the mul ..."
Abstract

Cited by 6 (3 self)
 Add to MetaCart
INTRODUCTION The attempt to mechanize mathematical reasoning belongs to the first experiments in artificial intelligence in the 1950 (Newell et al., 1957). However, the idea to automate or to support deduction turned out to be harder than originally expected. This can not at least be seen in the multitude of approaches that were pursued to model different aspects of mathematical reasoning. There are different dimension according to which these systems can be classified: input language (e.g., ordersorted firstorder logic), calculus (e.g., resolution), interaction level (e.g., batch mode), proof output (e.g., refutation graph), and the purpose (e.g., automated theorem proving) as well as many more subtle points concerning the fine tuning of the proof search. In this contribution the proof planning approach will be presented. Since it is not the mainstream approach to mechanized reasoning, it seems to be worth to look at it in a more principled way and to contrast it to other appro
Planning and Proof Planning
 ECAI96 Workshop on CrossFertilization in Planning
, 1996
"... . The paper adresses proof planning as a specific AI planning. It describes some peculiarities of proof planning and discusses some possible crossfertilization of planning and proof planning. 1 Introduction Planning is an established area of Artificial Intelligence (AI) whereas proof planning intr ..."
Abstract

Cited by 6 (5 self)
 Add to MetaCart
. The paper adresses proof planning as a specific AI planning. It describes some peculiarities of proof planning and discusses some possible crossfertilization of planning and proof planning. 1 Introduction Planning is an established area of Artificial Intelligence (AI) whereas proof planning introduced by Bundy in [2] still lives in its childhood. This means that the development of proof planning needs maturing impulses and the natural questions arise What can proof planning learn from its Big Brother planning?' and What are the specific characteristics of the proof planning domain that determine the answer?'. In turn for planning, the analysis of approaches points to a need of mature techniques for practical planning. Drummond [8], e.g., analyzed approaches with the conclusion that the success of Nonlin, SIPE, and OPlan in practical planning can be attributed to hierarchical action expansion, the explicit representation of a plan's causal structure, and a very simple form of propo...
Writing PVS proof strategies
 Design and Application of Strategies/Tactics in Higher Order Logics (STRATA 2003), number CP2003212448 in NASA Conference Publication
, 2003
"... Abstract. PVS (Prototype Verification System) is a comprehensive framework for writing formal logical specifications and constructing proofs. An interactive proof checker is a key component of PVS. The capabilities of this proof checker can be extended by defining proof strategies that are similar t ..."
Abstract

Cited by 6 (1 self)
 Add to MetaCart
Abstract. PVS (Prototype Verification System) is a comprehensive framework for writing formal logical specifications and constructing proofs. An interactive proof checker is a key component of PVS. The capabilities of this proof checker can be extended by defining proof strategies that are similar to LCFstyle tactics. Commonly used proof strategies include those for discharging typechecking proof obligations, simplification and rewriting using decision procedures, and various forms of induction. We describe the basic building blocks of PVS proof strategies and provide a pragmatic guide for writing sophisticated strategies. 1
Hybrid PartialTotal Type Theory
, 1995
"... In this paper a hybrid type theory HTT is defined which combines the programming language notion of partial type with the logical notion of total type into a single theory. A new partial type constructor A is added to the type theory: objects in A may diverge, but if they converge, they must be memb ..."
Abstract

Cited by 5 (0 self)
 Add to MetaCart
In this paper a hybrid type theory HTT is defined which combines the programming language notion of partial type with the logical notion of total type into a single theory. A new partial type constructor A is added to the type theory: objects in A may diverge, but if they converge, they must be members of A. A fixed point typing rule is given to allow for typing of fixed points. The underlying theory is based on ideas from Feferman's Class Theory and Martin Lof's Intuitionistic Type Theory. The extraction paradigm of constructive type theory is extended to allow direct extraction of arbitrary fixed points. Important features of general programming logics such as LCF are preserved, including the typing of all partial functions, a partial ordering ! ¸ on computations, and a fixed point induction principle. The resulting theory is thus intended as a generalpurpose programming logic. Rules are presented and soundness of the theory established. Keywords: Constructive Type Theory, Logics...
A Classical SetTheoretic Model of Polymorphic Extensional Type Theory
, 1997
"... . We give a new semantic foundation for type theories in the lineage of MartinLof's "polymorphic extensional" type theory, and use it to give a model of the constructive type theory of the interactive theorem proving system Nuprl. These type theories are based on an operational semantics of an unty ..."
Abstract

Cited by 5 (1 self)
 Add to MetaCart
. We give a new semantic foundation for type theories in the lineage of MartinLof's "polymorphic extensional" type theory, and use it to give a model of the constructive type theory of the interactive theorem proving system Nuprl. These type theories are based on an operational semantics of an untyped programming language. We show how to integrate classical settheoretic objects, such as functionsasgraphs and equivalence classes, into this operational framework. The new semantics is dramatically simpler than the previous ones, and enables direct reasoning about classical mathematics. A practical consequence is that it justifies a useful embedding of the logic of the HOL theorem prover that gives Nuprl effective access to most of the large body of formalized mathematics that the HOL community has amassed over the years. 1 Introduction The socalled "polymorphic extensional" type theory of MartinLof (MartinLof, 1982) has two features that set it apart from other constructive type t...
ComputerAided Computing
 Mathematics of Program Construction '95
, 1995
"... Formal program design methods are most useful when supported with suitable mechanization. This need for mechanization has long been apparent, but there have been doubts whether verification technology could cope with the problems of scale and complexity. Though there is very little compelling eviden ..."
Abstract

Cited by 4 (0 self)
 Add to MetaCart
Formal program design methods are most useful when supported with suitable mechanization. This need for mechanization has long been apparent, but there have been doubts whether verification technology could cope with the problems of scale and complexity. Though there is very little compelling evidence either way at this point, several powerful mechanical verification systems are now available for experimentation. Using SRI's PVS as one representative example, we argue that the technology of mechanical verification is already quite effective. PVS derives its power from an integration of theorem proving with typechecking, decision procedures with interactive proof construction, and more recently, model checking with theorem proving. We discuss these individual aspects of PVS using examples, and motivate some of the challenges that lie ahead.