Coálgebras de Kleene

Documentos relacionados
Gramáticas Regulares. Capítulo Gramáticas regulares

3. Seja Σ um alfabeto. Explique que palavras pertencem a cada uma das seguintes linguagens:

Modelos de Computação -Folha de trabalho n. 2

Linguagens Regulares e Autômatos de Estados Finitos. Linguagens Formais. Linguagens Formais (cont.) Um Modelo Fraco de Computação

3.3 Autómatos finitos não determinísticos com transições por ε (AFND-ε)

Draft-v Autómatos mínimos. 6.1 Autómatos Mínimos

Hierarquia de Chomsky

3 Teoria dos Conjuntos Fuzzy

LRE LSC LLC. Autômatos Finitos são reconhecedores para linguagens regulares. Se não existe um AF a linguagem não é regular.

Teoria de Linguagens 2 o semestre de 2014 Professor: Newton José Vieira Primeira Lista de Exercícios Entrega: até 16:40h de 23/10.

x = x 2 x 1 O acréscimo x é também chamado de diferencial de x e denotado por dx, isto é, dx = x.

Dep. Matemática e Aplicações 27 de Abril de 2011 Universidade do Minho 1 o Teste de Teoria das Linguagens. Proposta de resolução

Propriedades das Linguagens Regulares

INE Fundamentos de Matemática Discreta para a Computação

DCC-UFRJ Linguagens Formais Primeira Prova 2008/1

Compiladores ANÁLISE LEXICAL.

Introdução à Integral Definida. Aula 04 Matemática II Agronomia Prof. Danilene Donin Berticelli

Apostila 02 - Linguagens Regulares Exercícios

Propriedades das Linguagens Regulares

Integral. (1) Queremos calcular o valor médio da temperatura ao longo do dia. O valor. a i

Introdução ao estudo de equações diferenciais

Linguagens Formais Capítulo 5: Linguagens e gramáticas livres de contexto

Draft-v Autómatos finitos. 4.1 Autómatos finitos determinísticos

Análise Léxica. Construção de Compiladores. Capítulo 2. José Romildo Malaquias Departamento de Computação Universidade Federal de Ouro Preto

Autômatos determinísticos grandes

Linguagens Formais e Autômatos (LFA)

16.4. Cálculo Vetorial. Teorema de Green

Teorema Fundamental do Cálculo - Parte 2

INTEGRAIS DEFINIDAS. Como determinar a área da região S que está sob a curva y = f(x) e limitada pelas retas verticais x = a, x = b e pelo eixo x?

INTEGRAIS DEFINIDAS. Como determinar a área da região S que está sob a curva y = f(x) e limitada pelas retas verticais x = a, x = b e pelo eixo x?

Área entre curvas e a Integral definida

Teoria da Computação. Unidade 3 Máquinas Universais (cont.) Referência Teoria da Computação (Divério, 2000)

Análise Sintáctica Descendente

fundamental do cálculo. Entretanto, determinadas aplicações do Cálculo nos levam a formulações de integrais em que:

I. LINGUAGENS REGULARES E AUTÔMATOS FINITOS

Pontifícia Universidade Católica de Campinas Centro de Ciências Exatas, Ambientais e de Tecnologias Faculdade de Engenharia de Computação

Faculdade de Computação

Aula 27 Integrais impróprias segunda parte Critérios de convergência

Modelos de Computação Folha de trabalho n. 3

Capítulo III INTEGRAIS DE LINHA

2.4 Integração de funções complexas e espaço

8/6/2007. Dados os conjuntos: A={0,1} e B={a,b,c},

Prova Escrita de MATEMÁTICA A - 12o Ano a Fase

FÓRMULA DE TAYLOR USP MAT

Comprimento de arco. Universidade de Brasília Departamento de Matemática

Elementos de Análise - Lista 6 - Solução

Os números racionais. Capítulo 3

IFRN Campus Natal/Central. Prof. Tibério Alves, D. Sc. FIC Métodos matemáticos para físicos e engenheiros - Aula 02.

Conjuntos Numéricos. Conjuntos Numéricos

EQUAÇÕES E INEQUAÇÕES POLINOMIAIS

Teorema 1. Seja A um anel comutativo. Então A é um domínio de integridade se e somente se A é isomorfo a um subanel de um corpo.

ALGEBRA LINEAR AUTOVALORES E AUTOVETORES. Prof. Ademilson

Substituição Trigonométrica. Substituição Trigonométrica. Se a integral fosse. a substituição u = a 2 x 2 poderia ser eficaz, mas, como está,

(x, y) dy. (x, y) dy =

Matemática (e geometria) para CG

3. Cálculo integral em IR 3.1. Integral Indefinido Definição, Propriedades e Exemplos

EQUAÇÃO DO 2 GRAU. Seu primeiro passo para a resolução de uma equação do 2 grau é saber identificar os valores de a,b e c.

Integrais Duplas em Regiões Limitadas

CONJUNTOS NUMÉRICOS NOTAÇÕES BÁSICAS. : Variáveis e parâmetros. : Conjuntos. : Pertence. : Não pertence. : Está contido. : Não está contido.

Licenciatura em Engenharia Informática e de Computadores Computação Gráfica. Matemática para CG

Problemas e Algoritmos

Bhaskara e sua turma Cícero Thiago B. Magalh~aes

Apoio à Decisão. Aula 3. Aula 3. Mônica Barros, D.Sc.

ESTATÍSTICA APLICADA. 1 Introdução à Estatística. 1.1 Definição

operation a b result operation a b MUX result sum i2 cin cout cout cin

8. Sistemas de acontecimentos discretos

UNIVERSIDADE FEDERAL DE PERNAMBUCO CCEN DEPARTAMENTO DE MATEMÁTICA EXAME DE QUALIFICAÇÃO PARA O MESTRADO EM MATEMÁTICA

Teorema Fundamental do Cálculo - Parte 1

Cálculo de Limites. Sumário

Aula 5 Plano de Argand-Gauss

Resolução Numérica de Sistemas Lineares Parte I

MÉTODO DA POSIÇÃO FALSA EXEMPLO

Material envolvendo estudo de matrizes e determinantes

E m Física chamam-se grandezas àquelas propriedades de um sistema físico

Exemplos de autómatos finitos

Adriano Pedreira Cattai

AULA 1. 1 NÚMEROS E OPERAÇÕES 1.1 Linguagem Matemática

1 A Integral de Riemann

CENTRO DE CIÊNCIAS E TECNOLOGIA AGROALIMENTAR UNIDADE ACADÊMICA DE TECNOLOGIA DE ALIMENTOS DISCIPLINA: FÍSICA I INFORMAÇÕES GERAIS. Prof.

Faculdade de Computação

UNIVERSIDADE FEDERAL DE PERNAMBUCO. Resumo. Nesta aula, utilizaremos o Teorema Fundamental do Cálculo (TFC) para o cálculo da área entre duas curvas.

Trigonometria FÓRMULAS PARA AJUDÁ-LO EM TRIGONOMETRIA

Capítulo IV. Funções Contínuas. 4.1 Noção de Continuidade

Funções do 1 o Grau. Exemplos

Cálculo integral. 4.1 Preliminares

Resumo. Sinais e Sistemas Transformada Z. Introdução. Transformada Z Bilateral

Alocação sequencial - Pilhas

Matemática para Economia Les 201. Aulas 28_29 Integrais Luiz Fernando Satolo

Modelos Teóricos para Análise de Transformadores Baseados em Modelos Simplificados de Impedância e de Elementos Concentrados

INTEGRAIS DEFINIDAS. Como determinar a área da região S que está sob a curva y = f(x) e limitada pelas retas verticais x = a, x = b e pelo eixo x?

Notação. Se u = u(x, y) é uma função de duas variáveis, representamos por u, ou ainda, por 2 u a expressão

1 ÁLGEBRA MATRICIAL 1.1 TIPOS ESPECIAIS DE MATRIZES. Teorema. Sejam A uma matriz k x m e B uma matriz m x n. Então (AB) T = B T A T

ÁLGEBRA LINEAR Equações Lineares na Álgebra Linear EQUAÇÃO LINEAR SISTEMA LINEAR GEOMETRIA DA ESQUAÇÕES LINEARES RESOLUÇÃO DOS SISTEMAS

x 0 0,5 0,999 1,001 1,5 2 f(x) 3 4 4,998 5,

Objetivo. Conhecer a técnica de integração chamada substituição trigonométrica. e pelo eixo Ox. f(x) dx = A.

Material Teórico - Módulo de Razões e Proporções. Proporções e Conceitos Relacionados. Sétimo Ano do Ensino Fundamental

Autômato Finito. Autômato Finito Determinístico. Autômato Finito Determinístico

Transcrição:

