125 research outputs found
Diagrammatic Semantics for Digital Circuits
We introduce a general diagrammatic theory of digital circuits, based on connections between monoidal categories and graph rewriting. The main achievement of the paper is conceptual, filling a foundational gap in reasoning syntactically and symbolically about a large class of digital circuits (discrete values, discrete delays, feedback). This complements the dominant approach to circuit modelling, which relies on simulation. The main advantage of our symbolic approach is the enabling of automated reasoning about parametrised circuits, with a potentially interesting new application to partial evaluation of digital circuits. Relative to the recent interest and activity in categorical and diagrammatic methods, our work makes several new contributions. The most important is establishing that categories of digital circuits are Cartesian and admit, in the presence of feedback expressive iteration axioms. The second is producing a general yet simple graph-rewrite framework for reasoning about such categories in which the rewrite rules are computationally efficient, opening the way for practical applications
Interacting Hopf Algebras
We introduce the theory IH of interacting Hopf algebras, parametrised over a
principal ideal domain R. The axioms of IH are derived using Lack's approach to
composing PROPs: they feature two Hopf algebra and two Frobenius algebra
structures on four different monoid-comonoid pairs. This construction is
instrumental in showing that IH is isomorphic to the PROP of linear relations
(i.e. subspaces) over the field of fractions of R
A structural and nominal syntax for diagrams
The correspondence between monoidal categories and graphical languages of
diagrams has been studied extensively, leading to applications in quantum
computing and communication, systems theory, circuit design and more. From the
categorical perspective, diagrams can be specified using (name-free)
combinators which enjoy elegant equational properties. However, conventional
notations for diagrammatic structures, such as hardware description languages
(VHDL, Verilog) or graph languages (Dot), use a different style, which is flat,
relational, and reliant on extensive use of names (labels). Such languages are
not known to enjoy nice syntactic equational properties. However, since they
make it relatively easy to specify (and modify) arbitrary diagrammatic
structures they are more popular than the combinator style. In this paper we
show how the two approaches to diagram syntax can be reconciled and unified in
a way that does not change the semantics and the existing equational theory.
Additionally, we give sound and complete equational theories for the combined
syntax.Comment: In Proceedings QPL 2017, arXiv:1802.0973
Liquid Clocks - Refinement Types for Time-Dependent Stream Functions
The concept of liquid clocks introduced in this paper is a significant step towards a more precise compile-time framework for the analysis of synchronous and polychromous languages. Compiling languages such as Lustre or SIGNAL indeed involves a number of static analyses of programs before they can be synthesized into executable code, e.g., synchronicity class characterization, clock assignment, static scheduling or causality analysis. These analyses are often equivalent to undecidable problems, necessitating abstracting such programs to provide sound yet incomplete analyses. Such abstractions unfortunately often lead to the rejection of programs that could very well be synthesized into deterministic code, provided abstraction refinement steps could be applied for more accurate analysis. To reduce the false negatives occurring during the compilation process, we leverage recent advances in type theory -- with the definition of decidable classes of value-dependent type systems -- and formal verification, linked to the development of efficient SAT/SMT solvers, to provide a type-theoretic approach that considers all the above analyses as type inference problems. In order to simplify the exposition of our new approach in this paper, we define a refinement type system for a minimalistic, synchronous, stream-processing language to concisely represent, analyse, and verify logical and quantitative properties of programs expressed as stream-processing data-flow networks. Our type system provides a new framework to represent logical time (clocks) and scheduling properties, and to describe their relations with stream values and, possibly, other quantas. We show how to analyze synchronous stream processing programs (Ă la Lustre, Signal) to enable previously described analyzes involved in compiling such programs. We also prove the soundness of our type system and elaborate on the adaptability of this core framework by outlining its extensibility to specific models of computations and other quantas
The Calculus of Signal Flow Diagrams I: Linear relations on streams
We introduce a graphical syntax for signal flow diagrams based on the language of symmetric monoidal categories. Using universal categorical constructions, we provide a stream semantics and a sound and complete axiomatisation.
A certain class of diagrams captures the orthodox notion of signal flow graph used in control theory; we show that any diagram of our syntax can be realised, via rewriting in the equational theory, as a signal flow graph
Synchronous Digital Circuits as Functional Programs
Functional programming techniques have been used to describe synchronous digital circuits since the early 1980s and have proven successful at describing certain types of designs. Here we survey the systems and formal underpinnings that constitute this tradition. We situate these techniques with respect to other formal methods for hardware design and discuss the work yet to be done
Bialgebraic Semantics for String Diagrams
Turi and Plotkin's bialgebraic semantics is an abstract approach to
specifying the operational semantics of a system, by means of a distributive
law between its syntax (encoded as a monad) and its dynamics (an endofunctor).
This setup is instrumental in showing that a semantic specification (a
coalgebra) satisfies desirable properties: in particular, that it is
compositional.
In this work, we use the bialgebraic approach to derive well-behaved
structural operational semantics of string diagrams, a graphical syntax that is
increasingly used in the study of interacting systems across different
disciplines. Our analysis relies on representing the two-dimensional operations
underlying string diagrams in various categories as a monad, and their
bialgebraic semantics in terms of a distributive law over that monad.
As a proof of concept, we provide bialgebraic compositional semantics for a
versatile string diagrammatic language which has been used to model both signal
flow graphs (control theory) and Petri nets (concurrency theory). Moreover, our
approach reveals a correspondence between two different interpretations of the
Frobenius equations on string diagrams and two synchronisation mechanisms for
processes, \`a la Hoare and \`a la Milner.Comment: Accepted for publications in the proceedings of the 30th
International Conference on Concurrency Theory (CONCUR 2019
- …