はいあります。コンテキストフリーの式を定義して、次の文法によって生成される用語にします。
g::=||||||ϵcg⋅g⊥g∨gμα.gαEmpty stringCharacter c in alphabet ΣConcatenationFailing patternDisjunctionRecursive grammar expressionVariable expression
これは、一般的な固定小数点演算子と変数参照メカニズムに置き換えられたKleene starを除く、通常の言語のすべてのコンストラクターです。(Kleeneスターはとして定義できるため、必要ありません。)μα.gg∗≜μα.ϵ∨g⋅α
文脈自由表現の解釈には、自由変数の解釈を考慮する必要があります。したがって、環境
を変数から言語へのマップ(つまり、サブセット
)に定義し、をを除くすべての入力でように動作する関数とする、およびその言語返しのための。ρΣ∗[ρ|α:L]ραLα
次に、次のようにコンテキストフリー式の解釈を定義します。
[[ϵ]]ρ[[c]]ρ[[g1⋅g2]]ρ[[⊥]]ρ[[g1∨g2]]ρ[[α]]ρ[[μα.g]]ρwhereL0Ln+1========={ϵ}{c}{w1⋅w2∣|w1∈[[g1]]ρ∧w2∈[[g2]]ρ}∅[[g1]]ρ∪[[g2]]ρρ(α)⋃n∈NLn∅Ln∪[[g]][ρ|α:Ln]
Knaster-Tarskiの定理を使用すると、解釈が式の最小固定であることが簡単にわかります。μα.g
文脈自由な文法と同じ言語を派生する文脈自由な表現を与えることができることを示すことは簡単です(完全に些細ではありませんが)。非自明性は、コンテキストフリー式にネストされた固定ポイントがあり、コンテキストフリー文法がタプル上の単一の固定ポイントを提供するという事実から生じます。これには、Bekicの補題を使用する必要があります。これは、ネストされた固定ポイントを製品上の単一の固定ポイントに変換できることを正確に示しています(逆も同様です)。しかし、それだけが微妙です。
編集:いいえ、私はこのための標準的な参照を知りません:私は自分の興味のためにそれを作りました。しかし、それは十分に明白な構造であり、以前に発明されたと確信しています。カジュアルなグーグルは、Joost Winter、Marcello Bonsangue、およびJan Ruttenの最近の論文
Context-Free Languages、Coalgebraicallyを明らかにします。