8 research outputs found
A Theory of Explicit Substitutions with Safe and Full Composition
Many different systems with explicit substitutions have been proposed to
implement a large class of higher-order languages. Motivations and challenges
that guided the development of such calculi in functional frameworks are
surveyed in the first part of this paper. Then, very simple technology in named
variable-style notation is used to establish a theory of explicit substitutions
for the lambda-calculus which enjoys a whole set of useful properties such as
full composition, simulation of one-step beta-reduction, preservation of
beta-strong normalisation, strong normalisation of typed terms and confluence
on metaterms. Normalisation of related calculi is also discussed.Comment: 29 pages Special Issue: Selected Papers of the Conference
"International Colloquium on Automata, Languages and Programming 2008" edited
by Giuseppe Castagna and Igor Walukiewic
Delayed substitutions
This paper investigates an approach to substitution alternative to
the implicit treatment of the -calculus and the explicit
treatment of explicit substitution calculi. In this approach,
substitutions are delayed (but not executed) explicitly. We
implement this idea with two calculi, one where substitution is a
primitive construction of the calculus, the other where
substitutions is represented by a -redex. For both calculi,
confluence and (preservation of) strong normalisation are proved
(the latter fails for a related system due to Revesz, as we show).
Applications of delayed substitutions are of theoretical nature.
The strong normalisation result implies strong normalisation for
other calculi, like the computational lambda-calculus,
lambda-calculi with generalised applications, or calculi of
cut-elimination for sequent calculus. We give an investigation of
the computational interpretation of cut-elimination in terms of
generation, execution, and delaying of substitutions, paying
particular attention to how generalised applications improve such
interpretation
Reescritura de términos y sustituciones explícitas
La operación de sustitución constituye un engranaje básico en los fundamentos de la teoría de lenguajes de programación. Juega un rol central en el lambda cálculo (por ende, en lenguajes de programación funcional), en unificación de primer orden y de orden superior (por ende, en lenguajes de programación basados en el paradigma lógico), en modalidades de pasaje de parámetros (por ende, en lenguajes de programación imperativos), etc. Recientemente, investigadores en informática se han interesado en el pasaje de la noción usual de la sustitución, atómica, y de gruesa granularidad, hacia una noción más refinada, de más fina granularidad. La noción de sustitución es transportada del metalenguaje (nuestro lenguaje de discurso) al lenguaje objeto (nuestro lenguaje de estudio). Como consecuencia de ello se obtienen los llamados cálculos de sustituciones explícitas. Estos son de sumo interés a la hora de estudiar la interpretación operacional de los formalismos en cuestión y constituyen los objetos de interés de esta tesis. Se desarrollan los siguientes tres ejes de estudio: Primero, se consideran estrategias de reescritura perpetuas en lambda cálculos con sustituciones explícitas. Estas son estrategias de reescritura que preservan la posibilidad de reducciones infinitas. Se propone una caracterización inductiva del conjunto de términos que no poseen reducciones infinitas (los llamados fuertemente normalizantes). Un lambda cálculo polimórfico con sustituciones explícitas también es analizado, incluyendo propiedades tales como subject reduction y normalización fuerte. Segundo, colocamos el ς-cálculo de M. Abadi and L. Cardelli enriquecido con sustituciones explícitas bajo el microscopio. Este cálculo se encuentra en un nivel semejante de abstracción al lambda cálculo pero se basa en objetos en lugar de funciones. Propiedades tales como simulación del lambda cálculo, confluencia y preservación de la normalización fuerte (aquellos términos que son fuertemente normalizantes en ς también lo son en ς con sustituciones explícitas) son consideradas. Finalmente, dirigimos nuestra atención a la tarea de relacionar la reescritura de orden superior con aquella de primer orden. Fijamos una variante de los ERS (apodados SERSdb) de Z. Khasidashvili como nuestro formalismo de orden superior de partida y definimos un proceso de conversión que permite codificar cualquier SERSdb como un sistema de reescritura de primer orden. En este último, cada paso de reescritura se lleva a cabo módulo una teoría ecuacional determinada por un cálculo de sustituciones explícitas. La misma se formula de manera genérica a través de una presentación de cálculos de sustituciones explícitas basada en macros y axiomas sobre estas macros, parametrizando de esta manera al procedimiento de conversión sobre cualquier cálculo de sustituciones explícitas que obedece la presentación basada en macros. El procedimiento de conversión se encarga de codificar pattern matching de orden superior y sustitución en el entorno de reescritura de primer orden. Asimismo, propiedades que relacionan la noción de reescritura en el orden superior con aquella de primer orden son analizadas en detalle. Se identifica una clase de SERSdb para los cuales el sistema de primer orden resultante de su conversión no requiere una teoría ecuacional para implementar pattern matching de orden superior, bastando para ello matching sintáctico. También se argumenta que esta clase de sistemas de orden superior es apropiada para transferir resultados del entorno de reescritura de orden superior a aquella de primer orden. A modo de ejemplo no-trivial de ello, estudiamos la transferencia del teorema de standarización (fuerte).Substitution spans many areas in programming language theory. It plays a central role in the lambda calculus (hence functional programming), in first and higher-order unikation (hence logic programming), parameter passing methods (hence imperative programming), etc. Recently researchers became interested in shifting from the usual atomic, coarse grained view of substitution to a more refined, fine grained one. Substitution is promoted from the metalevel (our language of discourse) to the object-level (our language of study). This is interesting when studying the operational interpretation of the formalisms in question. Calculi of object-level or explicit substitution is the concern of this thesis. The following three study axes are developed. First we consider perpetual rewrite strategies in lambda calculi of explicit substitutions. These are rewrite strategies that preserve the possibility of inhite derivations. Also, we study how to characterize inductively the set of terms that do not possess infinite derivations (the strongly normalizing terms). Polymorphic lambda calculus with explicit substitutions shall receive our attention too, including properties such as subject reduction and strong normalization. Secondly, we put the ς-calculus of M.Abadi and L.Cardelli augmented with explicit substitutions under the microscope. This calculus is at the level of the lambda calculus but is based on objects instead of functions. Properties such as simulation of the lambda calculus, confluence and preservation of strong normalization (terms which are strongly normalizing in ς are also strongly normalizii in ς with explicit substitutions) are considered. Finally, we address the task of reducing higher-order rewriting to first-order rewriting. We fix a variant of Z-Khasidashvili's ERS (dubbed SERSdb) as our departing formalism and provide a conversion procedure to encode any ERS as a first-order rewrite system in which a rewrite step takes place modulo an equational theory determined by a calculus of explicit substitutions. The latter is achieved with the aid of a macro-based presentation of calculi of explicit substitutions, thus parametrizing the conversion procedure over any calculus of explicit substitutions in compliance with the aforementioned presentation. The conversion procedure is in charge of encoding higherorder pattern matching and substitution in the first-order framework. Properties relating the rewrite relation in the higher-order framework and that of the resulting first-order system are studied in detail. We then identify a class of SERSdb for which the resulting first-order system does not require the equational theory to implement higher-order pattern matching, thus contenting itself with syntactic matching. It is argued that this class of systems is appropriate for transferring results from the first-order framework to the higher-order one. As a non-trivial example we study the transfer of the (strong) standardization theorem.Fil:Bonelli, Eduardo. Universidad de Buenos Aires. Facultad de Ciencias Exactas y Naturales; Argentina
A Formalized Extension of the Substitution Lemma in Coq
The substitution lemma is a renowned theorem within the realm of
lambda-calculus theory and concerns the interactional behaviour of the
metasubstitution operation. In this work, we augment the lambda-calculus's
grammar with an uninterpreted explicit substitution operator, which allows the
use of our framework for different calculi with explicit substitutions. Our
primary contribution lies in verifying that, despite these modifications, the
substitution lemma continues to remain valid. This confirmation was achieved
using the Coq proof assistant. Our formalization methodology employs a nominal
approach, which provides a direct implementation of the alpha-equivalence
concept. The strategy involved in variable renaming within the proofs presents
a challenge, specially on ensuring an exploration of the implications of our
extension to the grammar of the lambda-calculus.Comment: In Proceedings FROM 2023, arXiv:2309.1295
Linear Logic and Strong Normalization
Strong normalization for linear logic requires elaborated rewriting techniques. In this paper we give a new presentation of MELL proof nets, without any commutative cut-elimination rule. We show how this feature induces a compact and simple proof of strong normalization, via reducibility candidates. It is the first proof of strong normalization for MELL which does not rely on any form of confluence, and so it smoothly scales up to full linear logic. Moreover, it is an axiomatic proof, as more generally it holds for every set of rewriting rules satisfying three very natural requirements with respect to substitution, commutation with promotion, full composition, and Kesner\u27s IE property. The insight indeed comes from the theory of explicit substitutions, and from looking at the exponentials as a substitution device
Metamathematics in Coq
Chapter 1: Automated Proof Construction in Type Theory using Resolution.
We describe techniques to integrate resolution logic in type
theory. Refutation proofs obtained by resolution are translated
into lambda-terms, using reflection and an encoding of
resolution proofs in minimal logic. Thereby we obtain a
verification procedure for resolution proofs, and, more
importantly, we add the power of resolution theorem provers to
interactive proof construction systems based on type theory. We
introduce a novel representation of clauses in minimal logic such
that the lambda-representation of resolution steps is
linear in the size of the premisses. A clausification algorithm,
equipped with a correctness proof, is encoded in Coq.
Chapter 2: Proof Reflection in Coq.
Natural deduction for first-order logic is formalised in the
proof assistant Coq, using de Bruijn indices for variable binding.
The main judgement is of the form G |- d [:] p, stating
that d is a proof term of formula p under
hypotheses G; it can be viewed as a typing relation by the
Curry-Howard isomorphism. This relation is proved sound with
respect to Coq's native logic and is amenable to the manipulation
of formulas and of derivations. As an illustration, I define a
reduction relation on proof terms with permutative conversions and
prove the property of subject reduction.
Chapter 3: Adbmal
To make the notion of scope in the lambda-calculus
explicit, we extend the syntax of the lambda-calculus with
an end-of-scope operator adbmal. The idea is that an
adbmal x ends the scope of the matching
lambda x above it (in the term tree). Accordingly,
beta-reduction is extended to the set of scoped
lambda-terms by performing minimal scope
extrusion before performing replication as usual. We show
confluence of the resulting scoped -reduction. Confluence of
beta-reduction for the ordinary lambda-calculus
is obtained as a corollary, by extruding scopes maximally
before forgetting them altogether. Only in this final forgetful
step, alpha-equivalence is needed. All our proofs have
been verified in Coq