411 research outputs found
Extending Nunchaku to Dependent Type Theory
Nunchaku is a new higher-order counterexample generator based on a sequence
of transformations from polymorphic higher-order logic to first-order logic.
Unlike its predecessor Nitpick for Isabelle, it is designed as a stand-alone
tool, with frontends for various proof assistants. In this short paper, we
present some ideas to extend Nunchaku with partial support for dependent types
and type classes, to make frontends for Coq and other systems based on
dependent type theory more useful.Comment: In Proceedings HaTT 2016, arXiv:1606.0542
Proof Reconstruction: Parsing Proofs
Automated theorem provers (ATP) and proof assistants are among the developed sub-areas on automated reasoning, despite their approaches being certainly opposite, many new developments combine both techniques allowing a sub-proof to be automated using an ATP from within a proof assistant. Acting as a bridge between proof assistants and ATP, these systems known as hammers tend to enhance the functionality of an existing proof assistant, adding ATP capabilities into the interactive logical reasoning process. Agda a well known dependently typed functional programming language that can also be use as a proof assistant lacks in some degree of a hammer-like tool, and hence our goal is to fill part of this gap with a tool that can translate from an ATP generated proof into idiomatic Agda code, and doing so provide a base for further development
Foundational Extensible Corecursion
This paper presents a formalized framework for defining corecursive functions
safely in a total setting, based on corecursion up-to and relational
parametricity. The end product is a general corecursor that allows corecursive
(and even recursive) calls under well-behaved operations, including
constructors. Corecursive functions that are well behaved can be registered as
such, thereby increasing the corecursor's expressiveness. The metatheory is
formalized in the Isabelle proof assistant and forms the core of a prototype
tool. The corecursor is derived from first principles, without requiring new
axioms or extensions of the logic
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
A Logic-Independent IDE
The author's MMT system provides a framework for defining and implementing
logical systems. By combining MMT with the jEdit text editor, we obtain a
logic-independent IDE. The IDE functionality includes advanced features such as
context-sensitive auto-completion, search, and change management.Comment: In Proceedings UITP 2014, arXiv:1410.785
Constructive Provability Logic
We present constructive provability logic, an intuitionstic modal logic that
validates the L\"ob rule of G\"odel and L\"ob's provability logic by permitting
logical reflection over provability. Two distinct variants of this logic, CPL
and CPL*, are presented in natural deduction and sequent calculus forms which
are then shown to be equivalent. In addition, we discuss the use of
constructive provability logic to justify stratified negation in logic
programming within an intuitionstic and structural proof theory.Comment: Extended version of IMLA 2011 submission of the same titl
A Formally Verified Checker for First-Order Proofs
The Verified TESC Verifier (VTV) is a formally verified checker for the new Theory-Extensible Sequent Calculus (TESC) proof format for first-order ATPs. VTV accepts a TPTP problem and a TESC proof as input, and uses the latter to verify the unsatisfiability of the former. VTV is written in Agda, and the soundness of its proof-checking kernel is verified in respect to a first-order semantics formalized in Agda. VTV shows robust performance in a comprehensive test using all eligible problems from the TPTP problem library, successfully verifying all but the largest 5 of 12296 proofs, with >97% of the proofs verified in less than 1 second
- …