Results 1  10
of
18
Dependently Typed Functional Programs and their Proofs
, 1999
"... Research in dependent type theories [ML71a] has, in the past, concentrated on its use in the presentation of theorems and theoremproving. This thesis is concerned mainly with the exploitation of the computational aspects of type theory for programming, in a context where the properties of programs ..."
Abstract

Cited by 70 (13 self)
 Add to MetaCart
Research in dependent type theories [ML71a] has, in the past, concentrated on its use in the presentation of theorems and theoremproving. This thesis is concerned mainly with the exploitation of the computational aspects of type theory for programming, in a context where the properties of programs may readily be specified and established. In particular, it develops technology for programming with dependent inductive families of datatypes and proving those programs correct. It demonstrates the considerable advantage to be gained by indexing data structures with pertinent characteristic information whose soundness is ensured by typechecking, rather than human effort. Type theory traditionally presents safe and terminating computation on inductive datatypes by means of elimination rules which serve as induction principles and, via their associated reduction behaviour, recursion operators [Dyb91]. In the programming language arena, these appear somewhat cumbersome and give rise to unappealing code, complicated by the inevitable interaction between case analysis on dependent types and equational reasoning on their indices which must appear explicitly in the terms. Thierry Coquand’s proposal [Coq92] to equip type theory directly with the kind of
Automating the instantiation of existentially quantified variables
"... Abstract. We present an automatic approach for instantiating existentially quantified variables in inductive specifications proofs. Our approach uses firstorder metavariables in place of existentially quantified variables and combines logical proof search with rippling techniques. We avoid the non ..."
Abstract

Cited by 9 (6 self)
 Add to MetaCart
Abstract. We present an automatic approach for instantiating existentially quantified variables in inductive specifications proofs. Our approach uses firstorder metavariables in place of existentially quantified variables and combines logical proof search with rippling techniques. We avoid the nontermination problems which usually occur in the presence of existentially quantified variables. Moreover, we are able to synthesize conditional substitutions for the metavariables. We illustrate our approach by discussing the specification of the integer square root. 1
Predicate synthesis for correcting faulty conjectures: The proof planning paradigm
 Automated Software Engineering
, 2003
"... Departamento de ciencias computacionales ..."
Automating inductive Specification Proofs
, 1999
"... We present an automatic method which combines logical proof search and rippling heuristics to prove specifications. The key idea is to instantiate metavariables in the proof with a simultaneous match based on rippling/reverse rippling heuristic. Underlying our rippling strategy is the rippling dist ..."
Abstract

Cited by 5 (3 self)
 Add to MetaCart
We present an automatic method which combines logical proof search and rippling heuristics to prove specifications. The key idea is to instantiate metavariables in the proof with a simultaneous match based on rippling/reverse rippling heuristic. Underlying our rippling strategy is the rippling distance strategy which introduces a new powerful approach to rippling, as it avoids termination problems of other rippling strategies. Moreover, we are able to synthesize conditional substitutions for metavariables in the proof. The strength of our approach is illustrated by discussing the specification of the integer square root and automatically synthesizing the corresponding algorithm. The described procedure has been integrated as a tactic into the NuPRL system but it can be combined with other proof methods as well.
Proof Planning Methods as Schemas
 J. Symbolic Computation
, 1999
"... A major problem in automated theorem proving is search control. Many expanded proofs are generally built from a large number of relatively lowlevel inference steps, with the results that searching the space of possible proofs at this level is very expensive. Proof planning is a technique by which c ..."
Abstract

Cited by 4 (0 self)
 Add to MetaCart
A major problem in automated theorem proving is search control. Many expanded proofs are generally built from a large number of relatively lowlevel inference steps, with the results that searching the space of possible proofs at this level is very expensive. Proof planning is a technique by which common proof methods are encoded as schemas, which we call methods. Proofs built using methods tend to be short, because the methods encode relatively long sequences of inference steps, and to be understandable, because the user can recognise the mathematical techniques beeing applied. Proof critics exploit the highlevel nature of proof plans to patch the failed proof attempts. A mapping from proof planning methods and proof construction tactics provides a link between the proof planning metalevel and fully expansive (objectlevel) proofs. Extensive experiments with proof planning reveal that a knowledgebased approach to automating proof construction works, and has usefull properties.
Connectiondriven inductive theorem proving
 Studia Logica
