Line 66: Line 66:
 
|}
 
|}
  
Checking if  L(CFG) is finite is decidable because we just need to see if L(CFG) contains any string with length between n and 2n-1 where n is the pumping lemma constant. If so,  L(CFG)  is infinite otherwise its finite.
+
Checking if  <math>L(CFG)</math> is finite is decidable because we just need to see if <math>L(CFG)</math> contains any string with length between <math>n</math> and <math>2n-1</math> where <math>n</math> is the pumping lemma constant. If so,  <math>L(CFG)</math> is infinite otherwise its finite.
  
 
==Other Undecidable Problems ==
 
==Other Undecidable Problems ==

Revision as of 12:30, 27 February 2014

Grammar: Decidable and Undecidable Problems
Grammar <math>w \in L(G)</math> <math>L(G) = \phi</math> <math>L(G) = \Sigma^*</math> <math>L(G_1) \subseteq L(G_2)</math> <math>L(G_1) = L(G_2)</math> <math>L(G_1) \cap L(G_2) = \phi</math> <math>L(G)</math> is finite
Regular Grammar D D D D D D D
Det. Context Free D D D UD ? UD D
Context Free D D UD UD UD UD D
Context Sensitive D UD UD UD UD UD UD
Recursive D UD UD UD UD UD UD
Recursively Enumerable D UD UD UD UD UD UD

Checking if <math>L(CFG)</math> is finite is decidable because we just need to see if <math>L(CFG)</math> contains any string with length between <math>n</math> and <math>2n-1</math> where <math>n</math> is the pumping lemma constant. If so, <math>L(CFG)</math> is infinite otherwise its finite.

Other Undecidable Problems

For arbitrary CFGs G, G1 and G2 and an arbitrary regular set R

The following problems are undecidable:

  1. Whether <math>(L(G1))^\complement</math> is a CFL
  2. Whether <math>L(G1) \cap L(G2)</math> is a CFL
  3. Whether <math>L(G1) \cap L(G2)</math> is empty
  4. Whether <math>L(G) = R</math>
  5. Whether <math>L(G) \subseteq R</math>
  6. Whether <math>G</math> is ambiguous
  7. Whether <math>L(G)</math> is a DCFL

But whether <math>R \subseteq L(G)</math> is decidable

For arbitrary DCFGs G, G1 and G2 and an arbitrary regular set R

The following problems are decidable:

  1. Whether <math>(L(G1))^\complement</math> is a DCFL
  2. Whether <math>L(G) = R</math>
  3. Whether <math>L(G) \subseteq R</math>
  4. Whether <math>R \subseteq L(G)</math>
  5. Whether <math>L(G)</math> is a CFL
Grammar: Decidable and Undecidable Problems
Grammar <math>w \in L(G)</math> <math>L(G) = \phi</math> <math>L(G) = \Sigma^*</math> <math>L(G_1) \subseteq L(G_2)</math> <math>L(G_1) = L(G_2)</math> <math>L(G_1) \cap L(G_2) = \phi</math> <math>L(G)</math> is finite
Regular Grammar D D D D D D D
Det. Context Free D D D UD ? UD D
Context Free D D UD UD UD UD D
Context Sensitive D UD UD UD UD UD UD
Recursive D UD UD UD UD UD UD
Recursively Enumerable D UD UD UD UD UD UD

Checking if L(CFG) is finite is decidable because we just need to see if L(CFG) contains any string with length between n and 2n-1 where n is the pumping lemma constant. If so, L(CFG) is infinite otherwise its finite.

Other Undecidable Problems[edit]

For arbitrary CFGs G, G1 and G2 and an arbitrary regular set R[edit]

The following problems are undecidable:

  1. Whether <math>(L(G1))^\complement</math> is a CFL
  2. Whether <math>L(G1) \cap L(G2)</math> is a CFL
  3. Whether <math>L(G1) \cap L(G2)</math> is empty
  4. Whether <math>L(G) = R</math>
  5. Whether <math>L(G) \subseteq R</math>
  6. Whether <math>G</math> is ambiguous
  7. Whether <math>L(G)</math> is a DCFL

But whether <math>R \subseteq L(G)</math> is decidable

For arbitrary DCFGs G, G1 and G2 and an arbitrary regular set R[edit]

The following problems are decidable:

  1. Whether <math>(L(G1))^\complement</math> is a DCFL
  2. Whether <math>L(G) = R</math>
  3. Whether <math>L(G) \subseteq R</math>
  4. Whether <math>R \subseteq L(G)</math>
  5. Whether <math>L(G)</math> is a CFL