Coálgers de Kleene Mri Teres Fernndes Clssificção ACM: F.TheoryofComputtion;F.3Logicsndmeningofprogrms; F.4 Mthemticl logic nd forml lnguges; Plvrs-chve: Teori de Computção, Teorem de Kleene, Coálger, Axiomtizções Resumo No longínquo no de 1956, Kleene presentou, juntmente com oconceitodeex- pressão regulr, um dos mis simples modelos de computção: odeutómtofinito determinístico. Ao mesmo tempo, Kleene provou um teorem enuncindo que são coincidentes clsse de lingugens que é possível especificr usndo expressões regulres e clssedelingugensceiteporutómtosdeterminísticos. Um dos resultdos mis significtivos do nosso trlho de investigção consiste n propost de um extensão do trlho inicil de Kleene pr um clsse lrgd de modelos de computção. Assim, presentmos um form homogéne de derivr lingugens de expressões regulres pr modelos de computção como os utómtos de Mely, usdos no contexto de desenvolvimento de circuitos digitis; considermos tmém modelos que incluem comportmentos letórios (utómtos proilisticos), que se tornrm mis relevntes nos últimos nos visndo nálise quntittiv de sistems com oojectivodesepoderpreverproiliddedeumsistemflhr. Ovlordonossocontriutopodeservlidosegundodoisprisms diferentes: por um ldo, permite derivção de lingugens já existentes n litertur; por outro, possiilit derivçãodenovslingugens(exiomtizções)prmodelos de computção pr os quis não existi um teorem de Kleene ou xiomtizção, pesr de terem sido já lrgmente estuddos o longo dos nos. 1 Introdução Os tempos modernos têm sido compnhdos de evoluções que não é possíveis dissocir do surgimento e evolução dos sistems de computção. De fcto, os sistems computcionis estão hoje em di presentes tnto em equipmentos domésticos de pequen dimensão como em sistems críticos, como queles que se encontrm ns uniddes centris de um vião ou de um utomóvel. Flhs no hrdwre ou no softwre de um sistem podem ter consequêncis desstross, cusndo dnos mteriis de grnde escl, ou mesmo levndo à perd de vids humns. Um dos miores desfios ds Ciêncis de Computção tem sido o de compnhr rápid evolução dos sistems de computção e desenvolver métodos formis que fcilitem construção de sistems fiáveis tnto de softwre como de hrdwre. Desde que o estudo d Computção se tornou um ciênci, muitos investigdores tentrm encontrr, por um ldo, models de computção e, por outro, lingugens de especificção proprids pr rciocinr sore esses modelos. Qundo um modelo pr um determindo 1

sistem é desenvolvido, há necessidde de se representr váris crcterístics que cpturem o seu comportmento inerente. Alguns sistems, por exemplo, têm comportmento determinístico (um clculdor ou um elevdor, por exemplo), enqunto que outros têm comportmento não determinístico ou letório (é o cso de slot mchine num csino). O rápido umento d complexidde dos sistems de computção exige modelos de computção cd vez mis poderosos e que permitm um modelção composicionl, ssim como métodos genéricos pr o desenvolvimento de lingugens de especificção. 1.1 Coálger Ns últims décds, teori de coálgers surgiu como um ds teoris mtemátics mis promissors pr especificr e rciocinr sore modelos de computção. A modelção colgéric funcion, de um modo strcto, d seguinte form: s crcterístics ásics do sistem, tis como comportmentos não-deterministicos ou letórios, são codificds de form determinr o tipo do sistem. Este tipo, formlmente um functor, é utilizdo pr determinr um noção de equivlênci proprid e representntes cnónicos de comportmento, o que torn possível rciocinr sore os comportmentos de um determindo modelo e comprr comportmentos de modelos diferentes. O ponto forte d modelção colgéric dvém do fcto de muits noções concrets serem totlmente determinds pelo tipo do modelo. Por um ldo, ordgem coálgeric é unificdor, possiilitndo um estudo uniforme de vários modelos em simultâneo e formlizção ds ligções entre eles. Por outro ldo, tmém proporcion um ponto de referênci pr desenvolver novos modelos de computção, juntmente com s respectivs noções de comportmento e equivlênci. 1.2 Kleene... Um dos modelos mis simples de computção, o utómto finito determinístico, foi presentdo por Stephen Kleene em 1956 [Kle56]. Nesse rtigo, Kleene presentou não só o modelo opercionl (que n ltur chmou de redes de nervos) como tmém um lingugem de especificção: s expressões regulres. Um dos resultdos mis importntes que Kleene lcnçou, e que ind hoje é considerdo um dos pilres ds ciêncis de computção, foi o teorem que enunci que o comportmento de qulquer utómto finito pode ser crcterizdo por um expressão regulr e, de modo reverso, que um expressão regulr pode ser convertid num utómto finito que ceit mesm lingugem. 1.3... e os seus seguidores No seu rtigo, Kleene deixou em erto questão de se ser se existiri um xiomtizção finit que permitisse mnipulção lgéric de expressões regulres. Slom [Sl66], em 1966, providenciou primeir respost ess pergunt, presentndo dus xiomtizcões, corrects e complets. Conwy [Con71], no seu livro de 1971, presentou um exposição stnte complet dos resultdos otidos nos primeiros 15 nos depois do rtigo seminl de Kleene. Em 1990, Kozen [Koz91] demonstrou que s xiomtizções proposts por Slom não erm lgérics: sustituição num expressão de um símolo por expressões regulres equivlentes pode resultr em expressões não equivlentes. Kozen presentou tmém um solução pr o mesmo prolem sed em álgers de Kleene. 2

McNughton e Ymd [MY60] desenvolverm lgoritmos pr trnsformr expressões regulres em utómtos não determinísticos e presentrm um extensão de expressões regulres que incluioperdores de intersecção e complemento. Est extensão foi importnte no contexto d plicção, à ltur, mis significtiv de expressões regulres, no desenvolvimento de circuitos digitis, porque permitiu um conversão mis nturl entre s especificções, providencids num lingugem nturl pelos engenheiros, e lingugem forml de expressões regulres. Brzozowski [Brz62, Brz64] presentou noção de derivd pr expressões regulres, o que lhe permitiu o que lhe permitiu provr de form simples o Teorem de Kleene pr expressões regulres, incluindo versão lrgd com os operdores de intersecção e complemento, sem ter que recorrer um psso intermédio em que expressão regulr é trnsformd num utómto não-determinístico. O estudo de lgoritmos eficientes pr compilr utómtos prtir de expressões regulres tornou-se populr qundo s expressões regulres começrm ser usds em ptternmtching. Um dos lgoritmos mis eficientes (e elegntes) pr trnformr expressões regulres em utómtos foi desenvolvido por Berry e Sethi [BS86]. Esse lgoritmo serviu de se pr um dos primeiros compildores d lingugem de progrmção Esterel [Ber00], sed em expressões regulres, e usd no desenvolvimento de sistems emeidos. Esterel é sem dúvid um ds plicções mis em sucedids de expressões regulres, sendo hoje usd como lingugem de especificção pr sistems de softwre críticos, como queles que se encontrm ns uniddes centris de um vião ou utomóvel. Neste tipo de sistems, grntir proprieddes de segurnç é de extrem importânci e, por isso, utilizção de modelos formis de computção tem um ppel importnte. Em 1981, Milner [Mil84] dptou os resultdos de Kleene e Slom pr sistems de trnsição etiquetdos (lelled trnsition systems, em inglês): um modelo de computção que inclui comportmentos não-determinísticos. Milner presentou um lingugem,semelhnte à de expressões regulres, pr especificr comportmentos finitos de sistems de trnsição, e um xiomtizção correct e complet pr isimilridde. A su lingugemé um frgmento do conhecido cálculo de sistems de comunicção (CCS, clculus of communicting systems, em inglês). O rtigo de Milner inspirou muitos investigdores d áre de sistems concorrentes. Surgirm váris extensões proilístics do CCS, juntmente com xiomtizções corrects e complets em relção à noção proprid de equivlênci [DP05, DPP05, SL94]. Além dos modelos de computção já menciondos, outros modelos interessntes incluem utómtos de Mely [Me55], utómtos pr plvrs condicionds (utomt on gurded strings, em inglês) e utómtos com pesos (weighted utomt, em inglês). Estes três modelos têm plicções, por exemplo, no desenvolvimento de circuitos digitis, n optimizção de compildores e no reconhecimento de imgens, respectivmente. 1.4 Colgérs de Kleene O ojectivo deste rtigo é usr perspectiv colgéric no estudo de modelos de computção pr desenvolver um pltform que permite derivção uniforme de lingugens generlizds de expressões regulres e xiomtizções pr um clsse lrgd de modelos computção, que incluirá todos os modelos de computção já menciondos. Pr testr correcção d pltform, será possível derivr resultdos já conhecidos n litertur, tis como os resultdos de Kleene e Slom. No entnto, o vlor d pltform edsugenerlidde 3

