Instantiation Theory: On the Foundations of Automated Deduction
Book file PDF easily for everyone and every device.
You can download and read online Instantiation Theory: On the Foundations of Automated Deduction file PDF Book only if you are registered here.
And also you can download or read online all Book PDF file that related with Instantiation Theory: On the Foundations of Automated Deduction book.
Happy reading Instantiation Theory: On the Foundations of Automated Deduction Bookeveryone.
Download file Free Book PDF Instantiation Theory: On the Foundations of Automated Deduction at Complete PDF Library.
This Book have some digital formats such us :paperbook, ebook, kindle, epub, fb2 and another formats.
Here is The CompletePDF Book Library.
It's free to register here to get Book file PDF Instantiation Theory: On the Foundations of Automated Deduction Pocket Guide.
This goal cannot be solved using standard Coq tactics, including the tactic omega. Z3 with preselected premises found a proof using the following lemmas from Arith. The proof may be reconstructed using hexhaustive 0 or hyelles 5 tactic invocations. This goal cannot be solved in reasonable time using either eauto with datatypes or firstorder with datatypes.
The hammer solves this goal using just one lemma: Lists. This goal cannot be solved using standard Coq tactics.
Eprover with preselected premises found a proof using two lemmas from Lists. The hammer is currently not capable of reasoning by induction, except in some very simple cases. Here is an example of a goal where induction is needed. This goal can be solved neither by standard Coq tactics nor by the hammer.
- Credit Risk Management: Pricing, Measurement, and Modeling.
- Blind Alley (Eve Duncan, Book 5).
- Kids and the Atari?
- Immanuel Kant: Key Concepts.
However, it suffices to issue the ltac command induction l and the hammer can solve the resulting two subgoals, none of which could be solved by standard Coq tactics. The subgoal for induction base is:. The subgoal for the induction step is:. In this section we briefly discuss the limitations of the current implementation of the CoqHammer tool.
The intended use of a hammer is to prove relatively simple goals using accessible lemmas. Currently, the hammer works best with lemmas from the Coq standard library. Testing with other libraries has been as yet very limited and the hammer tool may need some adjustments to achieve comparable success rates. In particular, when dependent types are heavily used in a development then the effectiveness of the hammer tool is limited. This is frequently done when dealing with data structures where dependent types are heavily exploited to capture the data structure invariants.
Currently, all such pattern matches are translated to a fresh constant about which nothing is assumed. Therefore, the ATPs will fail to find a proof, except for trivial tautologies. Therefore, type formers expecting types as arguments may sometimes be fed with propositions. For instance, one can use the pair type former as if it was a conjunction. Our translation heavily relies on the possibility of detecting whether a subterm is a proposition or not, in order to translate it to a FOL formula or a FOL term.
The currently followed approach to proposition detection is relatively simplistic. For example, the pair type former should be translated to four different definitions, one taking in input two propositions, etc. If successful, this would be a better approach. We leave it for future work to increase effectiveness of the hammer on a broader fragment of dependent type theory.
In this regard our hammer is similar to hammers for proof assistants based on classical higher-order logic, which are less successful when the goal or the lemmas make heavy use of higher-order features. Indeed, small changes in the statement of the goal or a change of hardware may change the behaviour of the hammer. However, once a proof has been found and successfully reconstructed the user should replace the hammer tactic with an appropriate reconstruction tactic shown by the hammer in the response window.
In comparison to the hammer, domain-specific decision procedures, e. On the other hand, the proof terms generated by the hammer tactic are typically smaller and contain fewer dependencies which are more human-readable. An advantage of Coq proof-search tactics like auto, eauto or firstorder is that they can be configured by the user by means of hint databases. However, they are in general much weaker than the hammer. The idea of a hammer is to be a strong general-purpose tactic not requiring much configuration by the user.
We have developed a first whole hammer system for intuitionistic type theory. This involved proposing an approximation of the Calculus of Inductive Constructions, adapting premise selection to this foundation, developing a translation mechanism to untyped-first order logic, and proposing reconstruction mechanisms for the proofs found by the ATPs. We have implemented the hammer as a plugin for the Coq proof assistant and evaluated it on all the proofs in its standard library. The source code of the plugin for Coq versions 8. The hammer is able to re-prove completely automatically This success rate is already comparable to that offered by the first generations of hammer systems for HOL and Mizar and can already offer a huge saving of human work.
To our knowledge this is the first translation which is usable by hammers. Strictly speaking, our translation is neither sound nor complete. There are many ways how the proposed work can be extended.
First, the reconstruction mechanism currently is able to re-prove only The premise selection algorithms are not as precise as those involving machine learning algorithms tailored for particular logics. The core of the hammer—the translation to FOL—could be improved to make use of more knowledge available in the prover in order to offer a higher success rate. Finally, the dependencies extracted from the Coq proof terms do miss information used implicitly by the kernel, and are therefore not as precise as those offered in HOL-based systems.
In our work we have focused on the Coq standard library.
Evaluations on a proof assistant standard library were common in many hammer comparisons, however this is rarely the level at which users are actually working, and looking at more advanced Coq libraries could give interesting insights for all components of a hammer.
Since we focused on the standard library during development, it is likely that the effectiveness of the hammer is lower on libraries not similar to the standard library. On a few manually evaluated examples, the success rate is currently quite low. It remains to be seen, whether a hammer can provide useful automation also for such developments, and how the currently provided translation could be optimized, to account for the more common use of dependent types.
Lastly, we would like to extend the work to other systems based on variants of CIC and other interesting foundations, including Matita, Agda, and Idris. We wish to thank Thibault Gauthier for the first version of the Coq exported data, as as well as Claudio Sacerdoti-Coen for improvements to the exported data and fruitful discussions on Coq proof reconstruction.
Cezary Kaliszyk, Email: ta. National Center for Biotechnology Information , U. Journal of Automated Reasoning. J Autom Reason. Published online Feb Author information Article notes Copyright and License information Disclaimer. University of Innsbruck, Innsbruck, Austria. Corresponding author. Received Mar 30; Accepted Feb Abstract Hammers provide most powerful general purpose automation for proof assistants based on HOL and set theory today.
Keywords: Hammer, Coq, Calculus of inductive constructions, Proof automation. Open in a separate window. Existing Hammers Hammers are proof assistant tools that employ external automated theorem provers ATPs in order to automatically find proofs of user given conjectures. A constant. A variable.
An application. Premise Selection The first component of a hammer preselects a subset of the accessible facts most likely to be useful in proving the user given goal. Features and Labels A simple possible characterization of statements in a proof assistant library is to use the sets of symbols that appear in these statements. Sparse Naive Bayes The sparse naive Bayes classifier estimates the relevance of a fact a for a goal g by the probability P a is used in the proof of g. Translation In this section we describe a translation of Coq goals through CIC 0 to untyped first-order logic with equality.
Definitions are exported as CIC 0 definitions. Axioms are exported as CIC 0 typing declarations. Optimisations We perform the following optimisations on the generated FOL problems, in the given order. Properties of the Translation In this section we briefly comment on the theoretical aspects of the translation.
Note that e. Proof Reconstruction In this section we will discuss a number of existing Coq internal automation mechanisms that could be useful for proof reconstruction and finally introduce our combined proof reconstruction tactic. Integrated Hammer and Evaluation In this section we present the technique used to select the combination of strategies included in the integrated hammer and present an evaluation of the components as well as the final offered strategy.
Table 1 Success rates of the strategies on the training set in the greedy sequence order. Bayes 32 Hrecon Bayes Hrecon Bayes 16 Hrecon Table 2 Prover results on the dependencies. Table 3 The success rate of of the combination of strategies on the validation set. Case Studies The intended use of a hammer is to prove relatively simple goals using available lemmas.
Limitations In this section we briefly discuss the limitations of the current implementation of the CoqHammer tool. Conclusions and Future Work We have developed a first whole hammer system for intuitionistic type theory. References 1. Alemi, A. In: Lee, D. Connecting a logical framework to a first-order logic prover.
- Lord of Forever.
- The Biology of Oligodendrocytes.
- Junkers Ju 87 Stukageschwader 1937-41?
- Controlled Natural Language: 4th International Workshop, CNL 2014, Galway, Ireland, August 20-22, 2014. Proceedings?
- Hammer for Coq: Automation for Dependent Type Theory!
In: Gramlich B, editor. New York: Springer; In: Jouannaud J, Shao Z, editors. Premise selection for mathematics by corpus analysis and kernel methods. Matita tutorial. Aspinall, D. In: Graf, S. Springer, New York Asperti A, Tassi E. Higher order proof reconstruction from paramodulation-based refutations: the unit equality case. Asperti, A. Proceedings, pp. Blanchette, J. Bancerek, G. Broda S, Damas L. On long normal inhabitants of a type. A brief overview of Agda—A functional language with dependent types.
Bertot Y. A short presentation of Coq. Automated proof construction in type theory using resolution. Hammering towards QED. Brady E. Idris, a general-purpose dependently typed programming language: design and implementation. Fast LCF-style proof reconstruction for Z3. In: Kaufmann M, Paulson L, editors.
Ben-Yelles, C. Coquand T, Huet GP. The calculus of constructions. Chlipala A. Cambridge: MIT Press; In: Blanchette, J. Coq Development Team: The Coq proof assistant reference manual Version 8. Corbineau P. First-order reasoning in the calculus of inductive constructions. Z3: An efficient SMT solver. In: Felty, A.
In: Olivetti, N. Dowek G. A complete proof synthesis method for the cube of type systems. Dyckhoff R. Contraction-free sequent calculi for intuitionistic logic. In: Bonacina, M. In: Lutz, C. In: Felleisen, M.
A machine-checked proof of the odd order theorem. Gonthier G, Mahboubi A. An introduction to small scale reflection in Coq. Gonthier, G. In: Kapur, D. Gransden, T. Harrison J. HOL light: an overview. The Weka data mining software: an update. Hindley, J. Cambridge University Press, Cambridge Hurd, J.
In: Archer, M. History of interactive theorem proving. In: Siekmann J, editor. Hoder, K. Joosten, S. In: Verbeek, F. Jones KS. A statistical interpretation of term specificity and its application in retrieval. Komendantskaya, E. Heras, J. In: Kaliszyk, C. Kaliszyk, C. Mamane, L. Urban, J. In: Kutsia, T. EasyChair Kaliszyk C, Urban J.
Learning-assisted automated reasoning with Flyspeck. Learning-assisted theorem proving with millions of lemmas. MizAR 40 for Mizar In: Yang, Q. In: Sharygina, N. In: Gramlich, B. Laurent, J. Internship Report. Letouzey, P. Certified functional programming : Program extraction within Coq proof assistant. Meng J, Paulson LC. Translating higher-order clauses to first-order clauses. Lightweight relevance filtering for machine-generated resolution problems.
Paulson, L. In: 8th IWIL In: Schneider, K.
Schulz, S. In: McMillan, K. Schmitt, S. Slind K, Norrish M. A brief overview of HOL4. Sutcliffe G. The TPTP world-infrastructure for automated reasoning. In: Clarke E, Voronkov A, editors. Tammet T, Smith JM. Optimized encodings of fragments of type theory in first-order logic. Urban J.
MPTP—motivation, implementation. First Exp. Urzyczyn P. Intuitionistic games: determinacy, completeness, and normalization. In: Autexier, S. Wiedijk, F. The Isabelle framework. Zielenkiewicz, M.
Instantiation Theory: On the Foundations of Automated Deduction - James G. Williams - Google книги
Instantiation Theory presents a new, general unification algorithm that is of immediate use in building theorem provers and logic programming systems. Instantiation theory is the study of instantiation in an abstract context that is applicable to most commonly studied logical formalisms. The volume begins with a survey of general approaches to the study of instantiation, as found in tree systems, order-sorted algebras, algebraic theories, composita, and instantiation systems.
A classification of instantiation systems is given, based on properties of substitutions, degree of type strictness, and well-foundedness of terms. Equational theories and the use of typed variables are studied in terms of quotient homomorphisms and embeddings, respectively. Every instantiation system is a quotient system of a subsystem of first-order term instantiation.
The general unification algorithm is developed as an application of the basic theory. Its soundness is rigorously proved, and its completeness and efficiency are verfied for certain classes of instantiation systems. Appropriate applications of the algorithm include unification of first-order terms, order-sorted terms, and first-order formulas modulo alpha-conversion, as well as equational unification using simple congruences.