97 research outputs found
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
Extending the Extensional Lambda Calculus with Surjective Pairing is Conservative
We answer Klop and de Vrijer's question whether adding surjective-pairing
axioms to the extensional lambda calculus yields a conservative extension. The
answer is positive. As a byproduct we obtain a "syntactic" proof that the
extensional lambda calculus with surjective pairing is consistent.Comment: To appear in Logical Methods in Computer Scienc
Explicit Substitutions for Contextual Type Theory
In this paper, we present an explicit substitution calculus which
distinguishes between ordinary bound variables and meta-variables. Its typing
discipline is derived from contextual modal type theory. We first present a
dependently typed lambda calculus with explicit substitutions for ordinary
variables and explicit meta-substitutions for meta-variables. We then present a
weak head normalization procedure which performs both substitutions lazily and
in a single pass thereby combining substitution walks for the two different
classes of variables. Finally, we describe a bidirectional type checking
algorithm which uses weak head normalization and prove soundness.Comment: In Proceedings LFMTP 2010, arXiv:1009.218
Semi-Automation of Meta-Theoretic Proofs in Beluga
We present a sound and complete focusing calculus for the core of the logic
behind the proof assistant Beluga as well as an overview of its implementation
as a tactic in Beluga's interactive proof environment Harpoon. The focusing
calculus is designed to construct uniform proofs over contextual LF and its
meta-logic in Beluga: a dependently-typed first-order logic with recursive
definitions. The implemented tactic is intended to complete straightforward
sub-cases in proofs allowing users to focus only on the interesting aspects of
their proofs, leaving tedious simple cases to Beluga's theorem prover. We
demonstrate the effectiveness of our work by using the tactic to simplify
proving weak-head normalization for the simply-typed lambda-calculus.Comment: In Proceedings LFMTP 2023, arXiv:2311.0991
A Lambda Term Representation Inspired by Linear Ordered Logic
We introduce a new nameless representation of lambda terms inspired by
ordered logic. At a lambda abstraction, number and relative position of all
occurrences of the bound variable are stored, and application carries the
additional information where to cut the variable context into function and
argument part. This way, complete information about free variable occurrence is
available at each subterm without requiring a traversal, and environments can
be kept exact such that they only assign values to variables that actually
occur in the associated term. Our approach avoids space leaks in interpreters
that build function closures.
In this article, we prove correctness of the new representation and present
an experimental evaluation of its performance in a proof checker for the
Edinburgh Logical Framework.
Keywords: representation of binders, explicit substitutions, ordered
contexts, space leaks, Logical Framework.Comment: In Proceedings LFMTP 2011, arXiv:1110.668
Translating HOL to Dedukti
Dedukti is a logical framework based on the lambda-Pi-calculus modulo
rewriting, which extends the lambda-Pi-calculus with rewrite rules. In this
paper, we show how to translate the proofs of a family of HOL proof assistants
to Dedukti. The translation preserves binding, typing, and reduction. We
implemented this translation in an automated tool and used it to successfully
translate the OpenTheory standard library.Comment: In Proceedings PxTP 2015, arXiv:1507.0837
LeoPARD --- A Generic Platform for the Implementation of Higher-Order Reasoners
LeoPARD supports the implementation of knowledge representation and reasoning
tools for higher-order logic(s). It combines a sophisticated data structure
layer (polymorphically typed {\lambda}-calculus with nameless spine notation,
explicit substitutions, and perfect term sharing) with an ambitious multi-agent
blackboard architecture (supporting prover parallelism at the term, clause, and
search level). Further features of LeoPARD include a parser for all TPTP
dialects, a command line interpreter, and generic means for the integration of
external reasoners.Comment: 6 pages, to appear in the proceedings of CICM'2015 conferenc
- …