17 research outputs found

    A Rewrite System for Proof Constructivization

    Get PDF
    International audienceProof constructivization is the problem of automatically extracting constructive proofs out of classical proofs. This process is required when classical theorem provers are integrated in intuitionistic proof assistants. We use the ability of rewrite systems to represent partial functions to implement heuristics for proof constructivization in Dedukti, a logical framework based on rewriting in which proofs are first-class objects which can be the subject of computation. We benchmark these heuristics on the proofs output by the automated theorem prover Zenon on the TPTP library of problems

    Analyzing Individual Proofs as the Basis of Interoperability between Proof Systems

    Get PDF
    We describe the first results of a project of analyzing in which theories formal proofs can be ex- pressed. We use this analysis as the basis of interoperability between proof systems.Comment: In Proceedings PxTP 2017, arXiv:1712.0089

    Mécanismes Orientés-Objets pour l'Interopérabilité entre Systèmes de Preuve

    Get PDF
    Dedukti is a Logical Framework resulting from the combination ofdependent typing and rewriting. It can be used to encode many logicalsystems using shallow embeddings preserving their notion of reduction.These translations of logical systems in a common format are anecessary first step for exchanging proofs between systems. Thisobjective of interoperability of proof systems is the main motivationof this thesis.To achieve it, we take inspiration from the world of programminglanguages and more specifically from object-oriented languages becausethey feature advanced mechanisms for encapsulation, modularity, anddefault definitions. For this reason we start by a shallowtranslation of an object calculus to Dedukti. The most interestingpoint in this translation is the treatment of subtyping.Unfortunately, it seems very hard to incorporate logic in this objectcalculus. To proceed, object-oriented mechanisms should be restrictedto static ones which seem enough for interoperability. Such acombination of static object-oriented mechanisms and logic is alreadypresent in the FoCaLiZe environment so we propose a shallow embeddingof FoCaLiZe in Dedukti. The main difficulties arise from theintegration of FoCaLiZe automatic theorem prover Zenon and from thetranslation of FoCaLiZe functional implementation language featuringtwo constructs which have no simple counterparts in Dedukti: localpattern matching and recursion.We then demonstrate how this embedding of FoCaLiZe to Dedukti can beused in practice for achieving interoperability of proof systemsthrough FoCaLiZe, Zenon, and Dedukti. In order to avoid strengtheningto much the theory in which the final proof is expressed, we useDedukti as a meta-language for eliminating unnecessary axioms.Dedukti est un cadre logique résultant de la combinaison du typagedépendant et de la réécriture. Il permet d'encoder de nombreuxsystèmes logiques au moyen de plongements superficiels qui préserventla notion de réduction.Ces traductions de systèmes logiques dans un format commun sont unepremière étape nécessaire à l'échange de preuves entre cessystèmes. Cet objectif d'interopérabilité des systèmes de preuve estla motivation principale de cette thèse.Pour y parvenir, nous nous inspirons du monde des langages deprogrammation et plus particulièrement des langages orientés-objetparce qu'ils mettent en œuvre des mécanismes avancés d'encapsulation,de modularité et de définitions par défaut. Pour cette raison, nouscommençons par une traduction superficielle d'un calcul orienté-objeten Dedukti. L'aspect le plus intéressant de cette traduction est letraitement du sous-typage.Malheureusement, ce calcul orienté-objet ne semble pas adapté àl'incorporation de traits logiques. Afin de continuer, nous devonsrestreindre les mécanismes orientés-objet à des mécanismes statiques,plus faciles à combiner avec la logique et apparemment suffisant pournotre objectif d'interopérabilité. Une telle combinaison de mécanismesorientés-objet et de logique est présente dans l'environnementFoCaLiZe donc nous proposons un encodage superficiel de FoCaLiZe dansDedukti. Les difficultés principales proviennent de l'intégration deZenon, le prouveur automatique de théorèmes sur lequel FoCaLiZerepose, et de la traduction du langage d'implantation fonctionnel deFoCaLiZe qui présente deux constructions qui n'ont pas decorrespondance simple en Dedukti : le filtrage de motif local et larécursivité.Nous démontrons finalement comment notre encodage de FoCaLiZe dansDedukti peut servir en pratique à l'interopérabilité entre dessystèmes de preuve à l'aide de FoCaLiZe, Zenon et Dedukti. Pour éviterde trop renforcer la théorie dans laquelle la preuve finale estobtenue, nous proposons d'utiliser Dedukti en tant que méta-langagepour éliminer des axiomes superflus

    Expressing Ecumenical Systems in the ??-Calculus Modulo Theory

    Get PDF
    Systems in which classical and intuitionistic logics coexist are called ecumenical. Such a system allows for interoperability and hybridization between classical and constructive propositions and proofs. We study Ecumenical STT, a theory expressed in the logical framework of the ??-calculus modulo theory. We prove soudness and conservativity of four subtheories of Ecumenical STT with respect to constructive and classical predicate logic and simple type theory. We also prove the weak normalization of well-typed terms and thus the consistency of Ecumenical STT

    Proof Pearl: a Formal Proof of Higman’s Lemma in ACL2

    Get PDF
    Higman’s lemma is an important result in infinitary combinatorics, which has been formalized in several theorem provers. In this paper we present a formalization and proof of Higman’s Lemma in the ACL2 theorem prover. Our formalization is based on a proof by Murthy and Russell, where the key termination argument is justified by the multiset relation induced by a well-founded relation. To our knowledge, this is the first mechanization of this proof.Ministerio de Ciencia e Innovación MTM2009-13842-C02-0

    Constructively formalizing automata theory

    Get PDF
    We present a constructive formalization of the Myhill-Nerode the-orem on the minimization of nite automata that follows the account in Hopcroft and Ullman's book Formal Languages and Their Relation to Automata. We chose to formalize this theorem because it illustrates many points critical to formalization of computational mathematics, especially the extraction of an important algorithm from a proof as a method of knowing that the algorithm is correct. It also gave us an opportunity to experiment with a constructive implementation of quotient sets. We carried out the formalization in Nuprl, an interactive theorem prover based on constructive type theory. Nuprl borrows an imple-mentation of the ML language from the LCF system of Milner, Gordon, and Wadsworth, and makes heavy use of the notion of tactic pioneered by Milner in LCF. We are interested in the pedagogical value of electronic formal mathematical texts and have put our formalization on the World Wide Web. Readers are invited to judge whether the formalization adds value in comparison to a careful informal account. Key Words and Phrases: automata, constructivity, congruence, equivalence relation, formal languages, foundational logic, LCF, logic, Martin-Lof semantics, Myhill-Nerode theorem, Nuprl, program extrac

    Constructive Decision via Redundancy-Free Proof-Search

    Get PDF
    International audienceWe give a constructive account of Kripke-Curry's method which was used to establish the decidability of Implicational Relevance Logic (R →). To sustain our approach, we mechanize this method in axiom-free Coq, abstracting away from the specific features of R → to keep only the essential ingredients of the technique. In particular we show how to replace Kripke/Dickson's lemma by a constructive form of Ramsey's theorem based on the notion of almost full relation. We also explain how to replace König's lemma with an inductive form of Brouwer's Fan theorem. We instantiate our abstract proof to get a constructive decision procedure for R → and discuss potential applications to other logical decidability problems

    From truth to computability I

    Get PDF
    The recently initiated approach called computability logic is a formal theory of interactive computation. See a comprehensive online source on the subject at http://www.cis.upenn.edu/~giorgi/cl.html . The present paper contains a soundness and completeness proof for the deductive system CL3 which axiomatizes the most basic first-order fragment of computability logic called the finite-depth, elementary-base fragment. Among the potential application areas for this result are the theory of interactive computation, constructive applied theories, knowledgebase systems, systems for resource-bound planning and action. This paper is self-contained as it reintroduces all relevant definitions as well as main motivations.Comment: To appear in Theoretical Computer Scienc

    Enhanced Realizability Interpretation for Program Extraction

    Get PDF
    This thesis presents Intuitionistic Fixed Point Logic (IFP), a schema for formal systems aimed to work with program extraction from proofs. IFP in its basic form allows proof construction based on natural deduction inference rules, extended by induction and coinduction. The corresponding system RIFP (IFP with realiz-ers) enables transforming logical proofs into programs utilizing the enhanced re-alizability interpretation. The theoretical research is put into practice in PRAWF1, a Haskell-based proof assistant for program extraction

    On the Constructive Content of Proofs

    Get PDF
    This thesis aims at exploring the scopes and limits of techniques for extracting programs from proofs. We focus on constructive theories of inductive definitions and classical systems allowing choice principles. Special emphasis is put on optimizations that allow for the extraction of realistic programs. Our main field of application is infinitary combinatorics. Higman's Lemma, having an elegant non-constructive proof due to Nash-Williams, constitutes an interesting case for the problem of discovering the constructive content behind a classical proof. We give two distinct solutions to this problem. First, we present a proof of Higman's Lemma for an arbitrary alphabet in a theory of inductive definitions. This proof may be considered as a constructive counterpart to Nash-Williams' minimal-bad-sequence proof. Secondly, using a refined AA-translation method, we directly transform the classical proof into a constructive one and extract a program. The crucial point in the latter is that we do not need to avoid the axiom of classical dependent choice but directly assign a realizer to its translation. A generalization of Higman's Lemma is Kruskal's Theorem. We present a constructive proof of Kruskal's Theorem that is completely formalized in a theory of inductive definitions. As a practical part, we show that these methods can be carried out in an interactive theorem prover. Both approaches to Higman's Lemma have been implemented in Minlog.Ziel der vorliegenden Arbeit ist es, die Reichweiten und Grenzen von Techniken zur Extraktion von Programmen aus Beweisen zu erforschen. Wir konzentrieren uns dabei auf konstruktive Theorien Induktiver Definitionen und klassische Systeme mit Auswahlprinzipien. Besonderes Gewicht liegt auf Optimierungen, die zur Extraktion von realisischen Programmen f"uhren. Unser Hauptanwendungsgebiet ist die unendliche Kombinatorik. Higmans Lemma, ein Satz mit einem eleganten klassischen, auf Nash-Williams zur"uckgehenden Beweis, ist ein interessantes Fallbeispiel f"ur die Suche nach dem konstruktiven Gehalt in einem klassischen Beweis. Wir zeigen zwei unterschiedliche L"osungen zu dieser Problemstellung auf. Zun"achst pr"asentieren wir einen induktiven Beweis von Higmans Lemma f"ur ein beliebiges Alphabet, der als konstruktives Pendant zum klassischen Beweis angesehen werden kann. Als zweiten Ansatz verwandeln wir mit Hilfe der verfeinerten AA-"Ubersetzungs-methode den klassischen Beweis in einen konstruktiven und extrahieren ein Programm. Der entscheidende Punkt ist hierbei, dass wir einen direkten Realisierer f"ur das "ubersetzte Auswahlaxiom verwenden. Die Verallgemeinerung von Higmans Lemma f"uhrt zu Kruskals Satz. Wir geben einen konstruktiven Beweis von Kruskals Theorem, der vollst"andig auf den Induktiven Definitionen basiert. Der praktische Teil der Arbeit befasst sich mit der Ausf"uhrbarkeit dieser Methoden und Beweise in dem Beweissystem Minlog
    corecore