Sim existe. Defina uma expressão sem contexto para ser um termo gerado pela seguinte gramática:
g: : =||||||ϵcg⋅ g⊥g∨ gμ α .gαString vaziaCaráter c no alfabeto ΣConcatenaçãoPadrão com falhaDisjunçãoExpressão gramatical recursivaExpressão variável
Esses são todos os construtores de linguagens regulares, exceto Kleene star, que é substituída por um operador de ponto fixo geral e um mecanismo de referência variável. (A estrela Kleene não é necessária, pois pode ser definida como .)g ∗ ≜ μ α .μ α .gg* ≜ u ct .£ ∨ g⋅ α
A interpretação de uma expressão livre de contexto requer a contabilização da interpretação de variáveis livres. Portanto, defina um ambiente
para ser um mapa de variáveis para idiomas (ou seja, subconjuntos de
) e deixe ser a função que se comporta como em todas as entradas, exceto e que retorna o idioma para .Σ ∗ [ ρ | α : L ] ρ α L αρΣ∗[ ρ | α : L ]ραeuα
Agora, defina a interpretação de uma expressão livre de contexto da seguinte maneira:
[[ ϵ ]]ρ[[ c ]]ρ[[ g1⋅ g2]]ρ[[ ⊥ ]]ρ[[ g1∨ g2]]ρ[[ α ]]ρ[[ μ α .g]]ρOndeeu0 0eun + 1========={ ϵ }{ c }{ w1⋅ w2| |W1∈ [[ g1]]p ∧ w2∈ [[ g2]]ρ }∅[[ g1]]ρ ∪ [[ g2]]ρρ ( α )⋃n ∈ Neun∅eun∪ [[ g]][ ρ | α : Ln]
Usando o teorema de Knaster-Tarski, é fácil ver que a interpretação de é a menos fixa da expressão.μ α . g
É simples (embora não totalmente trivial) mostrar que você pode dar uma expressão livre de contexto derivando o mesmo idioma que qualquer gramática livre de contexto e vice-versa. A não trivialidade surge do fato de que expressões sem contexto têm pontos fixos aninhados, e gramáticas sem contexto fornecem um único ponto fixo sobre uma tupla. Isso requer o uso do lema de Bekic, que diz precisamente que um ponto fixo aninhado pode ser convertido em um único ponto fixo sobre um produto (e vice-versa). Mas essa é a única sutileza.
Edição: Não, eu não sei uma referência padrão para isso: eu trabalhei para o meu próprio interesse. No entanto, é uma construção bastante óbvia que estou confiante de que foi inventada antes. Algum Googling casual revela Joost Winter, Marcello Bonsangue e o artigo recente de Jan Rutten,
Linguagens sem Contexto, Coalgebraically , onde eles fornecem uma variante dessa definição (exigindo que todos os pontos fixos sejam protegidos) que eles também chamam de expressões sem contexto.