"... Abstract. We present a method for integrating ripplingbased rewriting into matrixbased theorem proving as a means for automating inductive specification proofs. The selection of connections in an inductive matrix proof is guided by symmetries between induction hypothesis and induction conclusion. ..."
Abstract

Cited by 4 (2 self)
 Add to MetaCart
Abstract. We present a method for integrating ripplingbased rewriting into matrixbased theorem proving as a means for automating inductive specification proofs. The selection of connections in an inductive matrix proof is guided by symmetries between induction hypothesis and induction conclusion. Unification is extended by decision procedures and a rippling/reverserippling heuristic. Conditional substitutions are generated whenever a uniform substitution is impossible. We illustrate the integrated method by discussing several inductive proofs for the integer square root problem as well as the algorithms extracted from these proofs.
CaseAnalysis for Rippling and Inductive Proof
"... Abstract. Rippling is a heuristic used to guide rewriting and is typically used for inductive theorem proving. We introduce a method to support caseanalysis within rippling. Like earlier work, this allows goals containing ifstatements to be proved automatically. The new contribution is that our me ..."
Abstract

Cited by 4 (1 self)
 Add to MetaCart
Abstract. Rippling is a heuristic used to guide rewriting and is typically used for inductive theorem proving. We introduce a method to support caseanalysis within rippling. Like earlier work, this allows goals containing ifstatements to be proved automatically. The new contribution is that our method also supports caseanalysis on datatypes. By locating the caseanalysis as a step within rippling we also maintain the termination. The work has been implemented in IsaPlanner and used to extend the existing inductive proof method. We evaluate this extended prover on a large set of examples from Isabelle’s theory library and from the inductive theorem proving literature. We find that this leads to a significant improvement in the coverage of inductive theorem proving. The main limitations of the extended prover are identified, highlight the need for advances in the treatment of assumptions during rippling and when conjecturing lemmas. 1
Higher Order Function Synthesis Through Proof Planning
, 2001
"... . The close association between higher order functions (HOFs) and algorithmic skeletons is a promising source of automatic parallelisation of programs. An approach to synthesising HOFs from functional programs through proof planning is presented, and its realisation in Clam is discussed. 1. Introdu ..."
Abstract

Cited by 3 (0 self)
 Add to MetaCart
. The close association between higher order functions (HOFs) and algorithmic skeletons is a promising source of automatic parallelisation of programs. An approach to synthesising HOFs from functional programs through proof planning is presented, and its realisation in Clam is discussed. 1. Introduction 1.1. Higher Order Functions Pure functional languages, satisfying the ChurchRosser property of evaluation order independence, have long been proposed as a basis for parallel programming. Thus, Wegner[Weg71] observed in 1971: Note that [the ChurchRosser theorem] essentially states that lambda expressions can be evaluated by asynchronous multiprocesssing applied in arbitrary order to local subexpressions. page 185 Early work on functional parallelism focussed on reduction of Curry combinators [Tur79], lifted automatically from functional programs, but these proved of too low granularity for efficient parallel evaluation [Sto84]. Somewhat more success has obtained from parallel red...
A Unified View of Programming Schemas and Proof Methods
 Proceedings 9th International Workshop on Logic Program Synthesis and Transformation (LOPSTR’99), LNCS, Vol. 1817, Venezia, Italy, ISBN 3–540–67628–7
, 1999
"... this paper. References ..."
Matrixbased Inductive Theorem Proving
 TABLEAUX2000, LNAI 1847
, 2000
"... We present an approach to inductive theorem proving that integrates ripplingbased rewriting into matrixbased logical proof search. ..."
Abstract

Cited by 2 (2 self)
 Add to MetaCart
We present an approach to inductive theorem proving that integrates ripplingbased rewriting into matrixbased logical proof search.