4 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
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-theoretic framework for software component synthesis
A language-agnostic approach for type-based component-oriented software synthesis is developed from the fundamental principles of abstract algebra and Combinatory Logic. It relies on an enumerative type inhabitation algorithm for Finite Combinatory Logic with Intersection Types (FCL) and a universal algebraic construction to translate terms of Combinatory Logic into any given target language. New insights are gained on the combination of semantic domains of discourse with intersection types. Long standing gaps in the algorithmic understanding of the type inhabitation question of FCL are closed. A practical implementation is developed and its applications by the author and other researchers are discussed. They include, but are not limited to, vast improvements in the context of synthesis of software product line members. An interactive theorem prover, Coq, is used to formalize and check all the theoretical results. This makes them more reusable for other developments and enhances confidence in their correctness.Es wird ein sprachunabhĂ€ngiger Ansatz fĂŒr die typbasierte und komponentenorientierte Synthese von Software entwickelt. Hierzu werden grundlegende Erkenntnisse ĂŒber abstrakte Algebra und kombinatorische Logik verwendet. Der Ansatz beruht auf dem enumerativen Typinhabitationsproblem der endlichen kombinatorischen Logik mit Intersektionstypen, sowie einer universellen algebraischen Konstruktion, um Ergebnisterme in jede beliebe Zielsprache ĂŒbersetzen zu können. Es werden neue Einblicke gewonnen, wie verschiedene semantische DomĂ€nen des Diskurses ĂŒber Softwareeigenschaften miteinander verbunden werden können. Offene Fragestellungen im Zusammenhand mit der Algorithmik des Typinhabitationsproblems fĂŒr Intersektionstypen werden beantwortet. Eine praktische Implementierung des Ansatzes wird entwickelt und ihre bisherigen Anwendungen durch den Autor und andere Wissenschaftler werden diskutiert. Diese beinhalten starke Verbesserungen im Zusammenhang mit der Synthese von AusprĂ€gungen von Software Produktlinien. Ein interaktiver Theorembeweiser wir genutzt, um alle Ergebnisse der Arbeit zu formalisieren und mechanisch zu ĂŒberprĂŒfen.
Dies trÀgt zum einen zur Wiederverwendbarkeit der theoretischen Ergebnisse in anderen Kontexten bei, und erhöht zum andern das Vertrauen in ihre Korrektheit