serã provdo pel derivção de novos rersultdos, isto é, novs lingugens e xiomtizções pr certos modelos de computção. Em sum, neste rtigo cominmos os resultdos de Kleene com coálger. A teori de coálger universl [Rut00] torn possível derivção de um noção de equivlênci e representntes universis de comportmento (elementos d chmd coálger finl), sómente sedo no tipo do sistem, ddo por um functor F. Ests noções strcts resultm, em csos concretos, em noções em conhecids. Por exemplo, no cso de utómtos determinísticos, coálger finl é precismente o conjunto de lingugens e equivlênciéiguldde de lingugens. O principl ojectivo deste rtigo é demonstrr como o tipo do sistem contém tod informção necessári pr derivr um lingugem de expressões, que permitem descrever o comportmento do sistem, e um xiomtizção corrects e complets em relção à noção de equivlênci induzid pelo functor, que permit mnipulção lgéric ds expressões. Além disso, provremos que clsse de comportmentos que podem ser descritos pels expressões é precismente clsse que o respectivo modelo opercionl ceit, enuncindo ssim o nálogo colgérico do teorem de Kleene. A clsse de modelos rngid pel teori desenvoolvid neste rtigo (ou, noutrs plvrs, clsse de functores F) é rngente o suficiente pr incluir utómtos determínisticos e sistems de trnsição etiquetdos. Inclui tmém outros modelos interessntes: utómtos de Mely, utómtos pr plvrs condicionds, utómtos com pesos e vários tipos de utómtos proilísticos, tis como utómtos de Segl, estrtificdos, e de Pnueli-Zuck. D pltform gerl será possível derivr lingugens e xiomtizções já existentes n litertur e, mis importnte, lingugens e xiomtizções novs pr, por exemplo, os utómtos estrtificdos e de Pnueli-Zuck. Pr dr um idei o leitor do tipo de lingugens e xiomtizções que vmos derivr incluimos n Figur 1 lguns exemplos de utómtos, juntmente com o functor que determin o tipo de cd um, e expressões e xioms válidos pr cd tipo. 1.5 Orgnizção do rtigo O resto do rtigo encontr-se orgnizdo d seguinte form. N Secção 2 presentmos s noções ásics d teori de coálgers. N Secção 3, mostrmos como derivr um lingugem de expressões regulres pr um clsse lrgd de modelos de computção, coálgers não determinístics, e como provr o nálogo do teorem de Kleene. N Seccão 4, presentos um xiomtizção, corrects e complers em relção à noção de equivlênci induzid pelo tipo do sistem. N Secção 6, generlizmos todos os resultdos presentdos pr coálgers não-determinístics pr coálgers quntittivs, o que permite corir vários tipos de utómtos proilísticos. Finlmente, n Secção 7 presentmos s conclusões e mencionmos lgums direcções pr trlho futuro. Pr simplificr presentção, optmos por presentr os resultdos em dois pssos: primeiro pr clsse coálgers não-deterministícs e depois pr coálgers quntittivs que são um super-clsse d primeir. Por rzões de espço, mior prte ds provs serão omitids. As provs poderão ser consultds n tese de doutormento (em inglês) d qul o mteril presentdo neste rtigo fz prte. 4

Autómtos determinísticos s 1 s 2 F = 2 Id A µx.(x) (µ y.( y) (x) 1) ɛ ɛ Sistems de trnsição etiquetdos Autómtos de Mely 0 0 1 s 1 s 2 0 F =(2 Id) A µx.(x) (µ y.(x) ( y)) 1 µx.ɛ ɛ[µx.ɛ/x] Autómtos de Segl s 1 s 1 s 2 s 3 c c s 4 s 5 s 6 1/2 1/2 2/3 1/3 s 2 s 3 s 4 s 5 F =(P ω Id) A ({( )} {c({ } { })}) ɛ ɛ ɛ F =(P ω (D ω Id)) A ({1/2 1/2 }) ({1/3 2/3 }) p ɛ p ɛ (p + p ) ɛ Figur 1: Pr cd um dos modelos mostrmos um exemplo concreto, o functor que represent o tipo de modelo, um expressão que descreve o comportmento do estdo s 1 eum exemplo de um xiom que é válido. 2 Coálger: definições ásics Nest secção, presentmos s definições ásics de coálger e functores. Assumimos fmiliridde com teori ásic de ctegoris. 2.1 Conjuntos Começmos por presentr notção que usremos em termos de conjuntos e operções de conjuntos. Vmos usr Set pr representr ctegori de conjuntos e funções. Conjuntos são denomindos por letrs miúsculs X, Y,... e funções por minúsculs f, g,... O conjunto vzio é representdo por e o conjunto contendo todos os suconjuntos finitos de um conjunto X é definido por P ω (X )={Y X Y finite}. A colecção de funções de um conjunto X pr um conjunto Y é denotdo por Y X. Escreveremos id X pr função identidde num conjunto X. Dds dus funções f : X Y e g : Y Z, escrevemos g f pr representr su composição. O produto de dois conjuntos X, Y será denotdo por X Y, com projecções π 1 π 2 X X Y Y. O conjunto 1 é um conjunto singulr 1 = { }. Definimos tmém 5

operção +: X + Y =(X Y ) {, } κ 1 κ 2 onde é união disjunt de conjuntos, com injecções X X Y Y,e e são distintos dos elementos de X Y. O conjunto X + Y difere do coproduto clássico X + Y, simplesmente por cus dos elementos extr e. Estes elementos são necessários pr mis trde representr, respectivmente, flt de informção e inconsistênci n especificção de sistems. Pr cd um ds operções de conjuntos cim, existe um nálog definid pr funções. Dds funções f : X Y, f 1 : X Y e f 2 : Z W, definimos: f 1 f 2 : X Z Y W f 1 + f 2 : X + Z Y + W ( f 1 f 2 )( x, z )= f 1 (x), f 2 (z) ( f 1 + f 2 )(c)=c, c {, } ( f 1 + f 2 )(κ i (x)) = κ i ( f i (x)), i {1, 2} f A : X A Y A P ω ( f ): P ω (X ) P ω (Y ) f A (g)= f g P ω ( f )(S)={f (x) x S} N definição de functores não-determinísticos iremos usr conjuntos equipdos com um ordem. Mis concretmente, usremos reticuldos. Um reticuldo é um conjunto B equipdo com um operção inári B e um constnte B B, tlque B é comuttiv, ssocitiv e idempotente. O elemento B é neutro com respeito B. A operção B dá origem um ordem prcil B : 1 B 2 1 B 2 = 2. Todo o conjunto S dá origem um reticuldo se considerrmos o conjunto de todos os su-conjuntos de S com operção de união de conjuntos e constnte. 2.2 Coálgers A teori de coálgers providenci um form de estudr uniformemente sistems dinâmicos, tis como utómtos determinísticos, de Mely ou sistems de trnsição etiquetdos. Um F-coálger é um pr (S, f : S F(S)), onde S é um conjunto de estdos e F : Set Set um functor. O functor F, juntmente com função f,determinfunção de trnsição (ou dinâmic) d F-coálger [Rut00]. O functor G é o tipo do sistem. Por exemplo, utómtos determinísticos podem ser modeldos como coálgers do functor G(S) =2 S A, utómtos de Mely são coálgers do functor G(S) =(B S) A e sistems de trnsição etiquetdos são coálgers do functor G(S)=(P ω (S)) A. Um F-homomorfismo h: (S, f ) (T, g), de um F-coálger (S, f ) pr um F-coálger (T, g), éumfunçãoh: S T que preserv estrutur de trnsição, i.e., tlqueodigrm seguinte comut: S h T f g g h = F(h) f F(S) F(h) F(T) 6

2.1 DEFINIÇÃO (Coálger finl). Um F-coálger (Ω, ω) é finl se pr qulquer outr F- coálger (S, f ) existir um F-homomorfismo único eh S : (S, f ) (Ω, ω): S eh S Ω f ω ω eh S = F(eh S ) f F(S) F(eh S ) F(Ω) A noção de finlidde tem um ppel importnte pr definir semântic ds expressões que definiremos n próxim seccão. A coálger finl existe pr miori dos functores [Rut00, GS02], incluindo todos os que considermos neste rtigo. A coálger finl pode ser vist como o universo de todos os comportmentos possíveis pr G-coálgers. Se instncirmos est noção pr exemplos concretos oteremos noções clássics: pr utómtos determinísticos coálger finl é o conjunto 2 A de tods s lingugens sore o lfeto A; pr utómtos de Mely é o conjunto funções cusis f : A ω B ω ; pr sistems de trnsição etiquetdos é o conjunto de árvores com um número finito de rcos pr cd nodo, os rcos têm etequets A módulo isimilridde. 2.2 DEFINIÇÃO (Bisimulção). Dds dus F-coálgers (S, f ) e (T, g),umrelçãor S T éumisimulção [AM89] se existir um mp e: R F(R) de form s projecções π 1 e π 2 serem coálger homomorfismos, i.e. o digrm seguinte comut. S π 1 R π 2 T f e g F(S) F(R) F(π 2 ) F(π1 ) F(T) Escreveremos s F t qundo existir um isimulção relção que contém o pr (s, t) echmremos F relção de isimilridde. Qundo o functor F for clro do contexto, escreveremos em vez de F. A noção de isimilridde tmém especiliz pr noções fmilires: pr utómtos determinísticos, dois estdos são equivlentes se ceitrem mesm lingugem; pr utómtos de Mely, se os estdos representm mesm função cusl; e pr sistemsdetrnsição etiquetdos se os estdos forem isimilres. A principl plicção ds isimulções é como princípio de prov. 2.3 TEOREMA (Coindução). Se (Ω, ω) for coálger finl e, Ω, então = Este teorem implic que pr provr que dois estdos e são equivlentes st construir um isimulção que contenh o pr,. Acmos est secção com definição de su-coálger. 7

