Results 1  10
of
10
Termination of Nested and Mutually Recursive Algorithms
, 1996
"... This paper deals with automated termination analysis for functional programs. Previously developed methods for automated termination proofs of functional programs often fail for algorithms with nested recursion and they cannot handle algorithms with mutual recursion. We show that termination proofs ..."
Abstract

Cited by 39 (9 self)
 Add to MetaCart
This paper deals with automated termination analysis for functional programs. Previously developed methods for automated termination proofs of functional programs often fail for algorithms with nested recursion and they cannot handle algorithms with mutual recursion. We show that termination proofs for nested and mutually recursive algorithms can be performed without having to prove the correctness of the algorithms simultaneously. Using this result, nested and mutually recursive algorithms do no longer constitute a special problem and the existing methods for automated termination analysis can be extended to nested and mutual recursion in a straightforward way. We give some examples of algorithms whose termination can now be proved automatically (including wellknown challenge problems such as McCarthy's f_91 function).
Constructing Recursion Operators in Intuitionistic Type Theory
 Journal of Symbolic Computation
, 1984
"... MartinLöf's Intuitionistic Theory of Types is becoming popular for formal reasoning about computer programs. To handle recursion schemes other than primitive recursion, a theory of wellfounded relations is presented. Using primitive recursion over higher types, induction and recursion are formally ..."
Abstract

Cited by 22 (5 self)
 Add to MetaCart
MartinLöf's Intuitionistic Theory of Types is becoming popular for formal reasoning about computer programs. To handle recursion schemes other than primitive recursion, a theory of wellfounded relations is presented. Using primitive recursion over higher types, induction and recursion are formally derived for a large class of wellfounded relations. Included are < on natural numbers, and relations formed by inverse images, addition, multiplication, and exponentiation of other relations. The constructions are given in full detail to allow their use in theorem provers for Type Theory, such as Nuprl. The theory is compared with work in the field of ordinal recursion over higher types.
Representing Inductively Defined Sets by Wellorderings in MartinLöf's Type Theory
, 1996
"... We prove that every strictly positive endofunctor on the category of sets generated by MartinLof's extensional type theory has an initial algebra. This representation of inductively defined sets uses essentially the wellorderings introduced by MartinLof in "Constructive Mathematics and Computer Pr ..."
Abstract

Cited by 15 (0 self)
 Add to MetaCart
We prove that every strictly positive endofunctor on the category of sets generated by MartinLof's extensional type theory has an initial algebra. This representation of inductively defined sets uses essentially the wellorderings introduced by MartinLof in "Constructive Mathematics and Computer Programming". 1 Background MartinLof [10] introduced a general set former for wellorderings in intuitionistic type theory. It has formation rule Aset (x : A) B(x)set W x:A B(x)set introduction rule a : A (x : B(a)) b(x) : W x:A B(x) sup(a; b) : W x:A B(x) : elimination rule c : W x:A B(x) (x : A; y : B(x) !W x:A B(x); z : Q t:B(x) C(y(t))) d(x; y; z) : C(sup(a; b)) T (c; d) : C(c) and equality rule a : A (x : B(a)) b(x) : W x:A B(x) (x : A; y : B(x) !W x:A B(x); z : Q t:B(x) C(y(t))) d(x; y; z) : C(sup(a; b)) T (sup(a; b); d) = d(a; b; t:T (b(t); d) : C(c) The elimination rule can be viewed either as a rule of transfinite induction or as a rule of definition by transfinite re...
Automated Termination Proofs with Measure Functions
 In Proc. 19th Annual German Conf. on AI, LNAI 981
, 1995
"... . This paper deals with the automation of termination proofs for recursively defined algorithms (i.e. algorithms in a pure functional language). Previously developed methods for their termination proofs either had a low degree of automation or they were restricted to one single fixed measure functio ..."
Abstract

Cited by 10 (6 self)
 Add to MetaCart
. This paper deals with the automation of termination proofs for recursively defined algorithms (i.e. algorithms in a pure functional language). Previously developed methods for their termination proofs either had a low degree of automation or they were restricted to one single fixed measure function to compare data objects. To overcome these drawbacks we introduce a calculus for automated termination proofs which is able to handle arbitrary measure functions based on polynomial norms. 1 Introduction Termination of algorithms is a central problem in software development. For an automation of program verification, termination proofs have to be performed mechanically, i.e. without human support. Of course, as the halting problem is undecidable, there is no procedure to prove or disprove termination of all algorithms. In this paper we focus on recursively defined algorithms, i.e. algorithms in a pure (eager) functional language without iterative loops. An algorithm f(x) terminates, if ...
Classical Propositional Decidability via Nuprl Proof Extraction
 THEOREM PROVING IN HIGER ORDER LOGICS, VOLUME 1479 OF LECTURE NOTES IN COMPUTER SCIENCE
, 1998
"... This paper highlights a methodology of Nuprl proof that results in efficient programs that are more readable than those produced by other established methods for extracting programs from proofs. We describe a formal constructive proof of the decidability of a sequent calculus for classical pro ..."
Abstract

Cited by 8 (3 self)
 Add to MetaCart
This paper highlights a methodology of Nuprl proof that results in efficient programs that are more readable than those produced by other established methods for extracting programs from proofs. We describe a formal constructive proof of the decidability of a sequent calculus for classical propositional logic. The proof is implemented in the Nuprl system and the resulting proof object yields a "correctbyconstruction" program for deciding propositional sequents. If the sequent is valid, the program reports that fact; otherwise, the program returns a counterexample in the form of a falsifying assignment. We employ Kleene's strong threevalued logic to give more informativecounterexamples, it is also shown how this semantics agrees with the standard twovalued presentation.
A Practical Extension Mechanism for Decision Procedures
 J. of Universal Computer Science
, 2000
"... this paper we go a step further and propose an extension mechanism which allows for the `onthey' generation of lemmas. This is an important improvement sinceif suitably coupled with a lemma speculation facilityit relieves the user from the burden of providing lemmas in many situations thereby re ..."
Abstract

Cited by 6 (2 self)
 Add to MetaCart
this paper we go a step further and propose an extension mechanism which allows for the `onthey' generation of lemmas. This is an important improvement sinceif suitably coupled with a lemma speculation facilityit relieves the user from the burden of providing lemmas in many situations thereby resulting in increased automation. Furthermore, in order to show its practical usability, we illustrate how our schema can lift a decision procedure for the quantierfree fragment of Presburger Arithmetic to tackle nonlinear problems of signicant diculty, based on anization techniques [6].
Inductive invariants for nested recursion
 Theorem Proving in Higher Order Logics (TPHOLS'03), volume 2758 of LNCS
, 2003
"... Abstract. We show that certain inputoutput relations, termed inductive invariants are of central importance for termination proofs of algorithms defined by nested recursion. Inductive invariants can be used to enhance recursive function definition packages in higherorder logic mechanizations. We d ..."
Abstract

Cited by 4 (2 self)
 Add to MetaCart
Abstract. We show that certain inputoutput relations, termed inductive invariants are of central importance for termination proofs of algorithms defined by nested recursion. Inductive invariants can be used to enhance recursive function definition packages in higherorder logic mechanizations. We demonstrate the usefulness of inductive invariants on a large example of the BDD algorithm Apply. Finally, we introduce a related concept of inductive fixpoints with the property that for every functional in higherorder logic there exists a largest partial function that is such a fixpoint. 1
Decidability Extracted: Synthesizing ``CorrectbyConstruction'' Decision Procedures from Constructive Proofs
, 1998
"... The topic of this thesis is the extraction of efficient and readable programs from formal constructive proofs of decidability. The proof methods employed to generate the efficient code are new and result in clean and readable Nuprl extracts for two nontrivial programs. They are based on the use of ..."
Abstract

Cited by 3 (0 self)
 Add to MetaCart
The topic of this thesis is the extraction of efficient and readable programs from formal constructive proofs of decidability. The proof methods employed to generate the efficient code are new and result in clean and readable Nuprl extracts for two nontrivial programs. They are based on the use of Nuprl's set type and techniques for extracting efficient programs from induction principles. The constructive formal theories required to express the decidability theorems are of independent interest. They formally circumscribe the mathematical knowledge needed to understand the derived algorithms. The formal theories express concepts that are taught at the senior college level. The decidability proofs themselves, depending on this material, are of interest and are presented in some detail. The proof of decidability of classical propositional logic is relative to a semantics based on Kleene's strong threevalued logic. The constructive proof of intuitionistic decidability presented here is the first machine formalization of this proof. The exposition reveals aspects of the Nuprl tactic collection relevant to the creation of readable proofs; clear extracts and efficient code are illustrated in the discussion of the proofs.
Extracting Propositional Decidability: A proof of propositional decidability in constructive type theory and its extracted program.
, 1997
"... This paper describes a formal constructive proof of the decidability of a sequent calculus presentation of classical propositional logic. The Nuprl theories and proofs reported on here are part of a larger program to safely incorporate formally justified decision procedures into theorem provers. ..."
Abstract

Cited by 1 (1 self)
 Add to MetaCart
This paper describes a formal constructive proof of the decidability of a sequent calculus presentation of classical propositional logic. The Nuprl theories and proofs reported on here are part of a larger program to safely incorporate formally justified decision procedures into theorem provers. The proof is implemented in the Nuprl system and the resulting proof object yields a "correctbyconstruction" program for deciding propositional sequents. In the case the sequent is valid, the program reports that fact; in the case the sequent is falsifiable, the program returns a falsifying assignment. Also, the semantics of the propositional sequents is formulated here in Kleene's strong threevalued logic which both: agrees with the standard two valued semantics; and gives finer information in case the proposition is falsifiable. Contents 1 Introduction 2 1.1 Related Work : : : : : : : : : : : : : : : : : : : : : : : : : : : 3 1.2 Overview of the Approach : : : : : : : : : : : :...
Intuitionisitic Tableau Extracted
 In Proceedings of International Conference on Automated Reasoning with Analytic Tableaux and Related Methods (TABLEAUX’99), volume 1617 of LNAI
, 1999
"... . This paper presents a formalization of a sequent presentation of intuitionisitic propositional logic and proof of decidability.The proof is implemented in the Nuprl system and the resulting proof object yields a "correctbyconstruction" program for deciding intuitionisitc propositional sequents. ..."
Abstract
 Add to MetaCart
. This paper presents a formalization of a sequent presentation of intuitionisitic propositional logic and proof of decidability.The proof is implemented in the Nuprl system and the resulting proof object yields a "correctbyconstruction" program for deciding intuitionisitc propositional sequents. The extracted program turns out to be an implementation of the tableau algorithm. If the argument to the resulting decision procedure is a valid sequent, a formal proof of that fact is returned, otherwise a counterexample in the form of a Kripke Countermodel is returned. The formalization roughly follows Aitken, Constable and Underwood's presentation in [1] but a number of adjustments and corrections have been made to ensure the extracted program is clean( no noncomputational junk) and efficient. 1