26 research outputs found

    Computer Aided Verification

    Get PDF
    This open access two-volume set LNCS 13371 and 13372 constitutes the refereed proceedings of the 34rd International Conference on Computer Aided Verification, CAV 2022, which was held in Haifa, Israel, in August 2022. The 40 full papers presented together with 9 tool papers and 2 case studies were carefully reviewed and selected from 209 submissions. The papers were organized in the following topical sections: Part I: Invited papers; formal methods for probabilistic programs; formal methods for neural networks; software Verification and model checking; hyperproperties and security; formal methods for hardware, cyber-physical, and hybrid systems. Part II: Probabilistic techniques; automata and logic; deductive verification and decision procedures; machine learning; synthesis and concurrency. This is an open access book

    Foundations for programming and implementing effect handlers

    Get PDF
    First-class control operators provide programmers with an expressive and efficient means for manipulating control through reification of the current control state as a first-class object, enabling programmers to implement their own computational effects and control idioms as shareable libraries. Effect handlers provide a particularly structured approach to programming with first-class control by naming control reifying operations and separating from their handling. This thesis is composed of three strands of work in which I develop operational foundations for programming and implementing effect handlers as well as exploring the expressive power of effect handlers. The first strand develops a fine-grain call-by-value core calculus of a statically typed programming language with a structural notion of effect types, as opposed to the nominal notion of effect types that dominates the literature. With the structural approach, effects need not be declared before use. The usual safety properties of statically typed programming are retained by making crucial use of row polymorphism to build and track effect signatures. The calculus features three forms of handlers: deep, shallow, and parameterised. They each offer a different approach to manipulate the control state of programs. Traditional deep handlers are defined by folds over computation trees, and are the original con-struct proposed by Plotkin and Pretnar. Shallow handlers are defined by case splits (rather than folds) over computation trees. Parameterised handlers are deep handlers extended with a state value that is threaded through the folds over computation trees. To demonstrate the usefulness of effects and handlers as a practical programming abstraction I implement the essence of a small UNIX-style operating system complete with multi-user environment, time-sharing, and file I/O. The second strand studies continuation passing style (CPS) and abstract machine semantics, which are foundational techniques that admit a unified basis for implementing deep, shallow, and parameterised effect handlers in the same environment. The CPS translation is obtained through a series of refinements of a basic first-order CPS translation for a fine-grain call-by-value language into an untyped language. Each refinement moves toward a more intensional representation of continuations eventually arriving at the notion of generalised continuation, which admit simultaneous support for deep, shallow, and parameterised handlers. The initial refinement adds support for deep handlers by representing stacks of continuations and handlers as a curried sequence of arguments. The image of the resulting translation is not properly tail-recursive, meaning some function application terms do not appear in tail position. To rectify this the CPS translation is refined once more to obtain an uncurried representation of stacks of continuations and handlers. Finally, the translation is made higher-order in order to contract administrative redexes at translation time. The generalised continuation representation is used to construct an abstract machine that provide simultaneous support for deep, shallow, and parameterised effect handlers. kinds of effect handlers. The third strand explores the expressiveness of effect handlers. First, I show that deep, shallow, and parameterised notions of handlers are interdefinable by way of typed macro-expressiveness, which provides a syntactic notion of expressiveness that affirms the existence of encodings between handlers, but it provides no information about the computational content of the encodings. Second, using the semantic notion of expressiveness I show that for a class of programs a programming language with first-class control (e.g. effect handlers) admits asymptotically faster implementations than possible in a language without first-class control

    Dualities in modal logic

    Get PDF
    Categorical dualities are an important tool in the study of (modal) logics. They offer conceptual understanding and enable the transfer of results between the different semantics of a logic. As such, they play a central role in the proofs of completeness theorems, Sahlqvist theorems and Goldblatt-Thomason theorems. A common way to obtain dualities is by extending existing ones. For example, Jonsson-Tarski duality is an extension of Stone duality. A convenient formalism to carry out such extensions is given by the dual categorical notions of algebras and coalgebras. Intuitively, these allow one to isolate the new part of a duality from the existing part. In this thesis we will derive both existing and new dualities via this route, and we show how to use the dualities to investigate logics. However, not all (modal logical) paradigms fit the (co)algebraic perspective. In particular, modal intuitionistic logics do not enjoy a coalgebraic treatment, and there is a general lack of duality results for them. To remedy this, we use a generalisation of both algebras and coalgebras called dialgebras. Guided by the research field of coalgebraic logic, we introduce the framework of dialgebraic logic. We show how a large class of modal intuitionistic logics can be modelled as dialgebraic logics and we prove dualities for them. We use the dialgebraic framework to prove general completeness, Hennessy-Milner, representation and Goldblatt-Thomason theorems, and instantiate this to a wide variety of modal intuitionistic logics. Additionally, we use the dialgebraic perspective to investigate modal extensions of the meet-implication fragment of intuitionistic logic. We instantiate general dialgebraic results, and describe how modal meet-implication logics relate to modal intuitionistic logics

    Foundations of Software Science and Computation Structures

    Get PDF
    This open access book constitutes the proceedings of the 22nd International Conference on Foundations of Software Science and Computational Structures, FOSSACS 2019, which took place in Prague, Czech Republic, in April 2019, held as part of the European Joint Conference on Theory and Practice of Software, ETAPS 2019. The 29 papers presented in this volume were carefully reviewed and selected from 85 submissions. They deal with foundational research with a clear significance for software science

    Programming Languages and Systems

    Get PDF
    This open access book constitutes the proceedings of the 29th European Symposium on Programming, ESOP 2020, which was planned to take place in Dublin, Ireland, in April 2020, as Part of the European Joint Conferences on Theory and Practice of Software, ETAPS 2020. The actual ETAPS 2020 meeting was postponed due to the Corona pandemic. The papers deal with fundamental issues in the specification, design, analysis, and implementation of programming languages and systems

    Parameterized monads in linguistics

    Get PDF
    A thesis submitted in partial fulfilment of the requirements of the University of Wolverhampton for the degree of Doctor of Philosophy.This dissertation follows the formal semantics approach to linguistics. It applies recent developments in computing theories to study theoretical linguistics in the area of the interaction between semantics and pragmatics and analyzes several natural language phenomena by parsing them in these theories. Specifically, this dissertation uses parameterized monads, a particular theoretical framework in category theory, as a dynamic semantic framework to reinterpret the compositional Discourse Representation Theory(cDRT), and to provide an analysis of donkey anaphora. Parameterized monads are also used in this dissertation to interpret information states as lists of presuppositions, and as dot types. Alternative interpretations for demonstratives and imperatives are produced, and the conventional implicature phenomenon in linguistics substantiated, using the framework. Interpreting donkey anaphora shows that parameterized monads is able to handle the sentential dependency. Therefore, this framework shows an expressive power equal to that of related frameworks such as the typed logical grammar and the dynamic predicate logic. Interpreting imperatives via parameterized monads also provides a compositional dynamic semantic analysis which is one of the main approaches to analysing imperatives

    Engineering formal systems in constructive type theory

    Get PDF
    This thesis presents a practical methodology for formalizing the meta-theory of formal systems with binders and coinductive relations in constructive type theory. While constructive type theory offers support for reasoning about formal systems built out of inductive definitions, support for syntax with binders and coinductive relations is lacking. We provide this support. We implement syntax with binders using well-scoped de Bruijn terms and parallel substitutions. We solve substitution lemmas automatically using the rewriting theory of the -calculus. We present the Autosubst library to automate our approach in the proof assistant Coq. Our approach to coinductive relations is based on an inductive tower construction, which is a type-theoretic form of transfinite induction. The tower construction allows us to reduce coinduction to induction. This leads to a symmetric treatment of induction and coinduction and allows us to give a novel construction of the companion of a monotone function on a complete lattice. We demonstrate our methods with a series of case studies. In particular, we present a proof of type preservation for CC!, a proof of weak and strong normalization for System F, a proof that systems of weakly guarded equations have unique solutions in CCS, and a compiler verification for a compiler from a non-deterministic language into a deterministic language. All technical results in the thesis are formalized in Coq.In dieser Dissertation beschreiben wir praktische Techniken um Formale Systeme mit Bindern und koinduktiven Relationen in Konstruktiver Typtheorie zu implementieren. WĂ€hrend Konstruktive Typtheorie bereits gute UnterstĂŒtzung fĂŒr Induktive Definition bietet, gibt es momentan kaum UnterstĂŒtzung fĂŒr syntaktische Systeme mit Bindern, oder koinduktiven Definitionen. Wir kodieren Syntax mit Bindern in Typtheorie mit einer de Bruijn Darstellung und zeigen alle Substitutionslemmas durch Termersetzung mit dem -KalkĂŒl. Wir prĂ€sentieren die Autosubst Bibliothek, die unseren Ansatz im Beweisassistenten Coq implementiert. FĂŒr koinduktive Relationen verwenden wir eine induktive Turmkonstruktion, welche das typtheoretische Analog zur Transfiniten Induktion darstellt. Auf diese Art erhalten wir neue Beweisprinzipien fĂŒr Koinduktion und eine neue Konstruktion von Pous’ “companion” einer monotonen Funktion auf einem vollstĂ€ndigen Verband. Wir validieren unsere Methoden an einer Reihe von Fallstudien. Alle technischen Ergebnisse in dieser Dissertation sind mit Coq formalisiert

    Monoidal-Closed Categories of Tree Automata

    Get PDF
    We propose a realizability semantics for automata on infinite trees, based on categories of games built on usual simple games, and generalizing usual acceptance games of tree automata. Our approach can be summarized with the slogan " automata as objects, strategies as morphisms ". We show that the operations on tree automata used in the translations of MSO-formulae to automata (underlying Rabin's Theorem, that is the decidability of MSO on infinite trees) can be organized in a deduction system based on the multiplica-tive fragment of intuitionistic linear logic (ILL). Namely, we equip a variant of usual alternating tree automata (that we call uniform tree automata) with a fi-bred monoidal closed structure which in particular, via game determinacy handles a linear complementation of alternating automata, as well as deduction rules for exis-tential and universal quantifications. This monoidal structure is actually Cartesian on non-deterministic automata. Moreover, an adaptation of a usual construction for the simulation of alternating automata by non-deterministic ones satisfies the deduction rules of the !(−) ILL-exponential modality. Our realizability semantics satisfies an expected property of witness extraction from proofs of existential statements. Moreover, it allows to combine realizers produced as interpretations of proofs with strategies witnessing (non-)emptiness of tree automata, possibly obtained using external algorithms

    On Induction, Coinduction and Equality in Martin-L\uf6f and Homotopy Type Theory

    Get PDF
    Martin L\uf6f Type Theory, having put computation at the center of logicalreasoning, has been shown to be an effective foundation for proof assistants,with applications both in computer science and constructive mathematics. Oneambition though is for MLTT to also double as a practical general purposeprogramming language. Datatypes in type theory come with an induction orcoinduction principle which gives a precise and concise specification of theirinterface. However, such principles can interfere with how we would like toexpress our programs. In this thesis, we investigate more flexible alternativesto direct uses of the (co)induction principles.As a first contribution, we consider the n-truncation of a type in Homo-topy Type Theory. We derive in HoTT an eliminator into (n+1)-truncatedtypes instead of n-truncated ones, assuming extra conditions on the underlyingfunction.As a second contribution, we improve on type-based criteria for terminationand productivity. By augmenting the types with well-foundedness information,such criteria allow function definitions in a style closer to general recursion.We consider two criteria: guarded types, and sized types.Guarded types introduce a modality ”later” to guard the availability ofrecursive calls provided by a general fixed-point combinator. In Guarded Cu-bical Type Theory we equip the fixed-point combinator with a propositionalequality to its one-step unfolding, instead of a definitional equality that wouldbreak normalization. The notion of path from Cubical Type Theory allows usto do so without losing canonicity or decidability of conversion.Sized types, on the other hand, explicitly index datatypes with size boundson the height or depth of their elements. The sizes however can get in theway of the reasoning principles we expect. Our approach is to introduce newquantifiers for ”irrelevant” size quantification. We present a type theory withparametric quantifiers where irrelevance arises as a “free theorem”. We alsodevelop a conversion checking algorithm for a more specific theory where thenew quantifiers are restricted to sizes.Finally, our third contribution is about the operational semantics of typetheory. For the extensions above we would like to devise a practical conversionchecking algorithm suitable for integration into a proof assistant. We formal-ized the correctness of such an algorithm for a small but challenging corecalculus, proving that conversion is decidable. We expect this development toform a good basis to verify more complex theories.The ideas discussed in this thesis are already influencing the developmentof Agda, a proof assistant based on type theory
    corecore