25 research outputs found
Syntactically and semantically regular languages of lambda-terms coincide through logical relations
A fundamental theme in automata theory is regular languages of words and
trees, and their many equivalent definitions. Salvati has proposed a
generalization to regular languages of simply typed -terms, defined
using denotational semantics in finite sets.
We provide here some evidence for its robustness. First, we give an
equivalent syntactic characterization that naturally extends the seminal work
of Hillebrand and Kanellakis connecting regular languages of words and
syntactic -definability. Second, we show that any finitary extensional
model of the simply typed -calculus, when used in Salvati's
definition, recognizes exactly the same class of languages of -terms
as the category of finite sets does.
The proofs of these two results rely on logical relations and can be seen as
instances of a more general construction of a categorical nature, inspired by
previous categorical accounts of logical relations using the gluing
construction.Comment: The proofs on "finitely pointable" CCCs in versions 1 and 2 were
wrong; we now make slightly weaker claims on well-pointed locally finite
CCCs. New in this version: added reference [3] and official DOI (proceedings
of CSL 2024
Proof nets and the call-by-value λ-calculus
International audienceThis paper gives a detailed account of the relationship between (a variant of) the call-by-value lambda calculus and linear logic proof nets. The presentation is carefully tuned in order to realize an isomorphism between the two systems: every single rewriting step on the calculus maps to a single step on proof nets, and viceversa. In this way, we obtain an algebraic reformulation of proof nets. Moreover, we provide a simple correctness criterion for our proof nets, which employ boxes in an unusual way, and identify a subcalculus that is shown to be as expressive as the full calculus
An Interpretation of CCS into Ludics
Abstract Starting from works aimed at extending the Curry-Howard correspondence to process calculi through linear logic, we give another Curry-Howard counterpart for Milner's Calculus of Communicating Systems (CCS) by taking Ludics as the target system. Indeed interaction, Ludics' dynamic, allows to fully represent both the non-determinism and non-confluence of the calculus. We give an interpretation of CCS processes into carefully defined behaviours of Ludics using a new construction, called directed behaviour, that allows controlled interaction paths by using pruned designs. We characterize the execution of processes as interaction on behaviours, by implicitly representing the causal order and conflict relation of event structures. As a direct consequence, we are also able to interpret deadlocked processes, and identify deadlock-free ones
The parallel intensionally fully abstract games model of PCF
International audienceWe describe a framework for truly concurrent game semantics of programming languages, based on Rideau and Winskel's concurrent games on event structures. The model supports a notion of innocent strategy that permits concurrent and non-deterministic behaviour, but which coincides with traditional Hyland-Ong innocent strategies if one restricts to the deterministic sequential case. In this framework we give an alternative interpretation of Plotkin's PCF, that takes advantage of the concurrent nature of strategies and formalizes the idea that although PCF is a sequential language, certain sub-computations are independent and can be computed in a parallel fashion. We show that just as Hyland and Ong's sequential interpretation of PCF, our parallel interpretation yields a model that is intensionally fully abstract for PCF
Reduction Free Normalisation for a proof irrelevant type of propositions
We show normalisation and decidability of convertibility for a type theory
with a hierarchy of universes and a proof irrelevant type of propositions,
close to the type system used in the proof assistant Lean. Contrary to previous
arguments, the proof does not require explicitly to introduce a notion of
neutral and normal forms
An introduction to Differential Linear Logic: proof-nets, models and antiderivatives
Differential Linear Logic enriches Linear Logic with additional logical rules
for the exponential connectives, dual to the usual rules of dereliction,
weakening and contraction. We present a proof-net syntax for Differential
Linear Logic and a categorical axiomatization of its denotational models. We
also introduce a simple categorical condition on these models under which a
general antiderivative operation becomes available. Last we briefly describe
the model of sets and relations and give a more detailed account of the model
of finiteness spaces and linear and continuous functions
A type- and scope-safe universe of syntaxes with binding: their semantics and proofs
Almost every programming language's syntax includes a notion of binder and corresponding bound occurrences, along with the accompanying notions of alpha-equivalence, capture-avoiding substitution, typing contexts, runtime environments, and so on. In the past, implementing and reasoning about programming languages required careful handling to maintain the correct behaviour of bound variables. Modern programming languages include features that enable constraints like scope safety to be expressed in types. Nevertheless, the programmer is still forced to write the same boilerplate over again for each new implementation of a scope safe operation (e.g., renaming, substitution, desugaring, printing, etc.), and then again for correctness proofs. We present an expressive universe of syntaxes with binding and demonstrate how to (1) implement scope safe traversals once and for all by generic programming; and (2) how to derive properties of these traversals by generic proving. Our universe description, generic traversals and proofs, and our examples have all been formalised in Agda and are available in the accompanying material available online at https://github.com/gallais/generic-syntax
Applications and extensions of context-sensitive rewriting
[EN] Context-sensitive rewriting is a restriction of term rewriting which is obtained by imposing replacement restrictions on the arguments of function symbols. It has proven useful to analyze computational properties of programs written in sophisticated rewriting-based programming languages such asCafeOBJ, Haskell, Maude, OBJ*, etc. Also, a number of extensions(e.g., to conditional rewritingor constrained equational systems) and generalizations(e.g., controlled rewritingor forbidden patterns) of context-sensitive rewriting have been proposed. In this paper, we provide an overview of these applications and related issues. (C) 2021 Elsevier Inc. All rights reserved.Partially supported by the EU (FEDER), and projects RTI2018-094403-B-C32 and PROMETEO/2019/098.Lucas Alba, S. (2021). Applications and extensions of context-sensitive rewriting. Journal of Logical and Algebraic Methods in Programming. 121:1-33. https://doi.org/10.1016/j.jlamp.2021.10068013312