Sistema canônico de Post

Um sistema canônico de Post, como criado por Emil Post, é um sistema de manipulação de cadeias que começa com uma quantidade finita de cadeias e repetidamente as transforma aplicando um conjunto finito J de regras especificadas de uma certa forma, assim gerando uma linguagem formal. Hoje eles possuem uma relevância mais histórica porque todo sistema canônico de Post pode ser reduzido a um sistema de reescrita de cadeias (sistemas de Thue-Semi), o que é uma formulação mais simples. Ambos os formalismos são Turing completos.

Definição editar

Um sistema canônico de Post é uma tripla (A,I,R), onde

  • A é um alfabeto finito, e finitas (possivelmente vazias) cadeias em A são chamadas palavras.
  • I é um conjunto finito de palavras iniciais.
  • R é um conjunto finito de regras de transformação de cadeias (chamadas regras de produção), cada regra sendo da seguinte forma:
 

onde cada g e h é uma palavra fixa específica, e cada $ e $'  é uma variável servindo como uma palavra arbitrária. As cadeias antes e depois da seta em uma regra de produção são chamadas os antecedentes e consequentes da regra, respectivamente. É preciso que cada  $'  nos consequentes seja um dos $s nos antecedentes desta regra, e cada antecedente e consequente conterem ao menos uma variável.

Em vários contextos, cada regra de produção tem apenas um antecedente, tomando a forma mais simples
 

A linguagem formal gerada por um sistema canônico de Post é o conjunto cujos elementos são as palavras iniciais juntas com todas as palavras obteníveis a partir delas através da aplicação repetida das regras de produção. Tais conjuntos são recursivamente enumeráveis e toda linguagem recursivamente enumerável é a restrição de algum conjunto deste tipo para um sub-alfabeto de A.

Exemplo (expressões de colchetes bem formadas) editar

Alfabeto: {[, ]}
Palavra inicial: []
Regras de produção: 
(1)       $ → [$]
(2)       $$$
(3)       $1[]$2$1$2

Derivação de algumas palavras na linguagem de expressões de colchetes bem formadas:

       []             initial word
       [][]           by (2)
       [[][]]         by (1)
       [[][]][[][]]   by (2)
       [[][]][][[][]] by (3)
       ...

Teorema da forma normal editar

Diz-se que um sistema canônico de Post está na forma normal se ele só possui uma palavra inicial e toda regra de produção é da forma simples

 

Post provou o notável Teorema da forma normal em 1943, o qual se aplica ao sistema de Post mais genérico:

Dado qualquer sistema canônico de Post sobre um alfabeto A, um sistema canônico de Post na forma normal pode ser construído a partir dele, possivelmente ampliando o alfabeto, tal que o conjunto de palavras envolvendo apenas letras de A que são formados pelo sistema em forma normal é exatamente o conjunto de palavras gerado pelo sistema original.

Sistemas de etiquetamento, os quais abrangem um modelo computacional universal, são exemplos notáveis de sistemas de Post em forma normal, sendo também monogênicos (um sistema canônico é dado como monogênico se, dada qualquer cadeia, no máximo uma nova cadeia pode ser produzida a partir dela em um passo — i.e., o sistema é determinístico).

Sistemas de reescrita de cadeias, gramáticas formais tipo-0 editar

Um sistema de reescrita de cadeias é um tipo especial de sistema canônico de Post com uma única palavra inicial, e as produções são cada uma da forma

 
Isto é, cada regra de produção é uma regra de substituição simples, geralmente escrita na forma gh. Foi provado que qualquer sistema canônico de Post é redutível para um sistema de substituição, o qual, enquanto gramática formal, também é chamado de gramática de frase-estrutura, ou uma gramática tipo-0 na hierarquia de Chomsky.

Referências editar