2.4 DEFINIÇÃO (Su-coálger). Dd um F-coálger (S, f ) e um su-conjunto V de S com o mp de inclusão i : V S, dizemos que V éumsu-coálger de S se existir g : V F(V ) tl que i éumf-homomorfismo: V i S g f f i = F(i) g F(V ) F(i) F(S) Aestruturdetrnsiçãog é únic (consequênci do fcto de, pr tods s funções f : S T monomorfismos, com S não vzio, F( f ): F(S) F(T) ser tmém um monomorfismo, pr todos os functores F n ctegori Set [Rut00, Proposition 6.1]). Pr s S, s =(T, t) denot su-coálger mis pequen gerd por s, com T definido d seguinte form: T = {V V é um su-coálger de S e s V } (1) Se o functor preservr intersecções ritráris, o que é o cso de todos os considerdos neste rtigo, su-coálger s existe. Escreveremos Colg(F) pr denotr ctegori de F-coálgers juntmente com F-homomorfismos e Colg LF (F) pr ctegori de F-coálgers que são loclmente finits: F-coálgers (S, f ) tl que pr cd estdo s S, o conjunto de estdos d su-coálger s é finito. 3 Expressões regulres colgérics Nest secção vmos descrever um pltform que permite derivr, de form uniforme, lingugens de especificção e xiomtizções pr um clsse de modelos de computção, que inclui utómtos determinísticos, sistems de trnsição etiquetdos e utómtos de Mely, entre outros. O ponto-chve d noss metodologi é modelr sistems como coálgers. A teori universl de coálgers [Rut00] define um noção de equivlênci e um universo de comportmentos possíveis, sedo unicmente no functor G. O ojectivo principl deste cpítulo é mostrr que o tipo de um sistem, o functor G, nãosóésuficienteprdeterminr um noção cnónic de comportmento e equivlênci, ms tmém permite derivr de um form uniforme um conjunto de expressões que descrevem os comportmentos dos sistems e um xiomtizção. As principis contriuções dest secção são (1) definiço de um conjunto de expressões Exp G que descrevem comportmentos de G-coálgers e (2) prov d coincidênci entre clsse de comportmentos descritos por expressões ɛ Exp G e G-coálgers loclmente finits (isto é o nálogo do teorem de Kleene). N seccão seguinte presentremos um xiomtizção correct e complet de Exp G (isto é o nálogo d álger de Kleene). Todos estes resultdos são derivdos unicmente do tipo do sistem, um functor G. 8

3.1 Coálgers não-determinístics Um coálger não-determinístic é um pr (S, f : S G(S)), onde S é um conjunto de estdos e G é um functor não-determinístico. Functores não-determinísticos são functores G: Set Set, construídos inductivmente prtir do functor identidde e constntes, usndo, +, ( ) A e P ω. 3.1 DEFINIÇÃO. A clsse FND de functores não-determinísticos n ctegori Set é definid inductivmente d seguinte form: FND G:: = Id B G + G G G G A P ω G onde B é um reticuldo finito e A um conjunto finito. Os functores d definição nterior são definidos pr um conjunto X e um morfismo f : X Y d seguinte form (note que G( f ): G(X ) G(Y )): Id(X )=X B(X )=B (G 1 + G 2 )(X )=G 1 (X ) + G 2 (X ) Id( f )= f B( f )=id B (G 1 + G 2 )( f )=G 1 ( f ) + G 2 ( f ) (G A )(X )=G(X) A (P ω G)(X )=P ω (G(X )) (G 1 G 2 )(X )=G 1 (X ) G 2 (X ) (G A )( f )=G( f ) A (P ω G)( f )=P ω (G( f )) (G 1 G 2 )( f )=G 1 ( f ) G 2 ( f ) Exemplos típicos de functores não-determinísticos incluem M = (B Id) A, D = 2 Id A, Q =(1 + Id) A e N = 2 (P ω Id) A,, onde 2 = {0, 1} é o reticuldo com dois elementos (1 0 = 1) e 1 = { } o reticuldo com um só elemento. Estes functores representm, respecivmente, o tipo de utómtos de Mely, determinísticos, prciis determinísticos e não-deterministicos. O fcto de impormos um estrutur de reticuldo no functor constnte é muito semelhnte o que contece no cso de expressões regulres clássics, o que é visível em qulquer ds xiomtizções de expressões regulres. Os functores produto, exponencição e powerset preservm estrutur de reticuldo e, por isso, não precism de ser lterdos. Infelizmente, no cso do coproduto clássico, isto não se verific e, por isso, tivemos que usr + ( operção + é semelhnte o coproduto ms dicion dois elementos extr, como definido nos preliminres), que tmém preserv estrutur de reticuldo. A seguir, presentmos definição d relcão ingrediente, que relcion um functor nãodeterminístico G com os seus ingredientes, i.e. os functores usdos n construção inductiv de G. Iremos usr est relção pr definir umm sistem de tipos pr lingugem de expressões regulres que iremos ssocir com cd functor. 3.2 DEFINIÇÃO. Arelção FND FND érelçãoreflexivetrnsitivmispequenque stisfz: G 1 G 1 G 2, G 2 G 1 G 2, G 1 G 1 + G 2, G 2 G 1 + G 2, G G A, G P ω G Neste rtigo utilizmos F G como revitur pr F, G. SeF G, entãof éumingrediente de G. Por exemplo, 2, Id, Id A e D são todos os ingredientes do functor que represent utómmtos determinísticos D = 2 Id A. 9

3.2 Um lingugem de expressões regulres pr coálgers não-deterministícs Nest secção, vmos generlizr noção clássic de expressão regulr pr coálgers nãodeterministícs. Vmos começr por presentr um lingugem de expressões não tipd e depois, usndo um sistem de tipos, vmos seleccionr dess lingugem s expressões que correspondem especificções válids de um determindo sistem (ou sej, que correspondem um determindo functor). 3.3 DEFINIÇÃO (Expressões). Considere um conjunto finito A, um reticuldo finito B e um conjunto X de vriáveis pr pontos-fixos. O conjunto Exp de tods s expressões édefinifido pel grmátic seguinte, onde A, B e x X : ɛ :: = x ɛ ɛ µx.γ l ɛ r ɛ l[ɛ] r[ɛ] (ɛ) {ɛ} onde γ éumexpressão gurdd: γ :: = γ γ µx.γ l ɛ r ɛ l[ɛ] r[ɛ] (ɛ) {ɛ} Aúnicdiferençentresgrmáticsdeγ e ɛ é ocurrênci de x. Ns expressões µx.γ, µ cptur tods s ocurrêncis d vriável x em γ. Vriáveisquenão são cpturds são livres. Um expressão fechd é um expressão sem ocurrêncis livres de vriáveis x. Vmos denotr o conjunto de expressões regulres por Exp c. Intuitivmente, expressões representm elementos d coálger finl. As expressões, ɛ 1 ɛ 2 nd µx. ɛ vão ter um ppel semelhnte, respectivmente, à lingugem vzi, à união de lingugens e à estrel de Kleene ns expressões regulres clássics. As expressões l ɛ e r ɛ serão usds pr especificr s projeccões direit e esquerd de um pr (produto). De form similr, l[ɛ] e r[ɛ] especificm o ldo esquerdo e direito de um som (coproduto). As expressões (ɛ) e {ɛ} denotm plicção de funções e o conjunto ssngulr, respectivmente. Vmos em reve ilustrr, com exemplos, o ppel dests expressões. A lingugem que presentmos não tem operdores semelhntes à intersecção ou complemento (inclui pens, que é o nálogo d união de lingugens). Est restricção é contudo stnte nturl e em sintoni com s expressões de Kleene. Iremos provr que pesr de simples est lingugem contém todos os operdores necessários pr representr todos comportmentos de coálgers (loclmente finits). Vmos gor presentr um sistem de tipos pr ssocir expressões functores. Isto permitirá ssocir cd functor G s expressões ɛ Exp c que são especificções válids de G-coálgers. O sistem de tipos é definido inductivmente n estrutur ds expressões e nos ingredientes do functor. 3.4 DEFINIÇÃO (System de tipos). Vmos definir um relção Exp FND FND pr ssocir um expressão ɛ dois functores não-determinísticos F e G, que estão relciondos pel relcão ingrediente (F é umingrediente de G). Escreveremos ɛ : F G pr representr 10

ɛ, F, G.Ascláusulsquedefinem são s seguintes: : F G : B G x : G G ɛ : G G µx.ɛ : G G ɛ 1 : F G ɛ 2 : F G ɛ : G G ɛ : F G ɛ : F G ɛ 1 ɛ 2 : F G ɛ : Id G {ɛ}: P ω F G (ɛ): F A G ɛ : F 1 G l ɛ : F 1 F 2 G ɛ : F 2 G r ɛ : F 1 F 2 G ɛ : F 1 G l[ɛ]: F 1 + F 2 G ɛ : F 2 G r[ɛ]: F 1 + F 2 G Intuitivmente, ɛ : F G signific que ɛ represent um elemento de F(Ω G ), onde Ω G é coálger finl do functor G. Como seri de esperr, temos um cláusul por cd operdor de expressões. A cláusul extr que envolve Id G reflecte o isomorfismo entre coálger finl Ω G e G(Ω G ) (Lem de Lmek, cf. [Rut00]). Por exemplo, expressão µx. (x µ y. ( y)) é um expressão em tipd pr o functor D que represent o tipo de utómtos determinísticos, como se tornrá mis clro ixo, onde presentremos mis exemplos de expressões em e ml tipds. O sistem de tipos presentdo é decidle (s expressões são finits e o sistem é definido inductivmente n estrutur ds expressões ɛ Exp). Podemos gor formlmente definir o conjunto de expressões-g: expressões ɛ Exp em tipds. 3.5 DEFINIÇÃO (Expressões-G). Ddos G functor não-determinístico e F ingrediente de G, definimos Exp F G : Exp F G = {ɛ Exp c ɛ : F G}. O conjunto Exp G de expressões-g é o conjunto Exp G G. Vmos gor instncir definição cim pr o functor de utómtos determinísticos D = 2 Id A. 3.6 EXEMPLO (Expressões determinístics). Ddo um lfeto finito A e um conjunto X de vriáveis, o conjunto Exp D de expressões determinístics é o conjunto de expressões fechds (sem vriáveis livres) e gurdds (tods s vriáveis ocorrem dentro de um operdor modl) gerds pel grmátic seguinte: Exp D ɛ :: = ɛ ɛ µx.ɛ x l ɛ 1 r ɛ 2 ɛ 1 :: = 0 1 ɛ 1 ɛ 1 ɛ 2 :: = (ɛ) ɛ 2 ɛ 2 onde A e x X. Exmplos de expressões em tipds pr o functor D = 2 Id A (onde 2 = {0, 1} éoreticuldo com 2 elementos; recorde que os ingredientes de D são 2, Id A e D) incluemr ( ), l 1 r (l 0 ) e µx.r ( x) l 1. As expressões l[1] e l 1 1 são exemplos de expressões que não são em tipds pr D, porque D não tem + e s su-expressões n som têm tipos diferentes, respectivmente. Note que sintxe ds expressões que definimos difere ds expressões regulres clássics no uso de µ eprefixção(ɛ) em vez de, respectivmente, estrel de Kleene e o operdor 11

