37 research outputs found

    From enhanced coinduction towards enhanced induction

    Get PDF
    International audienceThere exist a rich and well-developed theory of enhancements of the coinduction proof method, widely used on behavioural relations such as bisimilarity. We study how to develop an analogous theory for inductive behaviour relations, i.e., relations defined from inductive observables. Similarly to the coinductive setting, our theory makes use of (semi)-progressions of the form R->F(R), where R is a relation on processes and F is a function on relations, meaning that there is an appropriate match on the transitions that the processes in R can perform in which the process derivatives are in F(R). For a given preorder, an enhancement corresponds to a sound function, i.e., one for which R->F(R) implies that R is contained in the preorder; and similarly for equivalences. We introduce weights on the observables of an inductive relation, and a weight-preserving condition on functions that guarantees soundness. We show that the class of functions contains non-trivial functions and enjoys closure properties with respect to desirable function constructors, so to be able to derive sophisticated sound functions (and hence sophisticated proof techniques) from simpler ones. We consider both strong semantics (in which all actions are treated equally) and weak semantics (in which one abstracts from internal transitions). We test our enhancements on a few non-trivial examples

    Sound and complete axiomatizations of coalgebraic language equivalence

    Get PDF
    Coalgebras provide a uniform framework to study dynamical systems, including several types of automata. In this paper, we make use of the coalgebraic view on systems to investigate, in a uniform way, under which conditions calculi that are sound and complete with respect to behavioral equivalence can be extended to a coarser coalgebraic language equivalence, which arises from a generalised powerset construction that determinises coalgebras. We show that soundness and completeness are established by proving that expressions modulo axioms of a calculus form the rational fixpoint of the given type functor. Our main result is that the rational fixpoint of the functor FTFT, where TT is a monad describing the branching of the systems (e.g. non-determinism, weights, probability etc.), has as a quotient the rational fixpoint of the "determinised" type functor Fˉ\bar F, a lifting of FF to the category of TT-algebras. We apply our framework to the concrete example of weighted automata, for which we present a new sound and complete calculus for weighted language equivalence. As a special case, we obtain non-deterministic automata, where we recover Rabinovich's sound and complete calculus for language equivalence.Comment: Corrected version of published journal articl

    MetTeL: A Generic Tableau Prover.

    Get PDF

    The Different Shades of Infinite Session Types

    Get PDF
    Many type systems include infinite types. In session type systems, infinite types are important because they specify communication protocols that are unbounded in time. Usually infinite session types are introduced as simple finite-state expressions rec X.T or by nonparametric equational definitions X .= T. Alternatively, some systems of label- or value-dependent session types go beyond simple recursive types. However, leaving dependent types aside, there is a much richer world of infinite session types, ranging through various forms of parametric equational definitions, to arbitrary infinite types in a coinductively defined space. We study infinite session types across a spectrum of shades of grey on the way to the bright light of general infinite types. We identify four points on the spectrum, characterised by different styles of equational definitions, and show that they form a strict hierarchy by establishing bidirectional correspondences with classes of automata: finite-state, 1- counter, pushdown and 2-counter. This allows us to establish decidability and undecidability results for type formation, type equivalence and duality in each class of types. We also consider previous work on context-free session types (and extend it to higher-order) and nested session types, and locate them on our spectrum of infinite types

    Components as coalgebras

    Get PDF
    In the tradition of mathematical modelling in physics and chemistry, constructive formal specification methods are based on the notion of a software model, understood as a state-based abstract machine which persists and evolves in time, according to a behavioural model capturing, for example, partiality or (different degrees of) nondeterminism. This can be identified with the more prosaic notion of a software component advocated by the software industry as ‘building block’ of large, often distributed, systems. Such a component typically encapsulates a number of services through a public interface which provides a limited access to a private state space, paying tribute to the nowadays widespread object-oriented programming principles. The tradition of communicating systems formal design, by contrast, has developed the notion of a process as an abstraction of the behavioural patterns of a computing system, deliberately ignoring the data and state aspects of software systems. Both processes and components are among the broad group of computing phenomena which are hardly definable (or simply not definable) algebraically, i.e., in terms of a complete set of constructors. Their semantics is essentially observational, in the sense that all that can be traced of their evolution is their interaction with the environment. Therefore, coalgebras, whose theory has recently witnessed remarkable developments, appear as a suitable modelling tool. The basic observation of category theory that universal constructions always come in pairs, has motivated research on the duality between algebras and coalgebras, which provides a bridge between models of static (constructive, data-oriented) and dynamical (observational, behaviour-oriented) systems. At the programming level, the intuitive symmetry between data and behaviour provides evidence of such a duality, in its canonical initial-final specialisation. This line of thought entails both definitional and proof principles, i.e., a basis for the development of program calculi directly based on (actually driven by) type specifications. Moreover, such properties can be expressed in terms of generic programming combinators which are used, not only to calculate programs, but also to program with. Framed in this context, this thesis addresses the following main themes: The investigation of a semantic model for (state-based) software components. These are regarded as concrete coalgebras for some Set endofunctors, with specified initial conditions, and organise themselves in a bicategorical setting. The model is able to capture both behavioural issues, which are usually left implicit in state-based specification methods, and interaction through structured data, which is usually a minor concern on process calculi. Two basic cases are considered entailing, respectively, a ‘functional’ and an ‘object-oriented’ shape for components. Both cases are parametrized by a model of behaviour, introduced as a strong (usually commutative) monad. The development of corresponding component calculi, also parametric on the behaviour model, which adds to the genericity of the approach. The study of processes and the ‘reconstruction’ of classical (CCS-like) process calculi on top of their representation as inhabitants of (the carriers of) final coalgebras, in an essentially pointfree, calculational style. An overall concern for genericity, in the sense that models and calculi for both components and processes are parametric on the behaviour model and the interaction discipline, respectively. The animation of both processes and components in CHARITY, a functional programming language entirely based on inductive and coinductive categorical data types. In particular this leads to the development of a process calculi interpreter parametric on the interaction discipline.PRAXIS XXI - Projecto LOGCAMP; POO11/IC-PME/II/S -Projecto KARMA; Fundação para a Ciência e Tecnologia; ALGORITMI Research Center

    Programming Languages and Systems

    Get PDF
    This open access book constitutes the proceedings of the 28th European Symposium on Programming, ESOP 2019, which took place in Prague, Czech Republic, in April 2019, held as Part of the European Joint Conferences on Theory and Practice of Software, ETAPS 2019

    Equations, Contractions, and Unique Solutions

    Get PDF
    International audienceOne of the most studied behavioural equivalences is bisimilarity. Its success is much due to the associated bisimulation proof method, which can be further enhanced by means of 'bisimulation up-to' techniques such as 'up-to context'. A different proof method is discussed, based on unique solution of special forms of inequations called contractions, and inspired by Milner's theorem on unique solution of equations. The method is as powerful as the bisimulation proof method and its 'up-to context' enhancements. The definition of contraction can be transferred onto other behavioural equivalences , possibly contextual and non-coinductive. This enables a coinduc-tive reasoning style on such equivalences, either by applying the method based on unique solution of contractions, or by injecting appropriate contraction preorders into the bisimulation game. The techniques are illustrated on CCS-like languages; an example dealing with higher-order languages is also shown

    Interacting Hopf Algebras: the theory of linear systems

    Get PDF
    Scientists in diverse fields use diagrammatic formalisms to reason about various kinds of networks, or compound systems. Examples include electrical circuits, signal flow graphs, Penrose and Feynman diagrams, Bayesian networks, Petri nets, Kahn process networks, proof nets, UML specifications, amongst many others. Graphical languages provide a convenient abstraction of some underlying mathematical formalism, which gives meaning to diagrams. For instance, signal flow graphs, foundational structures in control theory, are traditionally translated into systems of linear equations. This is typical: diagrammatic languages are used as an interface for more traditional mathematics, but rarely studied per se. Recent trends in computer science analyse diagrams as first-class objects using formal methods from programming language semantics. In many such approaches, diagrams are generated as the arrows of a PROP — a special kind of monoidal category — by a two-dimensional syntax and equations. The domain of interpretation of diagrams is also formalised as a PROP and the (compositional) semantics is expressed as a functor preserving the PROP structure. The first main contribution of this thesis is the characterisation of SVk, the PROP of linear subspaces over a field k. This is an important domain of interpretation for diagrams appearing in diverse research areas, like the signal flow graphs mentioned above. We present by generators and equations the PROP IH of string diagrams whose free model is SVk. The name IH stands for interacting Hopf algebras: indeed, the equations of IH arise by distributive laws between Hopf algebras, which we obtain using Lack’s technique for composing PROPs. The significance of the result is two-fold. On the one hand, it offers a canonical string diagrammatic syntax for linear algebra: linear maps, kernels, subspaces and the standard linear algebraic transformations are all faithfully represented in the graphical language. On the other hand, the equations of IH describe familiar algebraic structures — Hopf algebras and Frobenius algebras — which are at the heart of graphical formalisms as seemingly diverse as quantum circuits, signal flow graphs, simple electrical circuits and Petri nets. Our characterisation enlightens the provenance of these axioms and reveals their linear algebraic nature. Our second main contribution is an application of IH to the semantics of signal processing circuits. We develop a formal theory of signal flow graphs, featuring a string diagrammatic syntax for circuits, a structural operational semantics and a denotational semantics. We prove soundness and completeness of the equations of IH for denotational equivalence. Also, we study the full abstraction question: it turns out that the purely operational picture is too concrete — two graphs that are denotationally equal may exhibit different operational behaviour. We classify the ways in which this can occur and show that any graph can be realised — rewritten, using the equations of IH, into an executable form where the operational behaviour and the denotation coincide. This realisability theorem — which is the culmination of our developments — suggests a reflection about the role of causality in the semantics of signal flow graphs and, more generally, of computing devices
    corecore