This is part one of Jan Rutten's lectures on Coalgebra in Tehran, Iran.
Abstract: Since the early nineties, coalgebra has become an active area of research in which one tries to understand all kinds of infinite data types, automata, transition systems and dynamical systems from a unifying perspective. The focus of coalgebra is on observable behaviour and one uses coinduction as a central methodology, both for behavioural specifications and to prove behavioural equivalences. These days, one uses coalgebraic techniques in a wide variety of areas, ranging from automata theory to software engineering to economy.
In a series of three lectures, we will discuss the following subjects:
(i) The coalgebraic method
(ii) A coinductive calculus of streams
(iii) Algebra meets coalgebra: automata and formal languages
Pocket Guide to Delivering Effective Presentationsrdlteam
This pocket guide from Rothwell Douglas explains the four key aspects of delivering an effective presentation:
Understanding your audience
Preparing your content
Delivering content
Controlling the environment
Each aspect is equally important, and each is worth considering deeply if you have a crucial presentation you need to get exactly right.
..............................................................................................
We frequently blog on workplace skills, employee engagement and change. See more here: http://www.rothwelldouglas.com/blog/
Jerarquías de Chomsky extendidas hechas durante el curso
http://ivanvladimir.github.io/content/teach/curso_lfya.html
Créditos:
AVALOS VALDEZ LUIS CARLOS
CEDILLO NAJERA ERIC RODRIGO
CRUZ PALAFOX NESTOR
DELGADO GONZALEZ DELTA SOFIA
DIAZ YAÑEZ ALDEBARAN DEJADIR
GARCIA XOCONOSTLE IVAN RAFAEL
GOMEZ GONZALEZ OMAR OTONIEL
GONZALEZ SARMIENTO LUIS MOISES
GUZMAN MERCADO NAZUL GIBRAN
JAIMES MARTINEZ JESUS ENRIQUE
LOPEZ ESTRADA ARTURO
LOPEZ VELARDE GONZALEZ GUILLERMO
MARQUEZ SOLIS GERARDO ALI
MARTINEZ ROJAS JORGE ANTONIO
MEOÑO VELAZQUEZ JOSE GUSTAVO
MOLINA ALBA VICTOR
MOTA PADILLA JORGE ANTONIO
PEREZ BARONA ALAN
RAFAEL BUENO RICARDO
ROCHIN SALAZAR JORGE ALEJANDRO
RODRIGUEZ REYES ALEXIS ALEJANDRO
RODRIGUEZ SALGADO ISAAC VINCENT
RUEDA CHAVEZ OSCAR RAFAEL
RUIZ VAZQUEZ IVAN
SALGADO FRANCO DULCE MARIA
SALGADO SALAZAR CARLOS EDUARDO
SANCHEZ ARENAS OSVALDO
SANCHEZ GONZALEZ PAOLA
SANCHEZ MONTAÑO CHRISTIAN MIGUEL
URBINA GONZALEZ JOSUE FABRICIO
VARGAS REYES JESSICA LORENA
VAZQUEZ RODRIGUEZ DAVID
VEGA SIERRA EDUARDO JOSE
ZUÑIGA REYES MIGUEL ANGEL
FellowBuddy.com is an innovative platform that brings students together to share notes, exam papers, study guides, project reports and presentation for upcoming exams.
We connect Students who have an understanding of course material with Students who need help.
Benefits:-
# Students can catch up on notes they missed because of an absence.
# Underachievers can find peer developed notes that break down lecture and study material in a way that they can understand
# Students can earn better grades, save time and study effectively
Our Vision & Mission – Simplifying Students Life
Our Belief – “The great breakthrough in your life comes when you realize it, that you can learn anything you need to learn; to accomplish any goal that you have set for yourself. This means there are no limits on what you can be, have or do.”
Like Us - https://www.facebook.com/FellowBuddycom
Pocket Guide to Delivering Effective Presentationsrdlteam
This pocket guide from Rothwell Douglas explains the four key aspects of delivering an effective presentation:
Understanding your audience
Preparing your content
Delivering content
Controlling the environment
Each aspect is equally important, and each is worth considering deeply if you have a crucial presentation you need to get exactly right.
..............................................................................................
We frequently blog on workplace skills, employee engagement and change. See more here: http://www.rothwelldouglas.com/blog/
Jerarquías de Chomsky extendidas hechas durante el curso
http://ivanvladimir.github.io/content/teach/curso_lfya.html
Créditos:
AVALOS VALDEZ LUIS CARLOS
CEDILLO NAJERA ERIC RODRIGO
CRUZ PALAFOX NESTOR
DELGADO GONZALEZ DELTA SOFIA
DIAZ YAÑEZ ALDEBARAN DEJADIR
GARCIA XOCONOSTLE IVAN RAFAEL
GOMEZ GONZALEZ OMAR OTONIEL
GONZALEZ SARMIENTO LUIS MOISES
GUZMAN MERCADO NAZUL GIBRAN
JAIMES MARTINEZ JESUS ENRIQUE
LOPEZ ESTRADA ARTURO
LOPEZ VELARDE GONZALEZ GUILLERMO
MARQUEZ SOLIS GERARDO ALI
MARTINEZ ROJAS JORGE ANTONIO
MEOÑO VELAZQUEZ JOSE GUSTAVO
MOLINA ALBA VICTOR
MOTA PADILLA JORGE ANTONIO
PEREZ BARONA ALAN
RAFAEL BUENO RICARDO
ROCHIN SALAZAR JORGE ALEJANDRO
RODRIGUEZ REYES ALEXIS ALEJANDRO
RODRIGUEZ SALGADO ISAAC VINCENT
RUEDA CHAVEZ OSCAR RAFAEL
RUIZ VAZQUEZ IVAN
SALGADO FRANCO DULCE MARIA
SALGADO SALAZAR CARLOS EDUARDO
SANCHEZ ARENAS OSVALDO
SANCHEZ GONZALEZ PAOLA
SANCHEZ MONTAÑO CHRISTIAN MIGUEL
URBINA GONZALEZ JOSUE FABRICIO
VARGAS REYES JESSICA LORENA
VAZQUEZ RODRIGUEZ DAVID
VEGA SIERRA EDUARDO JOSE
ZUÑIGA REYES MIGUEL ANGEL
FellowBuddy.com is an innovative platform that brings students together to share notes, exam papers, study guides, project reports and presentation for upcoming exams.
We connect Students who have an understanding of course material with Students who need help.
Benefits:-
# Students can catch up on notes they missed because of an absence.
# Underachievers can find peer developed notes that break down lecture and study material in a way that they can understand
# Students can earn better grades, save time and study effectively
Our Vision & Mission – Simplifying Students Life
Our Belief – “The great breakthrough in your life comes when you realize it, that you can learn anything you need to learn; to accomplish any goal that you have set for yourself. This means there are no limits on what you can be, have or do.”
Like Us - https://www.facebook.com/FellowBuddycom
If I make any mistake, please forgive. I just collect information from different resource and online courses. Combine it together and make a checklist.
Next Generation Science Standards (NGSS) Infographic PosterWilliam Gadsby Peet
A free infographic poster designed to teach kids the Next Generation Science Standards (NGSS) in a fun and informative medium. Print it out and hang it on the classroom wall.
1. Think “Relevant ==> Simple ==> Intricate.”
2. Visualize “mastery blocks.”
3. Generate comprehensive examples.
4. Assessment.
5. End with lead to next topic.
Observation of Io’s Resurfacing via Plume Deposition Using Ground-based Adapt...Sérgio Sacani
Since volcanic activity was first discovered on Io from Voyager images in 1979, changes
on Io’s surface have been monitored from both spacecraft and ground-based telescopes.
Here, we present the highest spatial resolution images of Io ever obtained from a groundbased telescope. These images, acquired by the SHARK-VIS instrument on the Large
Binocular Telescope, show evidence of a major resurfacing event on Io’s trailing hemisphere. When compared to the most recent spacecraft images, the SHARK-VIS images
show that a plume deposit from a powerful eruption at Pillan Patera has covered part
of the long-lived Pele plume deposit. Although this type of resurfacing event may be common on Io, few have been detected due to the rarity of spacecraft visits and the previously low spatial resolution available from Earth-based telescopes. The SHARK-VIS instrument ushers in a new era of high resolution imaging of Io’s surface using adaptive
optics at visible wavelengths.
Seminar of U.V. Spectroscopy by SAMIR PANDASAMIR PANDA
Spectroscopy is a branch of science dealing the study of interaction of electromagnetic radiation with matter.
Ultraviolet-visible spectroscopy refers to absorption spectroscopy or reflect spectroscopy in the UV-VIS spectral region.
Ultraviolet-visible spectroscopy is an analytical method that can measure the amount of light received by the analyte.
DERIVATION OF MODIFIED BERNOULLI EQUATION WITH VISCOUS EFFECTS AND TERMINAL V...Wasswaderrick3
In this book, we use conservation of energy techniques on a fluid element to derive the Modified Bernoulli equation of flow with viscous or friction effects. We derive the general equation of flow/ velocity and then from this we derive the Pouiselle flow equation, the transition flow equation and the turbulent flow equation. In the situations where there are no viscous effects , the equation reduces to the Bernoulli equation. From experimental results, we are able to include other terms in the Bernoulli equation. We also look at cases where pressure gradients exist. We use the Modified Bernoulli equation to derive equations of flow rate for pipes of different cross sectional areas connected together. We also extend our techniques of energy conservation to a sphere falling in a viscous medium under the effect of gravity. We demonstrate Stokes equation of terminal velocity and turbulent flow equation. We look at a way of calculating the time taken for a body to fall in a viscous medium. We also look at the general equation of terminal velocity.
Deep Behavioral Phenotyping in Systems Neuroscience for Functional Atlasing a...Ana Luísa Pinho
Functional Magnetic Resonance Imaging (fMRI) provides means to characterize brain activations in response to behavior. However, cognitive neuroscience has been limited to group-level effects referring to the performance of specific tasks. To obtain the functional profile of elementary cognitive mechanisms, the combination of brain responses to many tasks is required. Yet, to date, both structural atlases and parcellation-based activations do not fully account for cognitive function and still present several limitations. Further, they do not adapt overall to individual characteristics. In this talk, I will give an account of deep-behavioral phenotyping strategies, namely data-driven methods in large task-fMRI datasets, to optimize functional brain-data collection and improve inference of effects-of-interest related to mental processes. Key to this approach is the employment of fast multi-functional paradigms rich on features that can be well parametrized and, consequently, facilitate the creation of psycho-physiological constructs to be modelled with imaging data. Particular emphasis will be given to music stimuli when studying high-order cognitive mechanisms, due to their ecological nature and quality to enable complex behavior compounded by discrete entities. I will also discuss how deep-behavioral phenotyping and individualized models applied to neuroimaging data can better account for the subject-specific organization of domain-general cognitive systems in the human brain. Finally, the accumulation of functional brain signatures brings the possibility to clarify relationships among tasks and create a univocal link between brain systems and mental functions through: (1) the development of ontologies proposing an organization of cognitive processes; and (2) brain-network taxonomies describing functional specialization. To this end, tools to improve commensurability in cognitive science are necessary, such as public repositories, ontology-based platforms and automated meta-analysis tools. I will thus discuss some brain-atlasing resources currently under development, and their applicability in cognitive as well as clinical neuroscience.
What is greenhouse gasses and how many gasses are there to affect the Earth.moosaasad1975
What are greenhouse gasses how they affect the earth and its environment what is the future of the environment and earth how the weather and the climate effects.
This presentation explores a brief idea about the structural and functional attributes of nucleotides, the structure and function of genetic materials along with the impact of UV rays and pH upon them.
Earliest Galaxies in the JADES Origins Field: Luminosity Function and Cosmic ...Sérgio Sacani
We characterize the earliest galaxy population in the JADES Origins Field (JOF), the deepest
imaging field observed with JWST. We make use of the ancillary Hubble optical images (5 filters
spanning 0.4−0.9µm) and novel JWST images with 14 filters spanning 0.8−5µm, including 7 mediumband filters, and reaching total exposure times of up to 46 hours per filter. We combine all our data
at > 2.3µm to construct an ultradeep image, reaching as deep as ≈ 31.4 AB mag in the stack and
30.3-31.0 AB mag (5σ, r = 0.1” circular aperture) in individual filters. We measure photometric
redshifts and use robust selection criteria to identify a sample of eight galaxy candidates at redshifts
z = 11.5 − 15. These objects show compact half-light radii of R1/2 ∼ 50 − 200pc, stellar masses of
M⋆ ∼ 107−108M⊙, and star-formation rates of SFR ∼ 0.1−1 M⊙ yr−1
. Our search finds no candidates
at 15 < z < 20, placing upper limits at these redshifts. We develop a forward modeling approach to
infer the properties of the evolving luminosity function without binning in redshift or luminosity that
marginalizes over the photometric redshift uncertainty of our candidate galaxies and incorporates the
impact of non-detections. We find a z = 12 luminosity function in good agreement with prior results,
and that the luminosity function normalization and UV luminosity density decline by a factor of ∼ 2.5
from z = 12 to z = 14. We discuss the possible implications of our results in the context of theoretical
models for evolution of the dark matter halo mass function.
3D Hybrid PIC simulation of the plasma expansion (ISSS-14)
Jan Rutten - Concrete coalgebra: an introduction by examples - Lecture 1
1. Lecture one:
The Method of Coalgebra
– in some detail –
Jan Rutten
CWI Amsterdam & Radboud University Nijmegen
IPM, Tehran - 13 January 2016
2. Acknowledgements
My esteemed co-authors
- Marcello Bonsangue (Leiden, CWI)
- Helle Hansen (Delft)
- Alexandra Silva (City College London)
- Milad Niqui
- Clemens Kupke (Glasgow)
- Prakash Panangaden (McGill, Montreal)
- Filippo Bonchi (ENS, Lyon)
- Joost Winter (Warsaw), Jurriaan Rot (ENS, Lyon)
- and many others.
Samson Abramsky (Oxford)
Damien Pous (ENS, Lyon)
3. Acknowledgements
My esteemed co-authors
- Marcello Bonsangue (Leiden, CWI)
- Helle Hansen (Delft)
- Alexandra Silva (City College London)
- Milad Niqui
- Clemens Kupke (Glasgow)
- Prakash Panangaden (McGill, Montreal)
- Filippo Bonchi (ENS, Lyon)
- Joost Winter (Warsaw), Jurriaan Rot (ENS, Lyon)
- and many others.
Samson Abramsky (Oxford)
Damien Pous (ENS, Lyon)
4. Overview of todays lectures
Lecture one: The method of coalgebra
Lecture two: A coinductive calculus of streams
Lecture three: Automata and the algebra-coalgebra duality
Lecture four: Coalgebraic up-to techniques
5. Overview of Lecture one
1. Category theory (where coalgebra comes from)
2. Duality (where coalgebra comes from)
3. How coalgebra works (the method in slogans)
4. Duality: induction and coinduction
5. What coalgebra studies (its subject)
6. Discussion
8. Why categories?
For logicians: gives a syntax-independent view of the
fundamental structures of logic, opens up new kinds of models
and interpretations.
For philosophers: a fresh approach to structuralist foundations
of mathematics and science; an alternative to the traditional
focus on set theory.
For computer scientists: gives a precise handle on
abstraction, representation-independence, genericity and more.
Gives the fundamental mathematical structures underpinning
programming concepts.
9. Why categories?
For mathematicians: organizes your previous mathematical
experience in a new and powerful way, reveals new connections
and structure, allows you to “think bigger thoughts”.
For physicists: new ways of formulating physical theories in a
structural form. Recent applications to Quantum Information
and Computation.
For economists and game theorists: new tools, bringing
complex phenomena into the scope of formalisation.
10. Category Theory in 10 Slogans
1. Always ask: what are the types?
2. Think in terms of arrows rather than elements.
3. Ask what mathematical structures do, not what they are.
4. Categories as mathematical contexts.
5. Categories as mathematical structures.
6. Make definitions and constructions as general as possible.
7. Functoriality!
8. Naturality!
9. Universality!
10. Adjoints are everywhere.
11. Category Theory in 10 Slogans
1. Always ask: what are the types?
2. Think in terms of arrows rather than elements.
3. Ask what mathematical structures do, not what they are.
4. Categories as mathematical contexts.
5. Categories as mathematical structures.
6. Make definitions and constructions as general as possible.
7. Functoriality!
8. Naturality!
9. Universality!
10. Adjoints are everywhere.
12. Category Theory in 10 Slogans
1. Always ask: what are the types?
2. Think in terms of arrows rather than elements.
3. Ask what mathematical structures do, not what they are.
4. Categories as mathematical contexts.
5. Categories as mathematical structures.
6. Make definitions and constructions as general as possible.
7. Functoriality!
8. Naturality!
9. Universality!
10. Adjoints are everywhere.
13. Category Theory in 10 Slogans
1. Always ask: what are the types?
2. Think in terms of arrows rather than elements.
3. Ask what mathematical structures do, not what they are.
4. Categories as mathematical contexts.
5. Categories as mathematical structures.
6. Make definitions and constructions as general as possible.
7. Functoriality!
8. Naturality!
9. Universality!
10. Adjoints are everywhere.
14. Category Theory in 10 Slogans
1. Always ask: what are the types?
2. Think in terms of arrows rather than elements.
3. Ask what mathematical structures do, not what they are.
4. Categories as mathematical contexts.
5. Categories as mathematical structures.
6. Make definitions and constructions as general as possible.
7. Functoriality!
8. Naturality!
9. Universality!
10. Adjoints are everywhere.
15. Category Theory in 10 Slogans
1. Always ask: what are the types?
2. Think in terms of arrows rather than elements.
3. Ask what mathematical structures do, not what they are.
4. Categories as mathematical contexts.
5. Categories as mathematical structures.
6. Make definitions and constructions as general as possible.
7. Functoriality!
8. Naturality!
9. Universality!
10. Adjoints are everywhere.
16. Category Theory in 10 Slogans
1. Always ask: what are the types?
2. Think in terms of arrows rather than elements.
3. Ask what mathematical structures do, not what they are.
4. Categories as mathematical contexts.
5. Categories as mathematical structures.
6. Make definitions and constructions as general as possible.
7. Functoriality!
8. Naturality!
9. Universality!
10. Adjoints are everywhere.
17. Category Theory in 10 Slogans
1. Always ask: what are the types?
2. Think in terms of arrows rather than elements.
3. Ask what mathematical structures do, not what they are.
4. Categories as mathematical contexts.
5. Categories as mathematical structures.
6. Make definitions and constructions as general as possible.
7. Functoriality!
8. Naturality!
9. Universality!
10. Adjoints are everywhere.
18. Category Theory in 10 Slogans
1. Always ask: what are the types?
2. Think in terms of arrows rather than elements.
3. Ask what mathematical structures do, not what they are.
4. Categories as mathematical contexts.
5. Categories as mathematical structures.
6. Make definitions and constructions as general as possible.
7. Functoriality!
8. Naturality!
9. Universality!
10. Adjoints are everywhere.
19. Category Theory in 10 Slogans
1. Always ask: what are the types?
2. Think in terms of arrows rather than elements.
3. Ask what mathematical structures do, not what they are.
4. Categories as mathematical contexts.
5. Categories as mathematical structures.
6. Make definitions and constructions as general as possible.
7. Functoriality!
8. Naturality!
9. Universality!
10. Adjoints are everywhere.
20. Categories: basic definitions
A category C consists of
- Objects A, B, C, . . .
- Morphisms/arrows: for each pair of objects A, B, a set of
morphisms C(A, B) with domain A and codomain B
- Composition of morphisms: g ◦ f:
A
g ◦ f
TT
f GG B
g GG C
- Axioms:
h ◦ (g ◦ f) = (h ◦ g) ◦ f f ◦ id = f = id ◦ f
21. Categories: basic definitions
A category C consists of
- Objects A, B, C, . . .
- Morphisms/arrows: for each pair of objects A, B, a set of
morphisms C(A, B) with domain A and codomain B
- Composition of morphisms: g ◦ f:
A
g ◦ f
TT
f GG B
g GG C
- Axioms:
h ◦ (g ◦ f) = (h ◦ g) ◦ f f ◦ id = f = id ◦ f
22. Categories: basic definitions
A category C consists of
- Objects A, B, C, . . .
- Morphisms/arrows: for each pair of objects A, B, a set of
morphisms C(A, B) with domain A and codomain B
- Composition of morphisms: g ◦ f:
A
g ◦ f
TT
f GG B
g GG C
- Axioms:
h ◦ (g ◦ f) = (h ◦ g) ◦ f f ◦ id = f = id ◦ f
23. Categories: basic definitions
A category C consists of
- Objects A, B, C, . . .
- Morphisms/arrows: for each pair of objects A, B, a set of
morphisms C(A, B) with domain A and codomain B
- Composition of morphisms: g ◦ f:
A
g ◦ f
TT
f GG B
g GG C
- Axioms:
h ◦ (g ◦ f) = (h ◦ g) ◦ f f ◦ id = f = id ◦ f
24. Categories: basic definitions
A category C consists of
- Objects A, B, C, . . .
- Morphisms/arrows: for each pair of objects A, B, a set of
morphisms C(A, B) with domain A and codomain B
- Composition of morphisms: g ◦ f:
A
g ◦ f
TT
f GG B
g GG C
- Axioms:
h ◦ (g ◦ f) = (h ◦ g) ◦ f f ◦ id = f = id ◦ f
25. Categories: examples
• Any kind of mathematical structure, together with structure
preserving functions, forms a category. E.g.
- sets and functions
- groups and group homomorphisms
- monoids and monoid homomorphisms
- vector spaces over a field k, and linear maps
- topological spaces and continuous functions
- partially ordered sets and monotone functions
• Monoids are one-object categories
• algebras, and algebra homomorphisms
• coalgebras, and coalgebra homomorphisms
26. Categories: examples
• Any kind of mathematical structure, together with structure
preserving functions, forms a category. E.g.
- sets and functions
- groups and group homomorphisms
- monoids and monoid homomorphisms
- vector spaces over a field k, and linear maps
- topological spaces and continuous functions
- partially ordered sets and monotone functions
• Monoids are one-object categories
• algebras, and algebra homomorphisms
• coalgebras, and coalgebra homomorphisms
27. Categories: examples
• Any kind of mathematical structure, together with structure
preserving functions, forms a category. E.g.
- sets and functions
- groups and group homomorphisms
- monoids and monoid homomorphisms
- vector spaces over a field k, and linear maps
- topological spaces and continuous functions
- partially ordered sets and monotone functions
• Monoids are one-object categories
• algebras, and algebra homomorphisms
• coalgebras, and coalgebra homomorphisms
28. Categories: examples
• Any kind of mathematical structure, together with structure
preserving functions, forms a category. E.g.
- sets and functions
- groups and group homomorphisms
- monoids and monoid homomorphisms
- vector spaces over a field k, and linear maps
- topological spaces and continuous functions
- partially ordered sets and monotone functions
• Monoids are one-object categories
• algebras, and algebra homomorphisms
• coalgebras, and coalgebra homomorphisms
29. Categories: examples
• Any kind of mathematical structure, together with structure
preserving functions, forms a category. E.g.
- sets and functions
- groups and group homomorphisms
- monoids and monoid homomorphisms
- vector spaces over a field k, and linear maps
- topological spaces and continuous functions
- partially ordered sets and monotone functions
• Monoids are one-object categories
• algebras, and algebra homomorphisms
• coalgebras, and coalgebra homomorphisms
30. Categories: examples
• Any kind of mathematical structure, together with structure
preserving functions, forms a category. E.g.
- sets and functions
- groups and group homomorphisms
- monoids and monoid homomorphisms
- vector spaces over a field k, and linear maps
- topological spaces and continuous functions
- partially ordered sets and monotone functions
• Monoids are one-object categories
• algebras, and algebra homomorphisms
• coalgebras, and coalgebra homomorphisms
31. Categories: examples
• Any kind of mathematical structure, together with structure
preserving functions, forms a category. E.g.
- sets and functions
- groups and group homomorphisms
- monoids and monoid homomorphisms
- vector spaces over a field k, and linear maps
- topological spaces and continuous functions
- partially ordered sets and monotone functions
• Monoids are one-object categories
• algebras, and algebra homomorphisms
• coalgebras, and coalgebra homomorphisms
32. Categories: examples
• Any kind of mathematical structure, together with structure
preserving functions, forms a category. E.g.
- sets and functions
- groups and group homomorphisms
- monoids and monoid homomorphisms
- vector spaces over a field k, and linear maps
- topological spaces and continuous functions
- partially ordered sets and monotone functions
• Monoids are one-object categories
• algebras, and algebra homomorphisms
• coalgebras, and coalgebra homomorphisms
33. Categories: examples
• Any kind of mathematical structure, together with structure
preserving functions, forms a category. E.g.
- sets and functions
- groups and group homomorphisms
- monoids and monoid homomorphisms
- vector spaces over a field k, and linear maps
- topological spaces and continuous functions
- partially ordered sets and monotone functions
• Monoids are one-object categories
• algebras, and algebra homomorphisms
• coalgebras, and coalgebra homomorphisms
34. Categories: examples
• Any kind of mathematical structure, together with structure
preserving functions, forms a category. E.g.
- sets and functions
- groups and group homomorphisms
- monoids and monoid homomorphisms
- vector spaces over a field k, and linear maps
- topological spaces and continuous functions
- partially ordered sets and monotone functions
• Monoids are one-object categories
• algebras, and algebra homomorphisms
• coalgebras, and coalgebra homomorphisms
35. Arrows rather than elements
A function f : X → Y (between sets) is:
- injective if
∀x, y ∈ X, f(x) = f(y) ⇒ x = y
- surjective if
∀y ∈ Y, ∃x ∈ X, f(x) = y
- monic if
∀g, h, f ◦ g = f ◦ h ⇒ g = h
- epic if
∀g, h, g ◦ f = h ◦ f ⇒ g = h
Proposition
• m is injective iff m is monic.
• e is surjective iff e is epic.
36. Arrows rather than elements
A function f : X → Y (between sets) is:
- injective if
∀x, y ∈ X, f(x) = f(y) ⇒ x = y
- surjective if
∀y ∈ Y, ∃x ∈ X, f(x) = y
- monic if
∀g, h, f ◦ g = f ◦ h ⇒ g = h
- epic if
∀g, h, g ◦ f = h ◦ f ⇒ g = h
Proposition
• m is injective iff m is monic.
• e is surjective iff e is epic.
37. Arrows rather than elements
A function f : X → Y (between sets) is:
- injective if
∀x, y ∈ X, f(x) = f(y) ⇒ x = y
- surjective if
∀y ∈ Y, ∃x ∈ X, f(x) = y
- monic if
∀g, h, f ◦ g = f ◦ h ⇒ g = h
- epic if
∀g, h, g ◦ f = h ◦ f ⇒ g = h
Proposition
• m is injective iff m is monic.
• e is surjective iff e is epic.
38. Arrows rather than elements
A function f : X → Y (between sets) is:
- injective if
∀x, y ∈ X, f(x) = f(y) ⇒ x = y
- surjective if
∀y ∈ Y, ∃x ∈ X, f(x) = y
- monic if
∀g, h, f ◦ g = f ◦ h ⇒ g = h
- epic if
∀g, h, g ◦ f = h ◦ f ⇒ g = h
Proposition
• m is injective iff m is monic.
• e is surjective iff e is epic.
39. Arrows rather than elements
A function f : X → Y (between sets) is:
- injective if
∀x, y ∈ X, f(x) = f(y) ⇒ x = y
- surjective if
∀y ∈ Y, ∃x ∈ X, f(x) = y
- monic if
∀g, h, f ◦ g = f ◦ h ⇒ g = h
- epic if
∀g, h, g ◦ f = h ◦ f ⇒ g = h
Proposition
• m is injective iff m is monic.
• e is surjective iff e is epic.
40. Arrows rather than elements
A function f : X → Y (between sets) is:
- injective if
∀x, y ∈ X, f(x) = f(y) ⇒ x = y
- surjective if
∀y ∈ Y, ∃x ∈ X, f(x) = y
- monic if
∀g, h, f ◦ g = f ◦ h ⇒ g = h
- epic if
∀g, h, g ◦ f = h ◦ f ⇒ g = h
Proposition
• m is injective iff m is monic.
• e is surjective iff e is epic.
41. Arrows rather than elements
A function f : X → Y (between sets) is:
- injective if
∀x, y ∈ X, f(x) = f(y) ⇒ x = y
- surjective if
∀y ∈ Y, ∃x ∈ X, f(x) = y
- monic if
∀g, h, f ◦ g = f ◦ h ⇒ g = h
- epic if
∀g, h, g ◦ f = h ◦ f ⇒ g = h
Proposition
• m is injective iff m is monic.
• e is surjective iff e is epic.
42. Arrows rather than elements
A function f : X → Y (between sets) is:
- injective if
∀x, y ∈ X, f(x) = f(y) ⇒ x = y
- surjective if
∀y ∈ Y, ∃x ∈ X, f(x) = y
- monic if
∀g, h, f ◦ g = f ◦ h ⇒ g = h
- epic if
∀g, h, g ◦ f = h ◦ f ⇒ g = h
Proposition
• m is injective iff m is monic.
• e is surjective iff e is epic.
43. Arrows rather than elements
Defining the Cartesian product . . .
- with elements:
A × B = { a, b | a ∈ A, b ∈ B }
where
a, b = {{a, b}, b}
- with arrows (expressing a universal property):
∀C
f
ÐÐ
g
11
f, g
A A × Bπ1
oo
π2
GG B
44. Arrows rather than elements
Defining the Cartesian product . . .
- with elements:
A × B = { a, b | a ∈ A, b ∈ B }
where
a, b = {{a, b}, b}
- with arrows (expressing a universal property):
∀C
f
ÐÐ
g
11
f, g
A A × Bπ1
oo
π2
GG B
45. Arrows rather than elements
Defining the Cartesian product . . .
- with elements:
A × B = { a, b | a ∈ A, b ∈ B }
where
a, b = {{a, b}, b}
- with arrows (expressing a universal property):
∀C
f
ÐÐ
g
11
f, g
A A × Bπ1
oo
π2
GG B
46. 2. Duality (where coalgebra comes from)
An additional slogan for categories: duality is omnipresent
- epi - mono
- product - sum
- initial object - final object
- algebra - coalgebra
47. 2. Duality (where coalgebra comes from)
An additional slogan for categories: duality is omnipresent
- epi - mono
- product - sum
- initial object - final object
- algebra - coalgebra
48. Duality: monos and epis
- f is monic:
∀g, h, f ◦ g = f ◦ h ⇒ g = h
•
g
99
h
UU •
f GG •
- f is epic:
∀g, h, g ◦ f = h ◦ f ⇒ g = h
• •
h
gg
g
ww
•
foo
Proposition: f is monic in C iff f is epic in Cop.
49. Duality: monos and epis
- f is monic:
∀g, h, f ◦ g = f ◦ h ⇒ g = h
•
g
99
h
UU •
f GG •
- f is epic:
∀g, h, g ◦ f = h ◦ f ⇒ g = h
• •
h
gg
g
ww
•
foo
Proposition: f is monic in C iff f is epic in Cop.
50. Duality: monos and epis
- f is monic:
∀g, h, f ◦ g = f ◦ h ⇒ g = h
•
g
99
h
UU •
f GG •
- f is epic:
∀g, h, g ◦ f = h ◦ f ⇒ g = h
• •
h
gg
g
ww
•
foo
Proposition: f is monic in C iff f is epic in Cop.
51. Duality: monos and epis
- f is monic:
∀g, h, f ◦ g = f ◦ h ⇒ g = h
•
g
99
h
UU •
f GG •
- f is epic:
∀g, h, g ◦ f = h ◦ f ⇒ g = h
• •
h
gg
g
ww
•
foo
Proposition: f is monic in C iff f is epic in Cop.
52. Duality: products and coproducts
The product of A and B:
∀C
f
ÐÐ
g
11
f, g
A A × Bπ1
oo
π2
GG B
The coproduct of A and B:
∀C
A κ1
GG
f
PP
A + B
[f, g]
yy
Bκ2
oo
gll
Proposition: O is product in C iff O is coproduct in Cop.
53. Duality: products and coproducts
The product of A and B:
∀C
f
ÐÐ
g
11
f, g
A A × Bπ1
oo
π2
GG B
The coproduct of A and B:
∀C
A κ1
GG
f
PP
A + B
[f, g]
yy
Bκ2
oo
gll
Proposition: O is product in C iff O is coproduct in Cop.
54. Duality: products and coproducts
The product of A and B:
∀C
f
ÐÐ
g
11
f, g
A A × Bπ1
oo
π2
GG B
The coproduct of A and B:
∀C
A κ1
GG
f
PP
A + B
[f, g]
yy
Bκ2
oo
gll
Proposition: O is product in C iff O is coproduct in Cop.
55. Duality: products and coproducts
The product of A and B:
∀C
f
ÐÐ
g
11
f, g
A A × Bπ1
oo
π2
GG B
The coproduct of A and B:
∀C
A κ1
GG
f
PP
A + B
[f, g]
yy
Bκ2
oo
gll
Proposition: O is product in C iff O is coproduct in Cop.
56. Duality: initial and final objects
An object A in a category C is . . .
- initial if for any object B there exists a unique arrow
A
! GG B
- final if for any object B there exists a unique arrow
B
! GG A
Proposition: A is initial in C iff A is final in Cop.
Proposition: Initial and final objects are unique up-to
isomorphism.
57. Duality: initial and final objects
An object A in a category C is . . .
- initial if for any object B there exists a unique arrow
A
! GG B
- final if for any object B there exists a unique arrow
B
! GG A
Proposition: A is initial in C iff A is final in Cop.
Proposition: Initial and final objects are unique up-to
isomorphism.
58. Duality: initial and final objects
An object A in a category C is . . .
- initial if for any object B there exists a unique arrow
A
! GG B
- final if for any object B there exists a unique arrow
B
! GG A
Proposition: A is initial in C iff A is final in Cop.
Proposition: Initial and final objects are unique up-to
isomorphism.
59. Duality: initial and final objects
An object A in a category C is . . .
- initial if for any object B there exists a unique arrow
A
! GG B
- final if for any object B there exists a unique arrow
B
! GG A
Proposition: A is initial in C iff A is final in Cop.
Proposition: Initial and final objects are unique up-to
isomorphism.
60. Duality: initial and final objects
An object A in a category C is . . .
- initial if for any object B there exists a unique arrow
A
! GG B
- final if for any object B there exists a unique arrow
B
! GG A
Proposition: A is initial in C iff A is final in Cop.
Proposition: Initial and final objects are unique up-to
isomorphism.
61. Duality: initial and final objects
An object A in a category C is . . .
- initial if for any object B there exists a unique arrow
A
! GG B
- final if for any object B there exists a unique arrow
B
! GG A
Proposition: A is initial in C iff A is final in Cop.
Proposition: Initial and final objects are unique up-to
isomorphism.
62. Where coalgebra comes from
By duality. From algebra!
Classically, algebras are sets with operations.
Ex. (N, 0, succ), with 0 ∈ N and succ : N → N.
Equivalently,
1 + N
[zero, succ]
N
where 1 = {∗} and zero(∗) = 0.
63. Where coalgebra comes from
By duality. From algebra!
Classically, algebras are sets with operations.
Ex. (N, 0, succ), with 0 ∈ N and succ : N → N.
Equivalently,
1 + N
[zero, succ]
N
where 1 = {∗} and zero(∗) = 0.
64. Where coalgebra comes from
By duality. From algebra!
Classically, algebras are sets with operations.
Ex. (N, 0, succ), with 0 ∈ N and succ : N → N.
Equivalently,
1 + N
[zero, succ]
N
where 1 = {∗} and zero(∗) = 0.
68. Example: streams
Streams are our favourite example of a coalgebra:
Nω
head, tail
N × Nω
where
head(σ) = σ(0)
tail(σ) = (σ(1), σ(2), σ(3), . . .)
for any stream σ = (σ(0), σ(1), σ(2), . . .) ∈ Nω.
69. 3. How coalgebra works (its method in slogans)
• be precise about types
• ask what a system does rather than what it is
• functoriality
• interaction through homomorphisms
• aim for universality
Note that all these slogans are part of the categorical approach.
70. 3. How coalgebra works (its method in slogans)
• be precise about types
• ask what a system does rather than what it is
• functoriality
• interaction through homomorphisms
• aim for universality
Note that all these slogans are part of the categorical approach.
71. Starting point: the system’s type
A coalgebra of type F is a pair (X, α) with
α : X → F(X)
For instance, non-deterministic transition systems:
X
α
X
α
X
α
X
α
Pf (A×X) Pf (X)A P(X)A 2 × P(X)A
Formally, the type F of a coalgebra/system is a functor.
72. The importance of knowing the system’s type
The type F of a coalgebra/system
α : X → F(X)
determines
- a canonical notion of system equivalence: bisimulation
- a canonical notion of minimization
- a canonical interpretation: final coalgebra semantics
- (a canonical logic)
73. Doing versus being
Doing Being
Behaviour Construction
Systems as black boxes (with internal states)
Behavioural specification
74. Doing versus being
Doing Being
Behaviour Construction
Systems as black boxes (with internal states)
Behavioural specification
75. Doing versus being
Doing Being
Behaviour Construction
Systems as black boxes (with internal states)
Behavioural specification
76. Doing versus being
Doing Being
Behaviour Construction
Systems as black boxes (with internal states)
Behavioural specification
77. Doing versus being
Doing Being
Behaviour Construction
Systems as black boxes (with internal states)
Behavioural specification
78. Example: the shuffle product of streams
Being:
(σ ⊗ τ) (n) =
n
k=0
n
k
· σ(k) · τ(n − k)
Doing:
σ ⊗ τ
σ(0) · τ(0)
GG (σ ⊗ τ) + (σ ⊗ τ )
79. Example: the shuffle product of streams
Being:
(σ ⊗ τ) (n) =
n
k=0
n
k
· σ(k) · τ(n − k)
Doing:
σ ⊗ τ
σ(0) · τ(0)
GG (σ ⊗ τ) + (σ ⊗ τ )
80. Example: the shuffle product of streams
Being:
(σ ⊗ τ) (n) =
n
k=0
n
k
· σ(k) · τ(n − k)
Doing:
σ ⊗ τ
σ(0) · τ(0)
GG (σ ⊗ τ) + (σ ⊗ τ )
81. Example: the Hamming numbers
Being:
The increasing stream h of all natural numbers that are divisible
by only 2, 3, or 5:
h = (1, 2, 3, 4, 5, 6, 8, 9, 10, 12, 15, 16, 18, 20, 24, . . . )
h(n) = ?
Doing:
h
1 GG (2 · h) (3 · h) (5 · h)
82. Example: the Hamming numbers
Being:
The increasing stream h of all natural numbers that are divisible
by only 2, 3, or 5:
h = (1, 2, 3, 4, 5, 6, 8, 9, 10, 12, 15, 16, 18, 20, 24, . . . )
h(n) = ?
Doing:
h
1 GG (2 · h) (3 · h) (5 · h)
83. Example: the Hamming numbers
Being:
The increasing stream h of all natural numbers that are divisible
by only 2, 3, or 5:
h = (1, 2, 3, 4, 5, 6, 8, 9, 10, 12, 15, 16, 18, 20, 24, . . . )
h(n) = ?
Doing:
h
1 GG (2 · h) (3 · h) (5 · h)
84. Example: the Hamming numbers
Being:
The increasing stream h of all natural numbers that are divisible
by only 2, 3, or 5:
h = (1, 2, 3, 4, 5, 6, 8, 9, 10, 12, 15, 16, 18, 20, 24, . . . )
h(n) = ?
Doing:
h
1 GG (2 · h) (3 · h) (5 · h)
86. Functoriality
X
α
h GG Y
β
F(X)
F(h)
GG F(Y)
Note that for the definition of homomorphism,
the type F needs to be a functor:
F acts on sets: F(X), F(Y) and on functions: F(h)
87. Example of a homomorphism
X
h GG Y
O × X
id × h
GG O × Y
x0
a
GG x1
b
GG x2
a
GG x3
b
ww h GG y0
a
VV y1
b
xx
Minimization through (canonical) homomorphism.
88. Universality
Always aim at universal/canonical formulations.
For instance: final coalgebras
In final coalgebras: Being = Doing
⇒ coinduction (to be discussed shortly)
⇒ semantics
89. Universality
Always aim at universal/canonical formulations.
For instance: final coalgebras
In final coalgebras: Being = Doing
⇒ coinduction (to be discussed shortly)
⇒ semantics
90. Universality
Always aim at universal/canonical formulations.
For instance: final coalgebras
In final coalgebras: Being = Doing
⇒ coinduction (to be discussed shortly)
⇒ semantics
91. Universality
Always aim at universal/canonical formulations.
For instance: final coalgebras
In final coalgebras: Being = Doing
⇒ coinduction (to be discussed shortly)
⇒ semantics
92. Universality
Always aim at universal/canonical formulations.
For instance: final coalgebras
In final coalgebras: Being = Doing
⇒ coinduction (to be discussed shortly)
⇒ semantics
93. Universality
Always aim at universal/canonical formulations.
For instance: final coalgebras
In final coalgebras: Being = Doing
⇒ coinduction (to be discussed shortly)
⇒ semantics
94. Semantics by finality: streams
The final homomorphism into the set of streams:
X
∃! h GG Oω
O × X
id × h
GG O × Oω
maps any system X to its minimization: e.g.,
x0
a
GG x1
b
GG x2
a
GG x3
b
ww h GG (ab)ω
a
RR
(ba)ω
btt
x0, x2
h GG (ab)ω x1, x3
h GG (ba)ω
95. 4. Duality: induction and coinduction
- initial algebra - final coalgebra
- congruence - bisimulation
- induction - coinduction
- least fixed point - greatest fixed point
96. Initial algebra
The natural numbers are an example of an initial algebra:
1 + N
[zero, succ]
GG 1 + S
β∀
N
∃ !
GG S
Note: any two homomorphisms from N to S are equal.
Note: id : N → N is a homomorphism.
Note: [zero, succ] : 1 + N ∼= N.
97. Initial algebra
The natural numbers are an example of an initial algebra:
1 + N
[zero, succ]
GG 1 + S
β∀
N
∃ !
GG S
Note: any two homomorphisms from N to S are equal.
Note: id : N → N is a homomorphism.
Note: [zero, succ] : 1 + N ∼= N.
98. Initial algebra
The natural numbers are an example of an initial algebra:
1 + N
[zero, succ]
GG 1 + S
β∀
N
∃ !
GG S
Note: any two homomorphisms from N to S are equal.
Note: id : N → N is a homomorphism.
Note: [zero, succ] : 1 + N ∼= N.
99. Initial algebra
The natural numbers are an example of an initial algebra:
1 + N
[zero, succ]
GG 1 + S
β∀
N
∃ !
GG S
Note: any two homomorphisms from N to S are equal.
Note: id : N → N is a homomorphism.
Note: [zero, succ] : 1 + N ∼= N.
100. Final coalgebra
Streams are an example of a final coalgebra:
S
β∀
∃ ! GG Nω
head, tail
N × S GG N × Nω
(Note: instead of N, we could have taken any set.)
Note: any two homomorphisms from S to Nω are equal.
Note: id : Nω → Nω is a homomorphism.
Note: head, tail : Nω ∼= N × Nω.
101. Final coalgebra
Streams are an example of a final coalgebra:
S
β∀
∃ ! GG Nω
head, tail
N × S GG N × Nω
(Note: instead of N, we could have taken any set.)
Note: any two homomorphisms from S to Nω are equal.
Note: id : Nω → Nω is a homomorphism.
Note: head, tail : Nω ∼= N × Nω.
102. Final coalgebra
Streams are an example of a final coalgebra:
S
β∀
∃ ! GG Nω
head, tail
N × S GG N × Nω
(Note: instead of N, we could have taken any set.)
Note: any two homomorphisms from S to Nω are equal.
Note: id : Nω → Nω is a homomorphism.
Note: head, tail : Nω ∼= N × Nω.
103. Final coalgebra
Streams are an example of a final coalgebra:
S
β∀
∃ ! GG Nω
head, tail
N × S GG N × Nω
(Note: instead of N, we could have taken any set.)
Note: any two homomorphisms from S to Nω are equal.
Note: id : Nω → Nω is a homomorphism.
Note: head, tail : Nω ∼= N × Nω.
104. Algebra and induction
Induction = definition and proof principle for algebras.
Ex. mathematical induction: for all P ⊆ N,
( P(0) and (∀n : P(n) ⇒ P(succ(n))) ) ⇒ ∀n : P(n)
(Other examples: transfinite, well-founded, tree, structural, etc.)
We show that induction is a property of initial algebras.
105. Algebra and induction
Induction = definition and proof principle for algebras.
Ex. mathematical induction: for all P ⊆ N,
( P(0) and (∀n : P(n) ⇒ P(succ(n))) ) ⇒ ∀n : P(n)
(Other examples: transfinite, well-founded, tree, structural, etc.)
We show that induction is a property of initial algebras.
106. Algebra and induction
Induction = definition and proof principle for algebras.
Ex. mathematical induction: for all P ⊆ N,
( P(0) and (∀n : P(n) ⇒ P(succ(n))) ) ⇒ ∀n : P(n)
(Other examples: transfinite, well-founded, tree, structural, etc.)
We show that induction is a property of initial algebras.
107. Algebra and induction
Induction = definition and proof principle for algebras.
Ex. mathematical induction: for all P ⊆ N,
( P(0) and (∀n : P(n) ⇒ P(succ(n))) ) ⇒ ∀n : P(n)
(Other examples: transfinite, well-founded, tree, structural, etc.)
We show that induction is a property of initial algebras.
108. Algebras and congruences (ex. natural numbers)
We call R ⊆ N × N a congruence if
(i) (0, 0) ∈ R and
(ii) (n, m) ∈ R ⇒ (succ(n), succ(m)) ∈ R
(Note: R is not required to be an equivalence relation.)
Equivalently, R ⊆ N × N is a congruence if
1 + N
[zero, succ]
1 + R
γ∃
oo GG 1 + N
[zero, succ]
N Rπ1
oo
π2
GG N
for some function γ : 1 + R → R.
109. Algebras and congruences (ex. natural numbers)
We call R ⊆ N × N a congruence if
(i) (0, 0) ∈ R and
(ii) (n, m) ∈ R ⇒ (succ(n), succ(m)) ∈ R
(Note: R is not required to be an equivalence relation.)
Equivalently, R ⊆ N × N is a congruence if
1 + N
[zero, succ]
1 + R
γ∃
oo GG 1 + N
[zero, succ]
N Rπ1
oo
π2
GG N
for some function γ : 1 + R → R.
110. Initial algebras and congruences
Theorem: induction proof principle
Every congruence R ⊆ N × N contains the diagonal:
∆ ⊆ R
where ∆ = {(n, n) | n ∈ N}.
Proof: Because (N, [zero, succ]) is an initial algebra,
1 + N
[zero, succ]
CC
1 + R
γ∃
oo GG 1 + N
[zero, succ]
ss
N
!
AA
Rπ1
oo
π2
GG N
!
uu
we have π1◦! = id = π2◦!, which implies !(n) = (n, n), all n ∈ N.
111. Initial algebras and congruences
Theorem: induction proof principle
Every congruence R ⊆ N × N contains the diagonal:
∆ ⊆ R
where ∆ = {(n, n) | n ∈ N}.
Proof: Because (N, [zero, succ]) is an initial algebra,
1 + N
[zero, succ]
CC
1 + R
γ∃
oo GG 1 + N
[zero, succ]
ss
N
!
AA
Rπ1
oo
π2
GG N
!
uu
we have π1◦! = id = π2◦!, which implies !(n) = (n, n), all n ∈ N.
112. Initial algebras and induction
Theorem: The following are equivalent:
1. For every congruence relation R ⊆ N × N,
∆ ⊆ R
2. For every predicate P ⊆ N,
( P(0) and (∀n : P(n) ⇒ P(succ(n))) ) ⇒ ∀n : P(n)
Proof: Exercise.
In other words: two equivalent formulations of induction!
113. Initial algebras and induction
Theorem: The following are equivalent:
1. For every congruence relation R ⊆ N × N,
∆ ⊆ R
2. For every predicate P ⊆ N,
( P(0) and (∀n : P(n) ⇒ P(succ(n))) ) ⇒ ∀n : P(n)
Proof: Exercise.
In other words: two equivalent formulations of induction!
114. Initial algebras and induction
Theorem: The following are equivalent:
1. For every congruence relation R ⊆ N × N,
∆ ⊆ R
2. For every predicate P ⊆ N,
( P(0) and (∀n : P(n) ⇒ P(succ(n))) ) ⇒ ∀n : P(n)
Proof: Exercise.
In other words: two equivalent formulations of induction!
115. Coalgebra and coinduction
Coinduction = definition and proof principle for coalgebras.
Coinduction is dual to induction, in a very precise way.
Categorically, coinduction is a property of final coalgebras.
Algorithmically, coinduction generalises Robin Milner’s
bisimulation proof method.
116. Coalgebra and coinduction
Coinduction = definition and proof principle for coalgebras.
Coinduction is dual to induction, in a very precise way.
Categorically, coinduction is a property of final coalgebras.
Algorithmically, coinduction generalises Robin Milner’s
bisimulation proof method.
117. Coalgebra and coinduction
Coinduction = definition and proof principle for coalgebras.
Coinduction is dual to induction, in a very precise way.
Categorically, coinduction is a property of final coalgebras.
Algorithmically, coinduction generalises Robin Milner’s
bisimulation proof method.
118. Coalgebra and coinduction
Coinduction = definition and proof principle for coalgebras.
Coinduction is dual to induction, in a very precise way.
Categorically, coinduction is a property of final coalgebras.
Algorithmically, coinduction generalises Robin Milner’s
bisimulation proof method.
119. Coalgebras and bisimulations (ex. streams)
We call R ⊆ Nω × Nω a bisimulation if, for all (σ, τ) ∈ R,
(i) head(σ) = head(τ) and
(ii) (tail(σ), tail(τ)) ∈ R
Equivalently, R ⊆ Nω × Nω is a bisimulation if
Nω
head, tail
R
γ∃
π1oo π2 GG Nω
head, tail
N × Nω N × Roo GG N × Nω
for some function γ : R → N × R.
120. Coalgebras and bisimulations (ex. streams)
We call R ⊆ Nω × Nω a bisimulation if, for all (σ, τ) ∈ R,
(i) head(σ) = head(τ) and
(ii) (tail(σ), tail(τ)) ∈ R
Equivalently, R ⊆ Nω × Nω is a bisimulation if
Nω
head, tail
R
γ∃
π1oo π2 GG Nω
head, tail
N × Nω N × Roo GG N × Nω
for some function γ : R → N × R.
121. Final coalgebras and bisimulations
Theorem: coinduction proof principle
Every bisimulation R ⊆ Nω × Nω is contained in the diagonal:
R ⊆ ∆
where ∆ = {(σ, σ) | σ ∈ Nω}.
Proof: Because (Nω, head, tail ) is a final coalgebra,
Nω
head, tail
R
γ∃
π1oo π2 GG Nω
head, tail
N × Nω N × Roo GG N × Nω
we have π1 = π2, which implies σ = τ, for all (σ, τ) ∈ Nω.
122. Final coalgebras and bisimulations
Theorem: coinduction proof principle
Every bisimulation R ⊆ Nω × Nω is contained in the diagonal:
R ⊆ ∆
where ∆ = {(σ, σ) | σ ∈ Nω}.
Proof: Because (Nω, head, tail ) is a final coalgebra,
Nω
head, tail
R
γ∃
π1oo π2 GG Nω
head, tail
N × Nω N × Roo GG N × Nω
we have π1 = π2, which implies σ = τ, for all (σ, τ) ∈ Nω.
123. Final coalgebras and coinduction
The following are equivalent:
1. For every bisimulation relation R ⊆ Nω × Nω,
R ⊆ ∆
2. ??
In other words: no obvious equivalent formulation of
coinduction!
124. Final coalgebras and coinduction
The following are equivalent:
1. For every bisimulation relation R ⊆ Nω × Nω,
R ⊆ ∆
2. ??
In other words: no obvious equivalent formulation of
coinduction!
125. Final coalgebras and coinduction
The following are equivalent:
1. For every bisimulation relation R ⊆ Nω × Nω,
R ⊆ ∆
2. ??
In other words: no obvious equivalent formulation of
coinduction!
126. Congruences and bisimulations: dual?
R ⊆ N × N is a congruence if
1 + N
[zero, succ]
1 + R
γ∃
oo GG 1 + N
[zero, succ]
N Rπ1
oo
π2
GG N
R ⊆ Nω × Nω is a bisimulation if
Nω
head, tail
R
γ∃
π1oo π2 GG Nω
head, tail
N × Nω N × Roo GG N × Nω
127. Congruences and bisimulations: dual?
R ⊆ S × T is an F-congruence if
F(S)
α
F(R)
γ∃
oo GG F(T)
β
S Rπ1
oo
π2
GG T
R ⊆ S × T is an F-bisimulation if
S
α
R
γ∃
π1oo π2 GG T
β
F(S) F(R)oo GG F(T)
128. Induction and coinduction: dual?
For every congruence relation R ⊆ N × N,
∆ ⊆ R
For every bisimulation relation R ⊆ Nω × Nω,
R ⊆ ∆
129. Induction and coinduction: dual?
For every congruence relation R on an initial algebra:
∆ ⊆ R
For every bisimulation relation R on a final coalgebra:
R ⊆ ∆
130. An aside: fixed points
Let (P, ≤) be a preorder and f : P → P a monotone map.
Classically, least fixed point induction is:
∀p ∈ P : f(p) ≤ p ⇒ µf ≤ p
Classically, greatest fixed point coinduction is:
∀p ∈ P : p ≤ f(p) ⇒ p ≤ νf
131. An aside: fixed points
Let (P, ≤) be a preorder and f : P → P a monotone map.
Classically, least fixed point induction is:
∀p ∈ P : f(p) ≤ p ⇒ µf ≤ p
Classically, greatest fixed point coinduction is:
∀p ∈ P : p ≤ f(p) ⇒ p ≤ νf
132. An aside: fixed points
Let (P, ≤) be a preorder and f : P → P a monotone map.
Classically, least fixed point induction is:
∀p ∈ P : f(p) ≤ p ⇒ µf ≤ p
Classically, greatest fixed point coinduction is:
∀p ∈ P : p ≤ f(p) ⇒ p ≤ νf
133. An aside: fixed points
Any preorder (P, ≤) is a category, with arrows:
p → q ≡ p ≤ q
Any monotone map is a functor:
p → q → f(p) → f(q)
Lfp induction and gfp coinduction become:
f(µf)
GG f(p)
µf GG p
p
GG νf
f(p) GG f(νf)
134. An aside: fixed points
Any preorder (P, ≤) is a category, with arrows:
p → q ≡ p ≤ q
Any monotone map is a functor:
p → q → f(p) → f(q)
Lfp induction and gfp coinduction become:
f(µf)
GG f(p)
µf GG p
p
GG νf
f(p) GG f(νf)
135. An aside: fixed points
Any preorder (P, ≤) is a category, with arrows:
p → q ≡ p ≤ q
Any monotone map is a functor:
p → q → f(p) → f(q)
Lfp induction and gfp coinduction become:
f(µf)
GG f(p)
µf GG p
p
GG νf
f(p) GG f(νf)
136. Fixed point (co)induction = initiality and finality
f(µf)
GG f(p)
µf GG p
p
GG νf
f(p) GG f(νf)
F(A)
GG F(S)
A
∃ !
GG S
S
∃ ! GG Z
F(S) GG F(Z)
137. Fixed point (co)induction = initiality and finality
f(µf)
GG f(p)
µf GG p
p
GG νf
f(p) GG f(νf)
F(A)
GG F(S)
A
∃ !
GG S
S
∃ ! GG Z
F(S) GG F(Z)
138. 5. What coalgebra studies
• the behaviour of – often infinite, circular – systems
(their equivalence, minimization, synthesis)
• rather: the universal principles underlying this behaviour
• these days applied in many different scientific disciplines
139. 5. What coalgebra studies
• the behaviour of – often infinite, circular – systems
(their equivalence, minimization, synthesis)
• rather: the universal principles underlying this behaviour
• these days applied in many different scientific disciplines
140. 5. What coalgebra studies
• the behaviour of – often infinite, circular – systems
(their equivalence, minimization, synthesis)
• rather: the universal principles underlying this behaviour
• these days applied in many different scientific disciplines
141. 5. What coalgebra studies
• the behaviour of – often infinite, circular – systems
(their equivalence, minimization, synthesis)
• rather: the universal principles underlying this behaviour
• these days applied in many different scientific disciplines
142. Example: dynamical systems
A dynamical system is:
set of states X and a transition function t : X → X
Notation for transitions:
x → y ≡ t(x) = y
Examples:
x GG y GG z
poo r GG s
q
dd
143. Example: systems with output
A system with output:
o, t : X → O × X
Notation: x
a GG y ≡ o(x) = a and t(x) = y.
x0
a
GG x1
b
GG x2
a
GG x3
b
ww
y0
a
VV y1
b
xx
144. Example: infinite data types
For instance, streams of natural numbers:
Nω
= {σ | σ : N → N }
The behaviour of streams:
(σ(0), σ(1), σ(2), . . .)
σ(0)
GG (σ(1), σ(2), σ(3), . . .)
where we call
σ(0): the initial value (= head)
σ = (σ(1), σ(2), σ(3), . . .): the derivative (= tail)
153. Example: automata
A deterministic automaton
GG x
b
a
GG z
b
zz
a
}}
y
b
yy
a
tt
• initial state: x • final states: y and z
• L(x) = {a, b}∗ a
154. Example: automata
A deterministic automaton
GG x
b
a
GG z
b
zz
a
}}
y
b
yy
a
tt
• initial state: x • final states: y and z
• L(x) = {a, b}∗ a
155. Example: automata
A deterministic automaton
GG x
b
a
GG z
b
zz
a
}}
y
b
yy
a
tt
• initial state: x • final states: y and z
• L(x) = {a, b}∗ a
156. All these examples: circular behaviour
GG x
b
a
GG z
b
zz
a
}}
y
b
yy
a
tt
y0
a
VV y1
b
xx
(1, 2, 3, . . .)
1 GG
1
(1, 1, 1, . . .)
1
157. Where coalgebra is used
• logic, set theory
• automata
• control theory
• data types
• dynamical systems
• games
• economy
• ecology
158. 6. Discussion
• New way of thinking – give it time
• Extensive example: streams (Lecture two)
• Algebra and coalgebra (Lecture three and four)
- bisimulation up-to
- cf. CALCO
• Algorithms, tools (Lecture four)
- Cf. Hacking nondeterminism with induction and coinduction
Bonchi and Pous, Comm. ACM Vol. 58(2), 2015