Results 1 
3 of
3
Applications of inductive definitions and choice principles to program synthesis
"... Abstract. We describe two methods of extracting constructive content from classical proofs, focusing on theorems involving infinite sequences and nonconstructive choice principles. The first method removes any reference to infinite sequences and transforms the theorem into a system of inductive defi ..."
Abstract

Cited by 2 (1 self)
 Add to MetaCart
(Show Context)
Abstract. We describe two methods of extracting constructive content from classical proofs, focusing on theorems involving infinite sequences and nonconstructive choice principles. The first method removes any reference to infinite sequences and transforms the theorem into a system of inductive definitions, the other applies a combination of Gödel’s negativeand Friedman’s Atranslation. Both approaches are explained by means of a case study on Higman’s Lemma and its wellknown classical proof due to NashWilliams. We also discuss some prooftheoretic optimizations that were crucial for the formalization and implementation of this work in the interactive proof system Minlog. 1
Stop when you are AlmostFull Adventures in constructive termination
"... Disjunctive wellfoundedness (used in Terminator), sizechange termination, and wellquasiorders (used in supercompilation and termrewrite systems) are examples of techniques that have been successfully applied to automatic proofs of program termination and online termination testing, respectively ..."
Abstract

Cited by 2 (0 self)
 Add to MetaCart
(Show Context)
Disjunctive wellfoundedness (used in Terminator), sizechange termination, and wellquasiorders (used in supercompilation and termrewrite systems) are examples of techniques that have been successfully applied to automatic proofs of program termination and online termination testing, respectively. Although these works originate in different communities, there is an intimate connection between them – they rely on closely related principles and both employ similar arguments from Ramsey theory. At the same time there is a notable absence of these techniques in programming systems based on constructive type theory. In this paper we’d like to highlight the aforementioned connection and make the core ideas widely accessible to theoreticians and Coq programmers, by offering a Coq development which culminates in some novel tools for performing induction. The benefit is nice composability properties of termination arguments at the cost of intuitive and lightweight user obligations. Inevitably, we have to present some Ramseylike arguments: Though similar proofs are typically classical, we offer an entirely constructive development standing on the shoulders of Veldman and Bezem, and Richman and Stolzenberg. 1.
Proof Pearl: A Formal Proof of Higman’s Lemma in ACL2 ⋆
"... Abstract. In this paper we present a formalization and proof of Higman’s Lemma in ACL2. We formalize the constructive proof described in [10] where the result is proved using a termination argument justified by the multiset extension of a wellfounded relation. To our knowledge, this is the first me ..."
Abstract

Cited by 2 (0 self)
 Add to MetaCart
(Show Context)
Abstract. In this paper we present a formalization and proof of Higman’s Lemma in ACL2. We formalize the constructive proof described in [10] where the result is proved using a termination argument justified by the multiset extension of a wellfounded relation. To our knowledge, this is the first mechanization of this proof. 1