de conctenção. Iremos provr que estes dois formlismos, pesr de terem um síntxe diferente so igulmente expressivos (Teorems 3.14 e 3.15). Pr dr o leitor um idei presentmos ixo funções de migrção entre os dois formlismos (expressões regulres clássics e Exp D ). O trlho de Milner [Mil84] serviu de inspirção pr definição dests funções. 3.7 DEFINIÇÃO. O conjunto de expressões regulres clássics é ddo pel sintxe: RE r:: = 0 1 r + r r r r onde A e represent composição sequencil. Definimos s funções de migrção seguintes: ( ) : RE Exp D ( ) : Exp D RE (0) = ( ) = 0 (1) = l 1 (l ) =(l 0 ) =(r ) = 0 () = r (l 1 ) (l 1 ) = 1 (r 1 + r 2 ) =(r 1 ) (r 2 ) (l ɛ 1 ɛ 1 ) =(l ɛ 1 ) +(l ɛ 1 ) (r 1 r 2 ) =(r 1 ) [(r 2 ) /l 1 ] (r (ɛ) ) = (ɛ) (r ) = µx.(r) [x/l 1 ] l 1 (r ɛ 2 ɛ 2 ) =(r ɛ 2 ) +(r ɛ 2 ) (ɛ 1 ɛ 2 ) =(ɛ 1 ) +(ɛ 2 ) (µx.ɛ) = sol(eqs(µx.ɛ)) Afunçãoeqs trnsform µx.ɛ num sistem de equções, d seguinte form. Pr tods s suexpressões d form µx 1.ɛ 1,...,µx n.ɛ n de µx.ɛ, com x 1 = x e ɛ 1 = ɛ, definimos n equções x i =(ɛ i ), onde ɛ i é otido prtir de cd ɛ i susstituindo cd su-expressão µx i.ɛ i por x i, pr todos os i = 1,... n. A solução do sistem, sol(eqs(µx.ɛ)), é clculd d form usul ( solução de um equção d form x = rx+ t é r t). Aexpressãoregulr étrduzidprr (µx.r (x) l 1 ), enquntoqueexpressão µx.r (r (x) ) l 1 é trnsformd em (). De seguid presentmos mis dois exemplos: Exp Q e Exp N, o conjunto de expressões pr os functores Q =(1 + Id) A e N = 2 (P ω Id) A, que são os tipos dos utómtos prciis e nãodeterminísticos. 3.8 EXEMPLO (Expressões prciis). O conjunto Exp Q de expressões prciis, prumlfeto A e um conjunto de vriáveis X, é o conjunto de expressões fechds e gurdds gerds pel grmátic seguinte: Exp Q ɛ :: = ɛ ɛ µx.ɛ x (ɛ 1 ) ɛ 1 :: = ɛ 1 ɛ 1 l[ɛ 2 ] r[ɛ] ɛ 2 :: = ɛ 2 ɛ 2 onde A e x X. Intuitivmente, s expressões (l[ ]) e (r[ɛ]) especificm, respectivmente, um estdo que não tem trnsicões pr ccão e um estdo com um trnsição etiquetd por pr um outro estdo especificdo por ɛ. 3.9 EXEMPLO (Expressões não-determinístics). O conjunto Exp N de expressões não-determinístics, pr um lfeto A e um conjunto de vriáveis X, é o conjunto de expressões 12

fechds e gurdds gerds pel grmátic seguinte: Exp N ɛ :: = x l ɛ 1 r ɛ 2 ɛ ɛ µx.ɛ ɛ 1 :: = ɛ 1 ɛ 1 1 0 ɛ 2 :: = ɛ 2 ɛ 2 (ɛ ) ɛ :: = ɛ ɛ {ɛ} onde A e x X.Intuitivmente,expressão r ({ɛ 1 } {ɛ 2 }) especific um estdo com dus trnsições etiquetds por, um pr um estdo especificdo por ɛ 1 e outro pr um estdo especificdo por ɛ 2. Nest secção, definimos um lingugem de expressões que providenci um descrição lgéric de sistems. De notr que nos exemplos cim seguimos de form estrit o sistem de tipos pr derivr sintxe ds expressões. Contudo, é óvio que poderimos fzer muit simplificções pr oter um lingugem mis polid. Em concreto, depois de presentr xiomtizção, poderemos diminuir o número de níveis ds grmátic que presentmos nos exemplos, visto que teremos xioms d form (ɛ) (ɛ ) (ɛ ɛ ). N Secção 5, iremos presentr mis dois exemplos onde simplificremos sintxe. O ojectivo gor é presentr um generlizção do teorem de Kleene pr coálgers nãodeterminístics (Teorems 3.14 e 3.15). Recorde que, pr lingugens regulres, o teorem diz que um lingugem é regulr se e só se for reconhecid por um utómto finito. Pr tingirmos o nosso ojectivo vmos primeiro mostrr que o conjunto Exp G de expressões tem um estrutur de G-coálger. Isto é o nálogo dos resultdos de Brzozowski que mostrou que s expressões regulres de Kleene têm um estrutur de utómto determinístico. 3.3 Derivds de Brzozowski pr expressões não-determinístics Nest secção, vmos mostrr que o conjunto de expressões pr um functor não-determinístico G tem um estrutur colgéric δ G : Exp G G(Exp G ). Mis concretmente, vmos definir um função δ F G : Exp F G F(Exp G ) pr todos os ingredientes F of G, e depois considerr δ G = δ G G.Adefiniçãodeδ F G precis ds seguintes funções uxilires. 3.10 DEFINIÇÃO. Pr cd G FND e F G: (i) definimos um constnte Empty F G F(Exp G ) inductivmente n estrutur de F: Empty Id G = Empty B G = B Empty F1 F 2 G = Empty F1 G,Empty F2 G Empty F1 +F 2 G = Empty F A G = λ.empty F G Empty Pω F G = (ii) definimos um função Plus F G : F(Exp G ) F(Exp G ) F(Exp G ) inductivmente n estrutur de F: Plus Id G (ɛ 1, ɛ 2 ) = ɛ 1 ɛ 2 Plus B G ( 1, 2 ) = 1 B 2 Plus F1 F 2 G( ɛ 1, ɛ 2, ɛ 3, ɛ 4 ) = Plus F1 G(ɛ 1, ɛ 3 ),Plus F2 G(ɛ 2, ɛ 4 ) 13

Plus F1 +F 2 G (κ i(ɛ 1 ), κ i (ɛ 2 )) = κ i (Plus Fi G(ɛ 1, ɛ 2 )), i {1, 2} Plus F1 +F 2 G (κ i(ɛ 1 ), κ j (ɛ 2 )) = i, j {1, 2} nd i j Plus F1 +F 2 G (x, ) = Plus F 1 +F 2 G (, x)= Plus F1 +F 2 G (x, ) = Plus F 1 +F 2 G (, x)=x Plus F A G( f, g) = λ. Plus F G ( f (), g()) Plus Pω F G(s 1, s 2 ) = s 1 s 2 Intuitivmente, constnte Empty F G efunçãoplus F G são liftings de e pr F(Exp G ). Precismos de mis dus coiss pr definir δ F G. Primeiro, definimos um ordem nos tipos de expressões. Ddos functores F 1, F 2 e G que stisfçm F 1 G e F 2 G, definimos (F 1 G) (F 2 G) F 1 F 2. A ordem é um ordem prcil (estrutur herdd de ). Note tmém que (F 1 G)=(F 2 G) F 1 = F 2. Em segundo lugr, definimos um medid N(ɛ) sed no número máximo de pontos fixos que ocorrem ninhdos e não gurddos num expressão ɛ e no número de ocorrêncis não gurdds de. Um su-expressão µx.ɛ 1 of ɛ ocorre não gurdd se não se encontrr dentro de um dos operdores l, r, l[ ], r[ ], ( ) or { }. 3.11 DEFINIÇÃO. Pr tods s expressões gurdds ɛ, definimos N(ɛ) d seguinte form: N( )=N()=N((ɛ)) = N(l ɛ )=N(r ɛ )=N(l[ɛ]) = N(r[ɛ]) = N({ɛ})=0 N(ɛ 1 ɛ 2 )=1 + mx{n(ɛ 1 ), N(ɛ 2 )} N(µx.ɛ)=1 + N(ɛ) AmedidN induz um ordem prcil no conjunto de expressões: ɛ 1 ɛ 2 N(ɛ 1 ) N(ɛ 2 ), onde é inegulidde de números nturis. Podemos gor definir δ F G : Exp F G F(Exp G ). 3.12 DEFINIÇÃO. Pr todos os ingredientes F de um functor não-determinístico G e um expressão ɛ Exp F G, definimos δ F G (ɛ) d seguinte form: δ F G ( ) = Empty F G δ F G (ɛ 1 ɛ 2 ) = Plus F G (δ F G (ɛ 1 ), δ F G (ɛ 2 )) δ G G (µx.ɛ) = δ G G (ɛ[µx.ɛ/x]) δ Id G (ɛ) = ɛ for G Id δ B G () = δ F1 F 2 G(l ɛ ) = δ F1 G(ɛ),Empty F2 G δ F1 F 2 G(r ɛ ) = Empty F1 G, δ F2 G(ɛ) δ F1 +F 2 G (l[ɛ]) = κ 1(δ F1 G(ɛ)) δ F1 +F 2 G (r[ɛ]) = κ 2(δ F2 G(ɛ)) δ F A G((ɛ)) = λ δf G (ɛ) if =. Empty F G otherwise δ Pω F G({ɛ}) = { δ F G (ɛ) } Aexpressãoɛ[µx.ɛ/x] denot sustituição sintáctic, sustituindo cd ocorrênci livre de x em ɛ por µx.ɛ. De form ver que definição de δ F G está correct, note que δ F G pode ser vist como um função com dois rgumentos: o tipo F G eexpressãoɛ. A função é então definid 14

