596 research outputs found
Cut-Simulation and Impredicativity
We investigate cut-elimination and cut-simulation in impredicative
(higher-order) logics. We illustrate that adding simple axioms such as Leibniz
equations to a calculus for an impredicative logic -- in our case a sequent
calculus for classical type theory -- is like adding cut. The phenomenon
equally applies to prominent axioms like Boolean- and functional
extensionality, induction, choice, and description. This calls for the
development of calculi where these principles are built-in instead of being
treated axiomatically.Comment: 21 page
Encoding TLA+ set theory into many-sorted first-order logic
We present an encoding of Zermelo-Fraenkel set theory into many-sorted
first-order logic, the input language of state-of-the-art SMT solvers. This
translation is the main component of a back-end prover based on SMT solvers in
the TLA+ Proof System
Analytic Tableaux for Simple Type Theory and its First-Order Fragment
We study simple type theory with primitive equality (STT) and its first-order
fragment EFO, which restricts equality and quantification to base types but
retains lambda abstraction and higher-order variables. As deductive system we
employ a cut-free tableau calculus. We consider completeness, compactness, and
existence of countable models. We prove these properties for STT with respect
to Henkin models and for EFO with respect to standard models. We also show that
the tableau system yields a decision procedure for three EFO fragments
New results on rewrite-based satisfiability procedures
Program analysis and verification require decision procedures to reason on
theories of data structures. Many problems can be reduced to the satisfiability
of sets of ground literals in theory T. If a sound and complete inference
system for first-order logic is guaranteed to terminate on T-satisfiability
problems, any theorem-proving strategy with that system and a fair search plan
is a T-satisfiability procedure. We prove termination of a rewrite-based
first-order engine on the theories of records, integer offsets, integer offsets
modulo and lists. We give a modularity theorem stating sufficient conditions
for termination on a combinations of theories, given termination on each. The
above theories, as well as others, satisfy these conditions. We introduce
several sets of benchmarks on these theories and their combinations, including
both parametric synthetic benchmarks to test scalability, and real-world
problems to test performances on huge sets of literals. We compare the
rewrite-based theorem prover E with the validity checkers CVC and CVC Lite.
Contrary to the folklore that a general-purpose prover cannot compete with
reasoners with built-in theories, the experiments are overall favorable to the
theorem prover, showing that not only the rewriting approach is elegant and
conceptually simple, but has important practical implications.Comment: To appear in the ACM Transactions on Computational Logic, 49 page
The Vampire and the FOOL
This paper presents new features recently implemented in the theorem prover
Vampire, namely support for first-order logic with a first class boolean sort
(FOOL) and polymorphic arrays. In addition to having a first class boolean
sort, FOOL also contains if-then-else and let-in expressions. We argue that
presented extensions facilitate reasoning-based program analysis, both by
increasing the expressivity of first-order reasoners and by gains in
efficiency
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
The Higher-Order Prover Leo-II.
Leo-II is an automated theorem prover for classical higher-order logic. The prover has pioneered cooperative higher-order-first-order proof automation, it has influenced the development of the TPTP THF infrastructure for higher-order logic, and it has been applied in a wide array of problems. Leo-II may also be called in proof assistants as an external aid tool to save user effort. For this it is crucial that Leo-II returns proof information in a standardised syntax, so that these proofs can eventually be transformed and verified within proof assistants. Recent progress in this direction is reported for the Isabelle/HOL system.The Leo-II project has been supported by the following grants: EPSRC grant EP/D070511/1 and DFG grants BE/2501 6-1, 8-1 and 9-1.This is the final version of the article. It first appeared from Springer via http://dx.doi.org/10.1007/s10817-015-9348-y
Extensional Higher-Order Paramodulation in Leo-III
Leo-III is an automated theorem prover for extensional type theory with
Henkin semantics and choice. Reasoning with primitive equality is enabled by
adapting paramodulation-based proof search to higher-order logic. The prover
may cooperate with multiple external specialist reasoning systems such as
first-order provers and SMT solvers. Leo-III is compatible with the TPTP/TSTP
framework for input formats, reporting results and proofs, and standardized
communication between reasoning systems, enabling e.g. proof reconstruction
from within proof assistants such as Isabelle/HOL. Leo-III supports reasoning
in polymorphic first-order and higher-order logic, in all normal quantified
modal logics, as well as in different deontic logics. Its development had
initiated the ongoing extension of the TPTP infrastructure to reasoning within
non-classical logics.Comment: 34 pages, 7 Figures, 1 Table; submitted articl
A Case Study on Logical Relations using Contextual Types
Proofs by logical relations play a key role to establish rich properties such
as normalization or contextual equivalence. They are also challenging to
mechanize. In this paper, we describe the completeness proof of algorithmic
equality for simply typed lambda-terms by Crary where we reason about logically
equivalent terms in the proof environment Beluga. There are three key aspects
we rely upon: 1) we encode lambda-terms together with their operational
semantics and algorithmic equality using higher-order abstract syntax 2) we
directly encode the corresponding logical equivalence of well-typed
lambda-terms using recursive types and higher-order functions 3) we exploit
Beluga's support for contexts and the equational theory of simultaneous
substitutions. This leads to a direct and compact mechanization, demonstrating
Beluga's strength at formalizing logical relations proofs.Comment: In Proceedings LFMTP 2015, arXiv:1507.0759
- …