12,421 research outputs found
Goal Translation for a Hammer for Coq (Extended Abstract)
Hammers are tools that provide general purpose automation for formal proof
assistants. Despite the gaining popularity of the more advanced versions of
type theory, there are no hammers for such systems. We present an extension of
the various hammer components to type theory: (i) a translation of a
significant part of the Coq logic into the format of automated proof systems;
(ii) a proof reconstruction mechanism based on a Ben-Yelles-type algorithm
combined with limited rewriting, congruence closure and a first-order
generalization of the left rules of Dyckhoff's system LJT.Comment: In Proceedings HaTT 2016, arXiv:1606.0542
Extending SMTCoq, a Certified Checker for SMT (Extended Abstract)
This extended abstract reports on current progress of SMTCoq, a communication
tool between the Coq proof assistant and external SAT and SMT solvers. Based on
a checker for generic first-order certificates implemented and proved correct
in Coq, SMTCoq offers facilities both to check external SAT and SMT answers and
to improve Coq's automation using such solvers, in a safe way. Currently
supporting the SAT solver zChaff, and the SMT solver veriT for the combination
of the theories of congruence closure and linear integer arithmetic, SMTCoq is
meant to be extendable with a reasonable amount of effort: we present work in
progress to support the SMT solver CVC4 and the theory of bit vectors.Comment: In Proceedings HaTT 2016, arXiv:1606.0542
Perspectives for proof unwinding by programming languages techniques
In this chapter, we propose some future directions of work, potentially
beneficial to Mathematics and its foundations, based on the recent import of
methodology from the theory of programming languages into proof theory. This
scientific essay, written for the audience of proof theorists as well as the
working mathematician, is not a survey of the field, but rather a personal view
of the author who hopes that it may inspire future and fellow researchers
Dynamic Logic of Common Knowledge in a Proof Assistant
Common Knowledge Logic is meant to describe situations of the real world
where a group of agents is involved. These agents share knowledge and make
strong statements on the knowledge of the other agents (the so called
\emph{common knowledge}). But as we know, the real world changes and overall
information on what is known about the world changes as well. The changes are
described by dynamic logic. To describe knowledge changes, dynamic logic should
be combined with logic of common knowledge. In this paper we describe
experiments which we have made about the integration in a unique framework of
common knowledge logic and dynamic logic in the proof assistant \Coq. This
results in a set of fully checked proofs for readable statements. We describe
the framework and how a proof can beComment: 15
Experience Implementing a Performant Category-Theory Library in Coq
We describe our experience implementing a broad category-theory library in
Coq. Category theory and computational performance are not usually mentioned in
the same breath, but we have needed substantial engineering effort to teach Coq
to cope with large categorical constructions without slowing proof script
processing unacceptably. In this paper, we share the lessons we have learned
about how to represent very abstract mathematical objects and arguments in Coq
and how future proof assistants might be designed to better support such
reasoning. One particular encoding trick to which we draw attention allows
category-theoretic arguments involving duality to be internalized in Coq's
logic with definitional equality. Ours may be the largest Coq development to
date that uses the relatively new Coq version developed by homotopy type
theorists, and we reflect on which new features were especially helpful.Comment: The final publication will be available at link.springer.com. This
version includes a full bibliography which does not fit in the Springer
version; other than the more complete references, this is the version
submitted as a final copy to ITP 201
Towards the Formalization of Fractional Calculus in Higher-Order Logic
Fractional calculus is a generalization of classical theories of integration
and differentiation to arbitrary order (i.e., real or complex numbers). In the
last two decades, this new mathematical modeling approach has been widely used
to analyze a wide class of physical systems in various fields of science and
engineering. In this paper, we describe an ongoing project which aims at
formalizing the basic theories of fractional calculus in the HOL Light theorem
prover. Mainly, we present the motivation and application of such formalization
efforts, a roadmap to achieve our goals, current status of the project and
future milestones.Comment: 9 page
Homotopy Type Theory in Lean
We discuss the homotopy type theory library in the Lean proof assistant. The
library is especially geared toward synthetic homotopy theory. Of particular
interest is the use of just a few primitive notions of higher inductive types,
namely quotients and truncations, and the use of cubical methods.Comment: 17 pages, accepted for ITP 201
- …