Streams and Coalgebra Lecture 2

Similar documents
Streams and Coalgebra Lecture 1

The Final Deterministic Automaton on Streams

Lecture three: Automata and the algebra-coalgebra duality

(2017) : 13 (1) ISSN , /LMCS-13(1:3)2017

Weighted automata coalgebraically

Stream Differential Equations: concrete formats for coinductive definitions

Coinductive Proof Techniques for Language Equivalence

Productive functions as Term-coalgebra anamorphisms in Coq

Realization of Coinductive Types

Bisimulation for Neighbourhood Structures

1. The Method of Coalgebra

(Co)Algebraic Characterizations of Signal Flow Graphs

Bisimulation for Neighbourhood Structures

Context-Free Languages, Coalgebraically

A note on coinduction and weak bisimilarity for while programs

(Co-)algebraic Automata Theory

Newton series, coinductively

Coalgebra, lecture 10: Algebra and Coalgebra for Regular Expressions

Bialgebraic Methods in Structural Operational Semantics

Degrees of Streams. Jörg Endrullis Dimitri Hendriks Jan Willem Klop. Streams Seminar Nijmegen, 20th April Vrije Universiteit Amsterdam

Simulations and Bisimulations for Coalgebraic Modal Logics

Combining Bialgebraic Semantics and Equations

Stream automata are coalgebras

Coalgebraic Lindström Theorems

Modular Construction of Modal Logics

Monoidal Categories, Bialgebras, and Automata

Bringing class diagrams to life

Step-Indexed Biorthogonality: a Tutorial Example

Duality in Probabilistic Automata

arxiv: v1 [cs.lo] 29 May 2014

On the coinductive nature of centralizers

Mix-Automatic Sequences

Distributive laws for the Coinductive Solution of Recursive Equations

Preliminaries. Chapter 3

Transformation of Corecursive Graphs

On a Categorical Framework for Coalgebraic Modal Logic

Product rules and distributive laws

Lax Extensions of Coalgebra Functors and Their Logic

Duality in Logic and Computation

Neighborhood Semantics for Modal Logic Lecture 5

Universal Algebra for Logics

Logical connections in the many-sorted setting

Neighborhood Semantics for Modal Logic Lecture 4

Semantical Principles in the Modal Logic of Coalgebras

Games for topological fixpoint logics

Obtaining the syntactic monoid via duality

Applied Logic. Lecture 1 - Propositional logic. Marcin Szczuka. Institute of Informatics, The University of Warsaw

A Weak Bisimulation for Weighted Automata

Towards Trace Metrics via Functor Lifting

Vietoris bisimulations

Monoidal Company for Accessible Functors *

Coalgebraic Logic and Synthesis of Mealy Machines

Data-Oblivious Stream Productivity

Structural Operational Semantics for Weighted Transition Systems

An introduction to (co)algebra and (co)induction

The Many Faces of Modal Logic Day 4: Structural Proof Theory

Duality in Logic and Computation

Simulations in Coalgebra

arxiv: v2 [cs.lo] 10 Apr 2014

Sampling, splitting and merging in coinductive stream calculus

Weak bisimulations for coalgebras over ordered functors

Proof systems for Moss coalgebraic logic

Binary positivity in the language of locales

Definability, Canonical Models, Compactness for Finitary Coalgebraic Modal Logic

A Coinductive Framework for Infinitary Rewriting and Equational Reasoning

Logic for Computational Effects: work in progress

Correspondence between Kripke Structures and Labeled Transition Systems for Model Minimization

Algebraic Semantics for Coalgebraic Logics

The State Explosion Problem

arxiv: v1 [cs.lo] 5 May 2015

INFORMATIQUE THÉORIQUE ET APPLICATIONS

6 Coalgebraic modalities via predicate liftings

Presenting Functors by Operations and Equations

Categorical logics for contravariant simulations, partial bisimulations, modal refinements and mixed transition systems

An Introduction to the Theory of Coalgebras

Abstract model theory for extensions of modal logic

Property Checking of Safety- Critical Systems Mathematical Foundations and Concrete Algorithms

A few bridges between operational and denotational semantics of programming languages

The Measurable Space of Stochastic Processes

