37 research outputs found
From enhanced coinduction towards enhanced induction
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
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 , where 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 , a lifting of to the category of
-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
The Different Shades of Infinite Session Types
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
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
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
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
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