17 research outputs found
A Rewrite System for Proof Constructivization
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
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
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
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
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
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
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
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
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
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 -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 -"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