Índice da seção
- Noções Fundamentais
- Funções
- Alfabetos e Palavras
- Definição: Alfabeto
- Definição: Palavra
- Definição: Comprimento de uma palavra
- Definição: Palavra Vazia
- Definição: Concatenação de palavras
- Teorema: Associatividade da Concatenação
- Teorema: Elemento Neutro da Concatenação
- Definição: Palavra Potência
- Lema
- Definição: Palavra Inversa
- Definição: Alfabeto Potência
- Definição: Fecho Positivo e Fecho de Kleene de Alfabetos
- Definição: Prefixo e Sufixos
- Definição: Conjuntos dos Prefixos e Sufixos
- Teorema: Para qualquer que seja , as seguintes afirmações são verdadeiras:
- Corolario: Existência de Prefixo e Sufixo
- Linguagens
Noções Fundamentais
Esta seção introduz os conceitos fundamentais para o estudo dos autômatos finitos e linguagens formais, essenciais para as seções e capítulos subsequentes.
Funções
Sejam e dois conjuntos quaisquer, uma função de em , denotado como , é uma relação que associa cada elemento de a, no máximo, um elemento em .
Sejam e dois conjuntos quaisquer, e sejam e funções de em , isto é, . Dizemos que é uma função parcial quando não está definida para todos os elementos de . Por outro lado, é uma função total quando está definida para todos os elementos de .
Alfabetos e Palavras
Um alfabeto é um conjunto de símbolos finito e não vazio denotado convencionalmente pelo símbolo .
Seja um alfabeto, qualquer sequência finita de símbolos na forma com para todo é dita uma palavra sobre .
A partir daqui, podemos definir algumas operações sobre palavras e alfabetos.
Seja uma palavra, o comprimento de , denotado por , é o número de símbolos que compõem .
Seja uma palavra, é dita palavra vazia, e denotada por , se, e somente se, .
Sejam e duas palavas quaisquer, a concatenação de com , denotada por é a palavra formada por todos os símbolos de seguidos por todos os símbolos de , ou seja:
Nota-se que não existe nenhuma exigência sobre os alfabetos aos quais as palavras da concatenação fazem parte, ou seja, não é obrigatório que elas pertencam ao mesmo alfabeto.
Para quaisquer palavras , vale:
Para qualquer palavra :
Seja uma palavra , a palavra potência de , denotada por , é definida recursivamente como:
Para toda palavra e para todo é válido que:
- .
- .
Seja uma palavra , a palavra inversa de , denotada por , é tal que .
Também podemos formalizar algumas operações com alfabetos. Em primeiro lugar, uma vez que alfabetos são conjuntos, todas as operações usuais de conjuntos (união, interseção, complemento, ) são válidas. Além dessas, segue:
Seja um alfabeto , a potência de , denotada por , é definida recursivamente como:
Seja um alfabeto, o fecho positivo e o fecho de Kleene de , denotados em ordem por e , correspondem, respectivamente, aos conjuntos:
Seja as palavra , dizemos que é prefixo de , denotado por , sempre que . Por outro lado, dizemos que é sufixo de , denotado por , sempre que .
Seja , o conjunto de todos os prefixos de corresponde ao conjunto: e o conjunto de todos os sufixo de corresponde ao conjunto
Toda palavra tem pelo menos um prefixo e um sufixo.
Linguagens
Dado um alfabeto , qualquer subconjunto será chamado de linguagem sobre .
Assim como para alfabetos, as linguagens também herdam as operações clássicas de conjuntos, bem como podemos definir algumas demais operações.
Sejam as linguagens , a concatenação de e , denotado por , corresponde ao conjunto:
Seja uma linguagem, a linguage m reversa de L, denotada por , corresponde ao conjunto:
Seja uma linguagem , a linguagem potência de , denotada por , é definida recursivamente como:
Seja uma linguagem, o Fecho Positivo e o Fecho de Kleene de L, denotados em ordem por e , são, respecivamente:
Seja uma linguagem, as linguagens dos prefixos e dos sufixos de , denotadas em ordem por e , são, respectivamente, os seguintes conjuntos: