INTRODUCCIÓN A LAS COÁLGEBRAS: STREAMS Universidad Distrital Francisco José de Caldas Bogotá, 2014 Enric Cosme Llópez Departament d'Àlgebra Universitat de València COÁLGEBRA UNIVERSAL Coálgebra Universal Coálgebra Final COÁLGEBRA Dada una categoría X, llamada la categoría base y un endofuntor F : X → X. Definición Una F -coálgebra es un par (X, α), donde X es un objeto de X y α : X → F X es una flecha en X. Llamamos a X la base y a α la función estructural de la coálgebra. 3 Coálgebra Universal Coálgebra Final COÁLGEBRA Máquina de dos botones 1 V N 4 Coálgebra Universal Coálgebra Final COÁLGEBRA Máquina de dos botones 1 V N 5 Coálgebra Universal Coálgebra Final COÁLGEBRA Máquina de dos botones 1 V N 6 Coálgebra Universal Coálgebra Final COÁLGEBRA Máquina de dos botones 1 V N 7 Coálgebra Universal Coálgebra Final COÁLGEBRA Máquina de dos botones 1 V N 8 Coálgebra Universal Coálgebra Final COÁLGEBRA Máquina de dos botones 0 V N 9 Coálgebra Universal Coálgebra Final COÁLGEBRA Máquina de dos botones 0 V N 10 Coálgebra Universal Coálgebra Final COÁLGEBRA Máquina de dos botones V N Esta máquina puede ser descrita como coálgebra: (v, n) : X −→ A × X 11 Coálgebra Universal Coálgebra Final HOMOMORFISMOS DE COÁLGEBRAS Definición Sean (X, α) y (Y, β) dos F -coálgebras. Un homomorfismo de F -coálgebras, es una función f : X → Y que hace conmutar el siguiente diagrama: X f α FX Y β Ff FY 12 Coálgebra Universal Coálgebra Final SUBCOÁLGEBRAS Definición Sea (X, α) una F -coálgebra. Sea W ⊆ X un subconjunto cualquiera de X. Diremos que W es una subcoálgebra de X si existe una función estructural αW en W de forma que la función inclusión i : W → X es un homomorfismo de F -coálgebras. W i ∃ αW FW X α Fi FX 13 Coálgebra Universal Coálgebra Final BISIMULACIÓN Definición Sean (X, α) y (Y, β) dos F -coálgebras. Un subconjunto Z del producto cartesiano de X y Y es una F -bisimulación si existe una función estructural γ : Z → F Z de forma que las proyecciones de Z a X y Y son homomorfismos de F -coálgebras. π1 X α FX Z ∃ γ FZ F π1 F π2 π2 Y β FY 14 Coálgebra Universal Coálgebra Final BISIMULACIÓN Definición Si (X, α) = (Y, β), entonces Z se llama bisimulación en (X, α). Una equivalencia bisimulacional es una bisimulación que además es una relación de equivalencia. Dos estados x ∈ X, y ∈ Y se llaman bisimilares si existe una bisimulación Z con hx, yi ∈ Z. 15 Coálgebra Universal Coálgebra Final BISIMULACIÓN Definición Si (X, α) = (Y, β), entonces Z se llama bisimulación en (X, α). Una equivalencia bisimulacional es una bisimulación que además es una relación de equivalencia. Dos estados x ∈ X, y ∈ Y se llaman bisimilares si existe una bisimulación Z con hx, yi ∈ Z. Ejemplo El conjunto vacío, ∅ ⊆ X × Y , siempre es una bisimulación entre (X, α) y (Y, β). 15 Coálgebra Universal Coálgebra Final BISIMULACIÓN Ejemplo La diagonal, ∆X ⊆ X × X, siempre es una equivalencia bisimulacional en X. 16 Coálgebra Universal Coálgebra Final BISIMULACIÓN Ejemplo La diagonal, ∆X ⊆ X × X, siempre es una equivalencia bisimulacional en X. Máquina de dos botones Sean (X, (v, n)) y (Y, (v, n)) dos máquinas. Los elementos x ∈ X y y ∈ Y son bisimilares si y sólo si: v(x) = v(y) n(x) y n(y) son bisimilares. 16 Coálgebra Universal Coálgebra Final COCIENTES Teorema Sea (X, α) una F -coálgebra. Sea Z una equivalencia bisimulacional en X. Entonces existe una única función estructural γZ : X/Z → F (X/Z) que convierte la función cociente πZ : X → X/Z en un homomorfismo de F -coálgebras. X πZ ∃! γZ α FX X/Z F πZ F (X/Z) 17 COÁLGEBRA FINAL Coálgebra Universal Coálgebra Final COÁLGEBRA FINAL Definición Diremos que una F -coálgebra, (X, α), es una F -coálgebra final si para cualquier otra F -coalgebra (Y, β) existe un único homomorfismo de F -coálgebras ! : Y → X. 19 Coálgebra Universal Coálgebra Final COÁLGEBRA FINAL Definición Diremos que una F -coálgebra, (X, α), es una F -coálgebra final si para cualquier otra F -coalgebra (Y, β) existe un único homomorfismo de F -coálgebras ! : Y → X. Teorema Sea (X, α) una F -coálgebra final, entonces α es un isomorfismo de F -coálgebras. La coálgebra final, si existe, es única salvo isomorfismo. 19 Coálgebra Universal Coálgebra Final COÁLGEBRA FINAL Definición Diremos que una F -coálgebra, (X, α), es una F -coálgebra final si para cualquier otra F -coalgebra (Y, β) existe un único homomorfismo de F -coálgebras ! : Y → X. Teorema Sea (X, α) una F -coálgebra final, entonces α es un isomorfismo de F -coálgebras. La coálgebra final, si existe, es única salvo isomorfismo. Son puntos fijos para el funtor, esto es F (X) ∼ = X. 19 Coálgebra Universal Coálgebra Final COÁLGEBRA FINAL Máquina de dos botones Consideremos la siguiente máquina de dos botones basada en streams (AN , (h, t)) con función estructural: (h, t) : AN (ai )i∈N −→ 7−→ A × AN (a0 , (ai+1 )i∈N ) 20 Coálgebra Universal Coálgebra Final COÁLGEBRA FINAL Máquina de dos botones Consideremos la siguiente máquina de dos botones basada en streams (AN , (h, t)) con función estructural: (h, t) : AN (ai )i∈N −→ 7−→ A × AN (a0 , (ai+1 )i∈N ) Proposición (AN , (h, t)) es la máquina de dos botones final: !: (X, (v, n)) x −→ 7−→ (AN , (h, t)) (v(ni (x)))i∈N 20 Coálgebra Universal Coálgebra Final FINAL COALGEBRAS La existencia de la coálgebra final nos ayuda a definir nuevos elementos y operadores. 21 Coálgebra Universal Coálgebra Final FINAL COALGEBRAS La existencia de la coálgebra final nos ayuda a definir nuevos elementos y operadores. Sean (X, α) y (Y, β) dos F -coálgebras. Sea x ∈ X y y ∈ Y . Teorema x y y son bisimilares ⇔ !(x) =!(y) Este teorema nos ayuda a probar proposiciones mediante coinducción. 21 Coálgebra Universal Coálgebra Final BIBLIOGRAFÍA J. Rutten, Universal coalgebra: a theory of systems, Elsevier, Theoretical Computer Science, Amsterdam, 2000. J. Rutten, Behavioural differential equations: a coinductive calculus of streams, automata and power series, Elsevier, Theoretical Computer Science, Amsterdam, 2002. D. Sangiorgi, J. Rutten, Advanced Topics in Bisimulation and Coinduction, Cambridge Tracts in Theoretical Computer Science, 2012. 22