En "Derivados de las expresiones regulares" de Brzozowski y en otros lugares, el δ función (R) devolver λ si un R es anulable, y ∅ otra cosa, incluye cláusulas tales como los siguientes:nulabilidad (Las expresiones regulares)
δ(R1 + R2) = δ(R1) + δ(R2)
δ(R1 · R2) = δ(R1) ∧ δ(R2)
Claramente, si tanto R1 y R2 son anulable entonces (R1 · R2) es anulable, y si cualquiera de R1 o R2 es anulable entonces (R1 + R2) es anulable. Sin embargo, no está claro para mí lo que se supone que significan las cláusulas anteriores. Mi primer pensamiento, el mapeo de (+), (·), o las operaciones booleanas a conjuntos regulares no tiene sentido, ya que en el caso base,
δ(a) = ∅ (for all a ∈ Σ)
δ(λ) = λ
δ(∅) = ∅
y λ no es un conjunto (ni es un conjunto el tipo de retorno de δ, que es una expresión regular). Además, este mapeo no está indicado, y hay una notación separada para él. Comprendo nulability, pero estoy perdido en la definición de suma, producto y operaciones booleanas en la definición de δ: cómo son λ o ∅ devueltos de δ (R1) ∧ δ (R2), por ejemplo , en la definición de δ (R1 · R2)?
Esto debería ser en Theoretical CS en su lugar: http://cstheory.stackexchange.com/ – Wolph
Tenía la impresión de que * cstheory.stackexchange * está destinado a preguntas de nivel de investigación. Si es así, esta pregunta es ciertamente * no * apropiada para el sitio. Hay muchas preguntas de este nivel sobre expresiones regulares en este sitio. – danportin
Estoy bastante cómodo con casi todo en SO, pero esta pregunta me confunde sin fin. Creo que obtendrás más ojos en cstheory. – bukzor