usndo indução no produto Crtesino de tipos e expressões equipds com s ordens nd, respectivmente. Mis concretmente, ddos dois pres F 1 G, ɛ 1 e F 2 G, ɛ 2 temos um ordem: F 1 G, ɛ 1 F 2 G, ɛ 2 (i) (F 1 G) (F 2 G) or (ii) (F 1 G)=(F 2 G) nd ɛ 1 ɛ 2 (2) N definição cim condição F G, ɛ F G, ɛ é sempre stisfeit, pr tods s ocurrêncis δ F G(ɛ ) no ldo direito ds equções que definem δ F G (ɛ). Em todos os csos, menos nquele em que ɛ é um ponto fixo ou um som, ineguldde é um consequênci do ponto (i). No cso de, note que F G, ɛ 1 F G, ɛ 1 ɛ 2 e F G, ɛ 2 F G, ɛ 1 ɛ 2 usndo o ponto (ii), visto que N(ɛ 1 )<N(ɛ 1 ɛ 2 ) e N(ɛ 2 )<N(ɛ 1 ɛ 2 ). De form semelhnte, no cso de µx.ɛ, temos N(ɛ)=N(ɛ[µx.ɛ/x]), que pode ser fcilmente provdo usndo indução clássic n estrutur de ɛ, porque ɛ égurdd,oquegrntequen(ɛ[µx.ɛ/x]) < N(µx.ɛ). Assim, G G, ɛ G G, µx.ɛ. Note tmém que cláusul 4 d definição colide com s cláusuls 1 e 2 (se considerr F = Id). Contudo, ms s cláusuls dão o mesmo resultdo e por isso função δ F G está em definid. 3.13 DEFINIÇÃO. Pr cd functor não-deterministíco G, definimos um G-coálger δ G : Exp G G(Exp G ) usndo funcão definid cim: δ G = δ G G. Afunçãoδ G é um generlizção ds conhecids derivds de Brzozowski [Brz64] pr expressões regulres e define semântic opercionl ds expressões, como será mis visível n Secção 3.4. A oservção que o conjunto de expressões tem um estrutur colgéric tem um ppel importnte pr enuncir e provr generlizção do teorem de Kleene que vmos presentr ns próxims sus secções. 3.4 Primeir prte to teorem de Kleene generlizdo O conjunto Exp G ter estrutur de G-coálger tem dus vntgens. Primeiro, providenci, usndo coálger finl, um semântic nturl pr s expressões, por cus d existênci de um homomorfismo único [[ ]] : Exp G Ω G, que triui cd expressão ɛ um elemento [[ɛ]] d coálger finl Ω G. A segund vntgem d estrutur colgéric no conjunto Exp G é o fcto de podermos usr noção de isimulção pr comprr G-coálgers (S, g) e expressões ɛ Exp G. Se conseguirmos contruir um isimulção que contenh o pr com expressão ɛ eumestdos de um dd coálger, então o comportmento representdo por ɛ é o mesmo que o comportmento do estdo s. Isto é o nálogo de clculr lingugem L(r) representd por um dd expressão regulr r elingugeml(s) ceite por um estdo s de um utómto determinístico everificrsel(r)=l(s). O teorem seguinte firm que pr cd estdo de um coálger loclmente finit pode ser representdo por um expressão n lingugem que definimos. Isto generliz metde do teorem de Kleene pr utómtos determinísticos: se um lingugem é ceite por um estdo de um utómto determinístico então é regulr (i.e., pode ser denotd por um expressão 15

regulr). A generlizção d outr metde do teorem (se um lingugem é regulr então é ceite poor um utómto finito) será presentd n Secção 3.5. É interessnte notr que n definição usul de utómtos determinísticos um estdo inicil é tmém considerdo e, por isso, no teorem de Kleene st usr utómtos finitos. Neste rtigo, por cus d modelção colgéric, o estdo inicil não é considerdo e, por isso, em vez de coálgers finits considermos coálgers loclmente finits: coálgers pr squiscdestdoger um su-coálger finit. 3.14 TEOREMA (Teorem de Kleene generlizdo (prte I)). Ddo um functor não determinístico G e um G-coálger (S, g) loclmente finit. Então, pr cd s S, existe um expressão s Exp G que stisfz s s. PROVA. Considere s S e s = {s 1,...,s n } com s 1 = s. Construimos, pr cd s i s, um expressão s i que stisfz s i s i. Se G = Id, então, pr todos os i, s i =. É fácil de ver que { s i, s i s } éum isimulção e, por isso, s s. Pr G Id, fzemos o seguinte. Considermos pr todo i, A i = µx i.γ G onde, pr F G e g(s i ) c F s, expressãoγ F c Exp F G édefinidinductivmentenestruturdef: γ Id s i = x i γ B = γ F 1 F 2 c,c = l γ F 1 c r γ F 2 c γ FA = (γ F f f () ) γf 1 +F 2 κ A 1 (c) = l[γ F 1 c ] γ F 1 +F 2 κ 2 (c) = r[γ F 2 c ] γ F 1 +F 2 = γ F 1 +F 2 = l[ ] r[ ] γ P ωf C = c C {γ F c } if C otherwise Note que escolh de l[ ] r[ ] pr representr inconsistênci é ritrári ms cnónic, porque qulquer outr expressão que contenh um som de l[ɛ 1 ] e r[ɛ 2 ] será isimilr est. Formlmente, definição de γ éprmétricnumfunçãode{s 1,...,s n } pr um conjunto fixo de vriáveis {x 1,...,x n }. Note tmém que E, pr um conjunto ordendo E = {ɛ 1,...,ɛ n } de expressões, revi ɛ 1 (ɛ 2 (ɛ 3...)). Agor definimos A 0 i = A i, A k+1 i = A k i {Ak k+1 /x k+1} e, finlmente, s i = A n i.aqui,a{a /x} represent sustituição sintáctic estrit (isto é, sustituição sem renomer s vriáveis cpturds em A que estão livres em A ). Oserve que expressão A n i =(µx i.γ G g(s i ) ){A0 1 /x 1}...{A n 1 n /x n } é fechd porque, pr todos j = 1,..., n, expressãoa j 1 tem no máximo n j vriáveis j livres que são elementos do conjunto {x j+1,...,x n }. Flt provr que s i s i. A prov deste fcto pode ser consultd n tese de doutormento (em inglês) d qul o mteril presentdo neste rtigo fz prte. 16

Vmos gor ilustrr construção que prece n prov do Teorem 3.14 com lguns exemplos. Será então visível s semelhnçs com prov do teorem originl de Kleene, onde um expressão regulr representndo lingugem ceite por um estdo de um utómto determinístico é construíd usndo um sistem de equções. Considere o seguinte utómto determinístico, com o lfeto A = {, }, ecujfunçãode trnsição g érepresentdnfigurseguinte( s represent que um estdo s éfinl): s 1 s 2, Definimos A 1 = µx 1.γ D g(s 1 ) e A 2 = µx 2. γ D g(s 2 ) onde γ D g(s 1 ) = l 0 r (x 1) (x 2 ) γ D g(s 2 ) = l 1 r (x 2) (x 2 ) Depois clculmos A 2 1 = A 1{A 1 2 /x 2} nd A 2 2 = A 2{A 0 1 /x 1}. Assim, s 2 = A 2 e, porque A 1 2 = A 2, s 1 éexpressão µx 1. l 0 r (x 1 ) (µx 2. l 1 r (x 2 ) (x 2 ) ) Temos ssim s 1 s 1 nd s 2 s 2. Outro exemplo, gor com um utómto prcil, tmém com lfeto A = {, }: q 1 q 2 N representção gráfic de um utómto prcil (S, p) omitimos trnsições pr os quis p(s)() =κ 1 ( ). Neste cso, isto contece no estdo q 1 pr letr enoestdoq 2 pr letr. Temos s equções A 1 = A 0 1 = A1 1 = µx 1.(l[ ]) (r[x 2 ]) e deduzimos: A 2 = A 0 2 = A1 2 = µx 2.(l[ ]) (r[x 2 ]) s 1 = A 2 1 = µx 1. (l[ ]) (r[µx 2. (l[ ]) (r[x 2 ])]) s 2 = µx 2.(l[ ]) (r[x 2 ]) Novmente, s 1 s 1 e s 2 s 2. Pr um último exemplo, considermos um utómto não-deterministíco, sore o lfeto A = {}: s 1 s 3 s 2 17