On the Origins of Bisimulation and Coinduction

CS 6110 S16 Lecture 33 Testing Equirecursive Equality 27 April 2016

Coalgebraic Semantics of Modal Logics: an Overview

Extended Abstract: Reconsidering Intuitionistic Duality

Conceptual Connections of Circularity and Category Theory

Operational Semantics Using the Partiality Monad

Reflection and preservation of properties in coalgebraic (bi)simulations

Nabla Algebras and Chu Spaces

Bounded Stacks, Bags and Queues

CHURCH SYNTHESIS PROBLEM and GAMES

PDF hosted at the Radboud Repository of the Radboud University Nijmegen

On the Duality between Observability and Reachability

An introduction to process calculi: Calculus of Communicating Systems (CCS)

Model Theory of Modal Logic Lecture 5. Valentin Goranko Technical University of Denmark

A Behavioral Congruence for Concurrent Constraint Programming with Nondeterministic Choice

De Jongh s characterization of intuitionistic propositional calculus

Introduction to Logic in Computer Science: Autumn 2006

Automata and Fixed Point Logic: a Coalgebraic Perspective

On a Purely Categorical Framework for Coalgebraic Modal Logic

Subsumption of concepts in FL 0 for (cyclic) terminologies with respect to descriptive semantics is PSPACE-complete.

From Algebras and Coalgebras to Dialgebras

Transcription:

Streams and Coalgebra Lecture 2 Helle Hvid Hansen and Jan Rutten Radboud University Nijmegen & CWI Amsterdam Representing Streams II, Lorentz Center, Leiden, January 2014

Tutorial Overview Lecture 1 (Hansen): Coalgebra as a Unifying Framework Introduction and motivation Examples: Streams and languages Universal coalgebra: basic concepts Lecture 2 (Hansen): The Coinduction Principle Coinductive definitions: Behavioural differential equations Definition format: Syntactic method. Coinductive proofs: Bisimulations Exercises (Hansen/Rutten) Lecture 3 (Rutten): Newton Series and Shuffle Product

Specifying Streams Methods: pointwise: σ(n) =..., n N fixed point of substitution φ: A A (morphic sequence) generated by deterministic automaton with output (DAO). Today: Coinduction (behavioural differential equations). Idea: Use universal property of final (Z, ζ) to define maps into Z. A final coalgebra yields a coinduction principle. Coinduction wrt final DSO (B ω, ( )(0), ( ) ). Coinduction wrt final DAO (B ω, ( )(0), unzip k ).

Example: Binary operation on Streams Define a binary operation on streams B ω B ω B ω : B ω B ω o,d B (B ω B ω ) B ω B B ω ( )(0),( )

Example: Binary operation on Streams Define a binary operation on streams B ω B ω B ω : B ω B ω o,d B (B ω B ω ) B ω B B ω ( )(0),( ) by taking as coalgebra structure on B ω B ω : σ, τ B ω, o(σ, τ) = σ(0), d(σ, τ) = τ, σ

Example: Binary operation on Streams Define a binary operation on streams B ω B ω B ω : B ω B ω o,d B (B ω B ω ) zip id B zip B ω B B ω ( )(0),( ) by taking as coalgebra structure on B ω B ω : σ, τ B ω, o(σ, τ) = σ(0), d(σ, τ) = τ, σ Operation zip is defined by coinduction.

Example: Binary operation on Streams Define a binary operation on streams B ω B ω B ω : B ω B ω o,d B (B ω B ω ) zip id B zip B ω B B ω ( )(0),( ) by taking as coalgebra structure on B ω B ω : σ, τ B ω, o(σ, τ) = σ(0), d(σ, τ) = τ, σ Operation zip is defined by coinduction. Commutativity of the diagram means that σ, τ B ω, zip(σ, τ)(0) = σ(0), zip(σ, τ) = zip(τ, σ ) (1) zip is a solution to the stream differential equation (SDE) (1).

