1. Janis Voigtländer (Institute for Computer Science, University of Bonn)
Type-Based Reasoning about Efficiency
Phil Wadler (1989) showed how to use John Reynolds' (1983) concept of relational parametricity to derive statements about programs in a purely functional language just from their (polymorphic) types. Such statements have found applications as so-called "free theorems". Traditionally, they have had an extensional flavor only: statements relating the value semantics of program expressions, but not statements relating their runtime (or other) cost. We present an extension of the technique that allows precisely statements of the latter flavor, by deriving quantitative theorems for free. Extending the underlying theory (of relational parametricity) is one thing, finding effective ways to do the actual deriving of concrete free theorems (by symbolic manipulations) is quite another, and more challenging here than in the standard/extensional cases.
2. Zhenjiang Hu (National Institute of Informatics)
Determinization of Backward Transformation
Bidirectionalization is an automatic program transformation that derives a backward transformation from a given forward transformation. In general, more than one backard transformations exist and the problem is how to choose the "best" backward transformation that not only satisfies the roundtrip property but also meets the user's intention. I would like to discuss the importance of backward transformation determinization and explain some possible solutions.
1. Kazuyuki Asada (National Institute of Informatics)
Many-sorted Bialgebraic Semantics for a Multi-rooted Graph Algebra and a CBV Calculus
In this talk, bialgebraic semantics for the graph algebra introduced by Buneman et al. is given. The graph algebra is a graph representation for some kind of multi-rooted graph, which is the same as Kripke model.
First I give a bijective correspondence between graph algebras and terms in (the first-order part of) a call-by-value calculus equipped with output, non-termination, non-determinism, and iteration operator. Then I induce an equational theory for graph algebra from the standard one for the CBV calculus including (modified) uniformity for the iteration operator.
Then, after reveiwing coalgebraic semantics for Kripke model, we see that those final coalgebras form a relative monad, and the graph algebra can be formulated as many-sorted algebra. Then I give many-sorted bialgebraic semantics for the graph algebra and the graph.
Time permitting, I will explain three future works: Completeness of the equational theory, full-abstractness, and generalization.
2. Shin-ya Katsumata (Kyoto University)
A Categorical Approach to Attribute Grammars
Attribute grammars (AGs) are a mechanism to assign computations with bidirectional information flow to trees. We introduce a categorical formulation of AGs called monoidal AGs, and demonstrate that they subsume existing formulations of AGs, such as domain-theoretic, graph-theoretic, and relational ones, and also a special class of syntactic AGs called SSUR-ACs. Using this categorical formulation, we give a syntax-free account of the descriptional composition, which is a method to fuse two term transformation algorithms described by SSUR-ACs into one.
1. Ichiro Hasuo (University of Tokyo)
Introduction to Coalgebra, through Final Sequences
In this talk I wish to deliver an elementary and informal introduction to the theory of coalgebra---a mathematical machinery underlying coinductive datatypes in functional programming---focusing on its aspect of being the categorical dual to algebra. More specifically, I'll first review the categorical "initial sequence" construction of an initial algebra, and then elaborate on its dual--the "final sequence" construction of a final coalgebra. A trip along these sequences is a good way to familiarize ourselves with the essence of induction and coinduction, and the contrast between them.
2. Yde Venema (University of Amsterdam)
Automata operating on infinite objects provide an invaluable tool for the spcification and verification of programs. Many of the infinite objects studied in this area, such as words/streams, trees, graphs or transition systems, represent ongoing behaviour in some way, and provide key specimens of coalgebras. Hence it make sense to develop a universal theory of coalgebra automata: automata operating on coalgebras. The motivation underlying the introduction of coalgebra automata is to gain a deeper understanding of this branch of automata theory by studying properties of automata in a uniform manner, parametric in the type of the recognized structures. Coalgebraic automata theory thus contributes to Universal Coalgebra as a mathematical theory of state-based evolving systems.
In the talk we give a quick introduction to coalgebra, and we introduce the notion of a coalgebra automaton. We will see that in fact a large part of the theory of parity automata can be lifted to a coalgebraic level of generality, and thus indeed belongs to the theory of Universal Coalgebra. More specifically, coalgebra automata satisfy various closure properties: under some conditions on the coalgebraic type, the collection of recognizable languages are closed under taking union, intersection, complementation, and existential projections. Time permitting, we will discuss two kinds of coalgebra automata, corresponding to approaches in coalgebraic logic that are based on, respectively, relation lifting and predicate liftings. Our results have many applications in the theory of coalgebraic fixpoint logics), but these will only be discussed tangentially.