O ponto de prtid são s equções: E depois clculmos s iterções necessáris: A 1 = µx 1.l 0 r ({x 1 } {x 2 } {x 3 }) A 2 = µx 2.l 0 r ({x 2 } {x 3 }) A 3 = µx 3.l 1 r ({x 1 } {x 3 }) A 1 1 = A 1 A 2 1 = A 1{A 1 2 /x 2} = µx 1.l 0 r ({x 1 } {A 2 } {x 3 }) A 3 1 = A 1{A 1 2 /x 2}{A 2 3 /x 3} = µx 1.l 0 r ({x 1 } {(A 2 {A 2 3 /x 3})} {A 2 3 }) A 1 2 = A 2{A 1 /x 1 } = A 2 A 2 2 = A 2{A 1 /x 1 } = A 2 A 3 2 = A 2{A 1 /x 1 }{A 2 3 /x 3} = µx 2.l 0 r ({x 2 } {A 2 3 }) A 1 3 = A 3{A 1 /x 1 } = µx 3.l 1 r ({A 1 } {x 3 }) A 2 3 = A 3{A 1 /x 1 }{A 1 2 /x 2} = µx 3.l 1 r ({(A 1 {A 1 2 /x 2})} {x 3 }) A 3 3 = A2 3 Isto result ns expressões s 1 = µx 1.l 0 r ({x 1 } { s 2 } { s 3 }) s 2 = µx 2.l 0 r ({x 2 } { s 3 }) s 3 = µx 3.l 1 r ({µx 1.l 0 r ({x 1 } {µx 2.l 0 r ({x 2 } {x 3 }) } {x 3 }) } {x 3 }) 3.5 Segund prte to teorem de Kleene generlizdo Nest secção, provmos o inverso do Teorem 3.14, isto é, mostrmos como construir um G-coálger (S, g) finit prtirdeumexpressãoɛ Exp G, com um estdo s S que stisfz ɛ G s. A form imedit de oter um coálger prtir de um expressão ɛ Exp G éclculr su-coálger ɛ, o que é possivel visto que equipmos o conjunto Exp G com um estrutur colgéric δ G : Exp G G(Exp G ). Contudo, su-coálger gerd por um expressão ɛ Exp G iterndo função δ G é, em gerl, infinit. Considere, por exemplo, expressão determinístic ɛ 1 = µx. r (x µ y. r ( y) ) (por um questão de simplicidde, considermos A = {} e escreveremos ixo n segund componente de δ D,umexpressãoɛ em vez d funcão que mpei em ɛ) e oserve que: δ D (ɛ 1 ) = 0, ɛ 1 µ y. r ( y) δ D (ɛ 1 µ y. r ( y) ) = 0, ɛ 1 µ y. r ( y) µ y. r ( y) δ D (ɛ 1 µ y. r ( y) µ y. r ( y) ) = 0, ɛ 1 µ y. r ( y) µ y. r ( y) µ y. r ( y). 18

Como seri de esperr, todos os novos estdos que precem n iterção cim são equivlentes e serão identificdos pel função [[ ]] (o morfismo pr coálger finl). Contudo, função δ D não efectu qulquer tipo de identificção de estdos e por isso ger um coálger infinit. Este fenómeno tmém ocorre ns expressões regulres clássics. Brzozowski [Brz64] mostrou que normlizndo s expressões usndo os xioms ssocitividde, commuttividde e idempotênci idempotency é suficiente pr grntir que o utómto gerdo é finito. Este tipo de normlizção tmém vi ser suficiente no nosso cso. Considere os xioms seguintes (só os primeiros três são essenciis, ms incluimos tmém o qurto pr oter coálgers com menos estdos): (Associtividde) ɛ 1 (ɛ 2 ɛ 3 ) (ɛ 1 ɛ 2 ) ɛ 3 (Comuttividde) ɛ 1 ɛ 2 ɛ 2 ɛ 1 (Idempotênci) ɛ ɛ ɛ (Vzio) ɛ ɛ Definimos relção ACIE Exp F G Exp F G, escrit infix, como mis pequen relção de equivlênci que contém os qutro xioms cim. Podemos fcilmente provr que os xioms cim são correctos e, por isso, usndo [Rut00, Teorem 7.3], existe um função δ F G : Exp F G / ACIE F(Exp G / ACIE ) que stisfz δ F G ([ɛ] ACIE )=(F[ ] ACIE )(δ F G (ɛ)), onde [ ] ACIE é o mp induzido pelos xioms cim que ssoci com cd expressão ɛ respectivclssedeequivlênci. Podemos gor provr segund prte do teorem de Kleene generlizdo. 3.15 TEOREMA (Teorem de Kleene generlizdo (prte II)). Pr cd functor não-determinístico G eprtodssexpressõesɛ Exp G,existe G (ɛ) =(S, g) com S finito e um estdo s S que stisfz ɛ s. PROVA. Pr cd ɛ Exp G, definimos G (ɛ) = [ɛ] ACIE (onde [ɛ] ACIE é su-coálger mis pequen gerd prtir de ɛ usndo normlizção com os 4 xioms que descrevemos cim, isto é, é su-coálger gerd usndo função δ F G ). A prov de que sucoálger [ɛ] ACIE é finit pode ser ser consultd n tese de doutormento (em inglês) d qul o mteril presentdo neste rtigo fz prte. 3.5.1 Exemplos Vmos gor ilustrr construção presentd n prov do Teorem 3.15 com exemplos: dd um expressão ɛ Exp G construimos um G-coálger (S, g) com um estdo s S que stisfz s ɛ. Por um questão de simplicidde, vmos considerr expressões determinístics e prciis, com o lfeto A = {, }. Primeiro, vmos presentr os utómtos determinísticos correspondentes às expressões ɛ Exp D mis simples, l 0 nd l 1.,,, l 0, l 1, 19

Os primeiros dois utómtos ceitm lingugem vzi eoúltimolingugem{ε} que contém simplesmente plvr vzi. Note que os utómtos gerdos não têm um número mínimo de estdos (por exemplo, os utómtos correspondentes l 0 e são equivlentes). O nosso ojectivo er gerr um utómto finito prtir de um expressão. A prtir deste, um utómto com o número minímo de estdo pode sempre ser clculdo, se identificrmos os estdos equivlentes (isimilres). O utómto seguinte, gerdo prtir d expressão r (l 1 ), ceit lingugem{}, r (l 1 ) l 1, Pr um exemplo com pontos fixos, considere ɛµx. r (l 0 l 1 x). O utómto gerdo éoseguinte:, µx. r (l 0 l 1 x) l 0 l 1 ɛ, Oserve que ceit lingugem. Este exemplo tmém ilustr o ppel do reticuldo: l 0 l 1 ɛ especific um estdo que supostmente não é finl (l 0 )e finl(l 1 ) o mesmo tempo. Este conflito prent é resolvido, qundo s expressões são cominds usndo, por cus d estrutur de reticuldo que determin 1 0 = 1 e, por isso, o estdo torn-se finl. Finlmente, considere expressão detrminístic ɛ 1 = µx. r (x µ y.r ( y) ). Um primeir iterção de δ D plicd ɛ 1 tem como resultdo o utómto: µx. r (x µ y. r ( y) ) ɛ 1 µ y. r ( y) Continundo e clculndo δ D (ɛ 1 µ y. r ( y) ) otemos δ D (ɛ 1 µ y. r ( y) ) = 0, t where t()=ɛ 1 µ y. r ( y) µ y. r ( y) t()= Agor, note que expressão ɛ 1 µ y. r ( y) µ y. r ( y) éequivlenteàexpressãoɛ 1 µ y. r ( y), um estdo que já existe no utómto. Como vimos no início d Secção 3.3,se usrmos simplesmente δ D,semACI, estrimos gerr um coálger infinit (onde ɛ 2 = µ y. r ( y) ): µx. r (x µ y. r ( y) ) ɛ 1 ɛ 2 ɛ 1 ɛ 2 ɛ 2..., 20