Behavioural Differential Equations (BDEs) Define elements of and operations on a final F -coalgebra (Z, ζ) by specifying the behavioural equations it must satisfy. More examples on N ω : σ = σ + σ, σ(0) = 0, σ (0) = 1 defines Fibonacci σ = (0, 1, 1, 2, 3, 5, 8,...). σ = σ + (σ σ), σ(0) = 1 defines σ = (1, 2, 6, 22, 90, 394, 1806, 8558, 41586,...) of (large) Schröder numbers (sequence A006318 in OEIS), cf. [Winter-Bonsangue-Rutten 12] (n σ) = n σ (n σ)(0) = n σ(0) n N defines scalar product.

Example: Hamming Numbers Stream H N ω of Hamming numbers H = (1, 2, 3, 4, 5, 6, 8, 9, 10, 12, 15, 16,...) consists of natural numbers of the form 2 i 3 j 5 k for i, j, k 0 in increasing order (cf. Dijkstra 81, Yuen 92).

Example: Hamming Numbers Stream H N ω of Hamming numbers H = (1, 2, 3, 4, 5, 6, 8, 9, 10, 12, 15, 16,...) consists of natural numbers of the form 2 i 3 j 5 k for i, j, k 0 in increasing order (cf. Dijkstra 81, Yuen 92). We define H by the following SDEs: H(0) = 1, H = (2 H) ((3 H) (5 H)) { σ(0) if σ(0) < τ(0) and (σ τ)(0) = τ(0) if σ(0) τ(0) σ τ if σ(0) < τ(0) (σ τ) = σ τ if σ(0) = τ(0) σ τ if σ(0) > τ(0) That is, merges two streams by taking smallest initial values first, and removing duplicates. Scalar product defined as before.

Ensuring Unique Solutions SDEs as specification language for streams We want unique solutions. Do all SDEs have unique solutions?

Ensuring Unique Solutions SDEs as specification language for streams We want unique solutions. Do all SDEs have unique solutions? σ(0) = 1, σ = σ has many solutions. even(σ)(0) = σ(0), even(σ) = even(σ ) has unique solution, even(σ) = (σ(0), σ(2), σ(4),...) but σ(0) = 1, σ = even(σ) has no unique solution. How can we guarantee unique solutions? When is a stream definition productive?

A Syntactic Format for SDEs Signature Σ: collection of operation symbols with arities. E.g. (B ω = R ω operation [r], r R X + ) arity 0 0 2 1 2 T Σ (V ) = Σ-terms over (set of generators) V : T Σ (V ) t ::= v V [r], r R X t + t t t t

A Syntactic Format for SDEs Signature Σ: collection of operation symbols with arities. E.g. (B ω = R ω operation [r], r R X + ) arity 0 0 2 1 2 T Σ (V ) = Σ-terms over (set of generators) V : T Σ (V ) t ::= v V [r], r R X t + t t t t Def. A stream definition for Σ is a set of SDEs, one for each Σ-operation f Σ of arity k of the form: f (σ 1,..., σ k )(0) = o f (σ 1 (0),..., σ k (0)) f (σ 1,..., σ k ) = d f (σ 1 (0),..., σ k (0)) where o f (σ 1 (0),..., σ k (0)) B d f (σ 1 (0),..., σ k (0)) T Σ (σ 1,..., σ k, σ 1,..., σ k ).

A Syntactic Format for SDEs (II) Example: Stream definition for stream calculus signature: [r](0) = r, [r] = [0] r R X(0) = 0, X = [1] (σ + τ)(0) = σ(0) + τ(0), (σ + τ) = σ + τ ( σ)(0) = σ(0), ( σ) = σ (σ τ)(0) = σ(0) τ(0), (σ τ) = (σ τ) + ([σ(0)] τ ) Example: Definition of Hamming numbers. The syntactic format is also known as the stream GSOS format due to analogy with GSOS format from structural operational semantics (cf. [Bartels], [Klin], [Turi-Plotkin]). Generalisations for other coalgebra types immediate from categorical framework.

A Syntactic Format for SDEs (III) Theorem: [Kupke-Niqui-Rutten 11][Bartels][Klin] Given a signature Σ, any Σ-definition in the stream GSOS format has a unique solution, i.e., defines a unique interpretation of operation symbols as stream operations. Proof sketch: A stream GSOS definition induces a coalgebra structure δ on terms: T Σ (B ω ) δ B T Σ (B ω ) α id B α B ω = B B ω By coinduction, we obtain a unique term interpretation α which corresponds to unique interpretation of Σ-operations.

A Syntactic Format for SDEs (IV) Examples not in the stream GSOS format: c(0) = 1, c = c, since d c = c / T Σ ( ). even(σ) = σ(0), even(σ) = even(σ ), since even(σ ) / T Σ (σ, σ ). (Note: d(0) = 1, d = even(d) is in stream GSOS format.)

A Syntactic Format for SDEs (IV) Examples not in the stream GSOS format: c(0) = 1, c = c, since d c = c / T Σ ( ). even(σ) = σ(0), even(σ) = even(σ ), since even(σ ) / T Σ (σ, σ ). (Note: d(0) = 1, d = even(d) is in stream GSOS format.) Remark on causal operations: All operations defined in the stream GSOS format are causal: The n th element of output stream f (σ 1,..., σ k ) is determined by the first n elements of the input streams σ 1,..., σ k. Operation even is not causal. Conversely, all causal stream operations can be defined by a (possibly infinite) stream GSOS definition (cf. [KNR 11]).

Beyond Causality Endrullis,Grabmayer,Hendriks,Isihara & Klop. Productivity of stream definitions. Theor.Comp.Sci. 411, 2012. Ghani,Hancock & Pattinson. Representations of stream processors using nested fixed points. Logical Methods in Computer Science, 5(3), 2009. Abel & Pientka. Well-founded recursion with copatterns. Int. Conf. on Functional Programming (ICFP 2013).

Coinduction wrt final DAO of Streams Recall the final DAO (output in B, alphabet A = {1, 2, 3}) of streams: β = ( )(0), unzip 3 (( ) ) : B ω B (B ω ) {1,2,3}

Coinduction wrt final DAO of Streams Recall the final DAO (output in B, alphabet A = {1, 2, 3}) of streams: β = ( )(0), unzip 3 (( ) ) : B ω B (B ω ) {1,2,3} Behaviour map [[ ]]: (X, o, d ) (B ω, α) is coalgebra morphism: x X : [[x]](0) = o(x) unzip 0,3 ([[x]] ) = [[d(x)(1)]] unzip 1,3 ([[x]] ) = [[d(x)(2)]] unzip 2,3 ([[x]] ) = [[d(x)(3)]] using zip 3 unzip 3 = id B ω, this is equivalent with x X : [[x]](0) = o(x) [[x]] = zip 3 ([[d(x)(1)]], [[d(x)(2)]], [[d(x)(3)]])

Zip-SDEs Example of a (finite) system of zip 3 -SDEs over X = {x, y, z} with B = {a, b}: x(0) = a, x = zip 3 (y, x, x), y(0) = b, y = zip 3 (x, y, x), z(0) = b, z = zip 3 (y, z, y), Every system of zip k -SDEs has a unique stream solution [[ ]]: X B ω. TFAE (cf. [Endrullis-Grabmayer-Hendriks-Klop-Moss 11]): σ B ω is k-automatic σ is in the solution to a finite system of zip k -SDEs.

Stream Calculus Recall the SDEs defining stream calculus operations on R ω : [r](0) = r, [r] = [0] r R X(0) = 0, X = [1] (σ + τ)(0) = σ(0) + τ(0), (σ + τ) = σ + τ ( σ)(0) = σ(0), ( σ) = σ (σ τ)(0) = σ(0) τ(0), (σ τ) = (σ τ) + ([σ(0)] τ ) (R ω, +,,, 0, 1) is an integral domain. Fundamental theorem: σ = σ(0) + X σ for all σ R ω. Convolution inverse: σ 1 (0) = σ(0) 1, (σ 1 ) = (σ(0) σ ) σ 1 under condition σ(0) 0 (partial operation). We write: rσ = [r] σ, 1 σ = 1/σ = σ 1 and σ τ = σ τ 1.

Polynomial and Rational Streams Polynomial stream σ = a 0 + a 1 X + a 2 X 2 + a 3 X 3 + + a n X n Rational stream σ = ρ π where ρ, π polynomial, and π(0) 0. Stream calculus operations will come back in several talks.

How to prove stream identities? (R ω, +,,, 0, 1) is a commutative ring. Can we prove this using only the SDE definitions?

Equivalence When are two systems the same? When their states encode the same set of behaviours. When do two states have the same behaviour? When [[x]] = [[y]].

Equivalence When are two systems the same? When their states encode the same set of behaviours. When do two states have the same behaviour? When [[x]] = [[y]]. More generally, two states x (X, γ) and y (Y, δ) are behaviourally equivalent if there exist morphisms (X, γ) f g (Z, ζ) (Y, δ) such that f (x) = g(y). How do we prove it? We build a bisimulation.

Coalgebraic Bisimulation Coalgebra morphism = structure-respecting function Coalgebra bisimulation = structure-respecting relation

Coalgebraic Bisimulation Coalgebra morphism = structure-respecting function Coalgebra bisimulation = structure-respecting relation Def. (Aczel-Mendler) A bisimulation between F -coalgebras (X, γ) and (Y, δ) is a relation R X Y such that there is a coalgebra structure ρ: R F (R) such that the projections π X : (R, ρ) (X, γ) and π Y : (R, ρ) (Y, δ) are coalgebra morphisms: X γ F (X ) π X F (π X ) R ρ π Y Y F (π Y ) F (R) F (Y ) δ

Bisimulation for DSOs Bisimulation diagram: X π X R π Y Y o X,d X B X id B π X ρ B R id B π Y B Y o Y,d Y Concretely: x, y R : o X (x) = o Y (y) and d X (x), d Y (y) R. Stream bisimulation (bisimulation on (B ω, ( )(0), ( ) ): σ, τ R : σ(0) = τ(0) and σ, τ R.

Basic Facts about Bisimulations A map f : X Y is a coalgebra morphism f : (X, γ) (Y, δ) iff Graph(f ) = { x, f (x) x X } is a bisimulation. Bisimulations are closed under arbitrary unions. Hence the largest bisimulation ( bisimilarity, ) between two coalgebras exists: x y iff there is a bisimulation R s.t. x, y R. Coalgebra morphisms preserve bisimilarity: x y f (x) g(y) if f, g are coalgebra morphims. Bisimilarity on a single coalgebra is an equivalence relation. For all (X, γ) there is a coalgebra map γ : X / F (X / ) s.t. the quotient map q : X X / is a coalgebra morphism. Generalises existing notions from process theory and modal logic.

Coinductive Proof Principle Let (Z, ζ) be a final F -coalgebra. id Z : (Z, ζ) (Z, ζ) is the unique F -coalgebra morphism. q Hence: (Z, ζ) (Z/, ζ )!h (Z, ζ) = id Z hence q is injective, and = Z (identity relation).

Coinductive Proof Principle Let (Z, ζ) be a final F -coalgebra. id Z : (Z, ζ) (Z, ζ) is the unique F -coalgebra morphism. q Hence: (Z, ζ) (Z/, ζ )!h (Z, ζ) = id Z hence q is injective, and = Z (identity relation). A final coalgebra (Z, ζ) satisfies the Coinductive Proof Principle: x, y (Z, ζ) : x y x = y. By preservation of bisimilarity under morphisms, we have: For all x (X, γ) and y (Y, δ): x y [[x]] = [[y]]. A bisimulation is a proof of behavioural equivalence.

Stream Bisimulation Example Prove that: σ + τ = τ + σ for all σ, τ B ω.

Stream Bisimulation Example Prove that: σ + τ = τ + σ for all σ, τ B ω. Take R is a stream bisimulation: R = { σ + τ, τ + σ σ, τ B ω }. (σ + τ)(0) = σ(0) + τ(0) = τ(0) + σ(0) = (τ + σ)(0) (σ + τ) = σ + τ R τ + σ = (τ + σ)

Stream Bisimulation Example Consider shuffle product defined by SDE (σ τ)(0) = σ(0) τ(0), (σ τ) = (σ τ) + (σ τ ) Prove that : σ τ = τ σ.

Stream Bisimulation Example Consider shuffle product defined by SDE (σ τ)(0) = σ(0) τ(0), (σ τ) = (σ τ) + (σ τ ) Prove that : σ τ = τ σ. Compute: (σ τ) = (σ τ) + (σ τ ) (τ σ) = (τ σ) + (τ σ ) (σ τ) = ((σ τ) + (σ τ )) + ((σ τ ) + (σ τ ) (τ σ) = ((τ σ) + (τ σ )) + ((τ σ ) + (τ σ ) Problem: derivatives keep growing.

Bisimulation-up-to Def. Let Σ denote a collection of stream operations. A relation R B ω B ω is a stream bisimulation-up-to-σ if for all σ, τ R: σ(0) = τ(0) and σ, τ R, where R B ω B ω is the smallest relation such that 1. R R 2. { σ, σ σ B ω } R 3. R is closed under the (element-wise application of) operations in Σ. For instance, if Σ contains addition and α, β, γ, δ R then α + γ, β + δ R. Lemma: If R is a bisimulation-up-to-σ then R is a bisimulation. (Bisimulation-up-to-Σ is sound)

Bisimulation-up-to Example Back to commutativity of shuffle product: Observe: So is a bisimulation-up-to addition. (σ τ) = (σ τ) + (σ τ ) = (σ τ ) + (σ τ) (τ σ) = (τ σ) + (τ σ ) R = { σ τ, τ σ σ, τ R ω } Note: Symbolic reasoning, algorithmic. No knowledge of binomial coefficients needed.

Summary Coalgebra is a uniform framework of state-based systems. final coalgebras characterise observable behaviour. final coalgebras yield a coinduction principle (proof and definition). Coinductive definitions are behavioural differential equations. streams are a final DSO stream differential eqs (SDEs). streams are a final DAO zip-sdes. stream GSOS format ensures unique solutions to SDEs. Coinductive proofs are bisimulations (up-to), circular proofs. can be constructed as a greatest fixed point.

Selected Coalgebra References Universal Coalgebra: J.J.M.M. Rutten. Universal coalgebra: a theory of systems. Theoretical Computer Science, 249(1):380, 2000. B. Jacobs and J.J.M.M. Rutten. An introduction to (co)algebras and (co)induction. In: Advanced topics in bisimulation and coinduction, Cambridge Tracts in Theor. Comp. Science Volume 52, CUP 2011. Stream Differential Equations: J.J.M.M. Rutten. Behavioural differential equations: a coinductive calculus of streams, automata, and power series. Theoretical Computer Science Volume 308(1 3), pp. 1 53, 2003. C. Kupke, M. Niqui, J. Rutten. Stream Differential Equations: concrete formats for coinductive definitions. Technical Report No. RR-11-10, Oxford University, 2011. J. Winter, M. Bonsangue and J. Rutten. Coalgebraic characterizations of context-free languages. Logical Methods in Computer Science, Vol. 9 (3:14), 2013. H.H. Hansen, C. Kupke and J. Rutten. Stream differential equations, an overview. In preparation.

Selected Coalgebra References Automatic Sequences: C. Grabmayer, J. Endrullis, D. Hendriks, J.W. Klop, and L.S. Moss. Automatic sequences and zip-specifications. Proceedings of LICS, 2012. C. Kupke and J. Rutten. On the final coalgebra of automatic sequences. Logic and Program Semantics, volume 7230 of LNCS, Springer, 2012. Automata and Formal Languages: F. Bonchi, M. Bonsangue, H.H. Hansen, P. Panangaden, J. Rutten, A. Silva. Algebra-coalgebra duality in Brzozowski s minimization algorithm. ACM Transactions on Computational Logic, to appear. A. Silva, F. Bonchi, M. Bonsangue, and J. Rutten. Generalizing determinization from automata to coalgebras. Logical Methods in Computer Science, 9(1), 2013. Coinductive proofs: J. Rot, M. Bonsangue, J. Rutten. Coinductive Proof Techniques for Language Equivalence. 7th International Conference on Language and Automata Theory and Applications (LATA 2013). LNCS 7810, Springer. J. Endrullis, D. Hendriks and M. Bodin Circular Coinduction in Coq Using Bisimulation-Up-To Techniques Proc. 4th Int. Conf. on Interactive Theorem Proving (ITP 2013), volume 7998 of LNCS, Springer, 2013.