em vez d coálger que germos gor: µx. r (x µ y. r ( y) ) ɛ 1 µ y. r ( y), Vmos gor considerr lguns exemplos de expressões prciis, onde ilustrremos o ppel dos elementos e. N representção gráfic de um utómto prcil (S, p), omitiremos trnsições pr letrs do lfeto que stisfçm p(s)() =κ 1 ( ) e vmos desenhr s g(s)() sempre que p(s)() {, }. Note tmém que S e S e por isso não têm nenhum trnsição definid. Como nteriormente, vmos primeiro considerr os utómtos correspondentes às expressões prciis mis simples, (l[ ]), ( ) e (l[ ]) (l[ ])., (l[ ]) ( ), (l[ ]) (l[ ]) Aqui é visível como é usdo pr representr flt de informção, funcionndo como um estdo de dedlock. Ns primeirs três expressões o comportmento de um ou ms letrs do lfeto não está definido, enqunto que n últim expressão ms estão definids. O elemento é usdo pr lidr com especificções inconsistentes. Por exemplo, considere expressão (l[ ]) (l[ ]) (r[(l[ ]) (l[ ])]). Tods s letrs do lfeto precem n expressão, ms note que no nível mis externo letr prece em dus su-expressões (l[ ]) e (r[(l[ ]) (l[ ])]) especificndo que letr, por um ldo, lev terminção e, por outro, define um trnsição pr um estdo definido por (l[ ]) (l[ ]), o que é contrditório, dndo origem o utómto seguinte. (l[ ]) (l[ ]) (r[(l[ ]) (l[ ])]) 4 Axiomtizção N secção nterior, mostrmos como derivr, prtir do tipo de um sistem, ddo por um functor G, umlingugemexp G que permite especificr comportmentos de G-coálgers. De form nálog o teorem de Kleene, provmos correspondênci entre comportmentos denotdos por elementos de Exp G e por G-coálgers loclmente finits. Nest secção, vmos mostrr como equipr o conjunto Exp G com um sistem xiomático correcto e completo. Como n secção nterior, o functor G servirá de gui pr definição dos xioms. A xiomtizção qie vmos definir é semelhnte às álgers de Kleene (o conjunto de expressões tem estrutur de reticuldo) e à álger definid por Milner pr lingugem CCS (vmos requerer que os pontos fixos sejm únicos). Qundo instntirmos definição dos xioms ixo pr functores concretos iremos oter xiomtizções já estudds n litertur, tl como álger de CCS definid por Milner ou que foi definid pr sistems de trnsição etiquetdos (com terminção explícit) presentd em [AH92]. A últim será discutid em mis detlhe n Secção 5. 21

Vmos gor presentr um sistem equcionl pr expressões de tipo F G. Definimos reltion Exp F G Exp F G, escrit de form infix, como relção de equivlênci mis pequen que stisfz s entiddes seguintes: 1. (Exp F G,, ) é um reticuldo. ɛ ɛ ɛ ɛ 1 ɛ 2 ɛ 2 ɛ 1 ɛ 1 (ɛ 2 ɛ 3 ) (ɛ 1 ɛ 2 ) ɛ 3 ɛ ɛ (Idempotênci) (Comuttividde) (Associtividde) (Vzio) 2. µ é um ponto fixo único. γ[µx.γ/x] µx.γ γ[ɛ/x] ɛ µx.γ ɛ (PF) (Unicidde) 3. A estrutur de reticuldo é propgd ns expressões. B (B ) 1 2 1 B 2 (B ) l ( L) l ɛ 1 ɛ 2 l ɛ 1 l ɛ 2 ( L) r ( R) r ɛ 1 ɛ 2 r ɛ 1 r ɛ 2 ( R) ( ) ( A ) (ɛ 1 ɛ 2 ) (ɛ 1 ) (ɛ 2 ) ( A ) l[ɛ 1 ɛ 2 ] l[ɛ 1 ] l[ɛ 2 ] (+ L) r[ɛ 1 ɛ 2 ] r[ɛ 1 ] r[ɛ 2 ] (+ R) l[ɛ 1 ] r[ɛ 2 ] l[ ] r[ ] (+ ) 4. é um congruênci. ɛ 1 ɛ 2 ɛ[ɛ 1 /x] ɛ[ɛ 2 /x] pr um vriável x livre em ɛ (Cong) 5. α-equivlênci µx.γ µ y.γ[ y/x] pr um vriável y cpturd em γ (α equiv) 4.1 EXEMPLO. Considere o seguinte utómto não-determinístico, com lfeto A = {}: s 1 s 2 s 3 Usndo (definid n prov do Teorem 3.14) podemos fcilmente clculr s expressões correspondentes os estdos s 1 e s 2 : ɛ 1 = s 1 = µx 1.l 0 r ({x 1 }) ɛ 2 = s 2 = µ y 1.l 0 r ({µ y 2.l 0 r ({µ y 1.l 0 r ({y 2 }) }) }) 22

Provmos gor, usndo os xioms, que ɛ 2 ɛ 1. Nos cálculos seguintes ɛ = µx 1.r ({x 1 }). ɛ 2 ɛ 1 r ({µ y 2.r ({r ({y 2 }) }) }) ɛ ((B ), ( L), (PF) nd (Vzio)) µ y 2.r ({r ({y 2 }) }) ɛ ((PF) on ɛ nd (Cong) twice) r ({r ({ɛ}) }) ɛ (unicidde de pontos fixos) r ({ɛ}) ɛ xiom (PF) ɛ ɛ xiom (PF) O xiom (Cong) foi usdo em quse todos os pssos. Considere gor o utómto não-determinístico, com o lfeto A = {, }: s 1,, s 2 s 3 s 4 Usndo, clculmos s expressões correspondentes s 1, s 2, s 3 e s 4 : Depois, começndo com ɛ 2 clculmos: ɛ 1 = s 1 = µx 1.l 0 r ({ɛ 2 }) ({ɛ 2 }) ɛ 2 = s 2 = µx 2.l 0 ɛ 3 = s 3 = µx 3.l 0 r ({ɛ 2 }) ({ɛ 2 } {ɛ 4 }) ɛ 4 = s 4 = µx 4.l 0 ɛ 2 l 0 (PF) l (Vzio)nd(B ) ( L) De form semelhnte, podemos deduzir ɛ 4. Agor provmos que ɛ 1 ɛ 3 : ɛ 1 ɛ 3 l 0 r ({ɛ 2 }) ({ɛ 2 }) l 0 r ({ɛ 2 }) ({ɛ 2 } {ɛ 4 }) (PF) l 0 r ({ }) ({ }) l 0 r ({ }) ({ } { }) (ɛ 2 ɛ 4 ) l 0 r ({ }) ({ }) l 0 r ({ }) ({ }) ((Idempotênci)) Correcção e Completude N tese, presentmos prov que xiomtizção cim é correct e complet. 4.2 TEOREMA (Correcção e Completude). Ddo um functor não-determinístico G oseguinteé válido pr tods s expressões ɛ 1, ɛ 2 Exp G, ɛ 1 ɛ 2 ɛ 1 ɛ 2 5 Mis dois exemplos Nest secção, presentmos mis dois exemplos de plicção d noss pltform: sistems de trnsição etiquetdos (com terminção explícit) e utómtos pr plvrs gurdds. Estes dois tipos de utómtos estão directmente ligdos, respectivmente, álger ásic de processos e álger de Kleene com testes. Pr fcilitr leitur e melhorr presentção, vmos presentr s dus lingugens usndo um sintxe mis polid que derivd directmente. 23

Sistems de trnsição etiquetdos. Sistems de trnsição etiquetdos (com terminção explícit) são coálgers do functor 1 + (P ω Id) A. Instncindo noss pltform pr este functor dá origem um lingugem que é equivlente o conjunto de expressões fechds e gurdds gerds ple grmátic seguinte: P :: = 0 P + P.P δ µx.p x onde A e x X (X é um conjunto de vriáveis) juntmente com os xioms (omitimos os xioms congruênci e α-equivlênci) P 1 + P 2 P 2 + P 1 P 1 +(P 2 + P 3 ) (P 1 + P 2 )+P 3 P + P P P + 0 P P + δ P ( ) + δ + P ( ) P[µx.P/x] µx.p P[Q/x] Q (µx.p) Q ( ) if P 0 nd P Note que, tl como seri de esperr, não existe nenhum xiom que premit provr.(p+q).p +.Q. Além disso, oserve que est sintxe e xiomtizção são muito semelhntes às originlmente presentds em [AH92]. N sintxe cim, δ represent dedlock, terminção e 0 o processo totlmente indefinedo. N tese de doutormento d qul o mteril presentdo neste rtigo fz prte provmos formlmente que sintxe cim ger um lingugem isomórfic à lingugem derivd directmente pr s expressões ɛ Exp 1 +(P ω Id) A. Por rzões de espço mostrmos qui simplesmente sintxe de Exp 1 +(P ω Id) A e s funções de trdução entre s dus sintxes. O conjunto de expressões Exp 1 +(P ω Id) contém tods s expressões fechds e gurdds definids pel A grmátic seguinte: ɛ:: = ɛ ɛ x µx.ɛ l[ɛ 1 ] r[ɛ 2 ] ɛ 1 :: = ɛ 1 ɛ 1 ɛ 2 :: = ɛ 2 ɛ 2 (ɛ ) ɛ :: = ɛ ɛ {ɛ} A função que trnsform P s em ɛ s é definid inductivmente n estrutur de P: (0) = (P 1 + P 2 ) = (P 1 ) (P 2 ) (µx.p) = µx.p x = x (.P) = r[({p })] ( ) = l[ ] (δ) = r[ ] E trnsformção invers: ( ) = 0 (ɛ 1 ɛ 2 ) = (ɛ 1 ) +(ɛ 2 ) (µx.ɛ) = µx.ɛ x = x (l[ ]) = (l[ɛ 1 ɛ 1 ]) = (l[ɛ 1 ]) +(l[ɛ 1 ]) (l[ ]) = (r[ ]) = δ (r[ɛ 2 ɛ 2 ]) = (r[ɛ 2 ]) +(r[ɛ 2 ]) (r[( )]) = δ (r[(ɛ 1 ɛ 2 )]) = (r[(ɛ 1 )]) +(r[(ɛ 2 )]) (r[({ɛ})]) =.ɛ 24