Concept of Normal Forms, Context Free Grammars & Languages

Normal forms:

Whenever trying to prove that all the objects in certain class C encompass a given property P, it is frequently helpful to first prove that all object O in C can be converted to some equivalent object O’ in certain subclass C’ of C. Here, ‘equivalent’ entails that the transformation preserves the property P of the interest. Afterward, the argument can be limited to the subclass C’, taking benefit of any additional properties this subclass might have.

Any CFG can be converted to a number of ‘normal forms’ (NF) which are (almost!) equivalent. Here, ‘equivalent’ signifies that the two grammars state similar language and the proviso ‘almost’ are essential as such normal forms can’t produce the null string.

Chomsky normal form (right-hand sides are short):

All the rules are of form X -> Y Z or X -> a, for certain non-terminals X, Y, Z ∈ V and terminal a ∈ A

Theorem: All CFG G can be transformed to the Chomsky NF G’ in such a manner that L(G’) = L(G) - {ε}.

Proof idea: Repeatedly substitute a rule X -> v w, |v| ≥ 1, |w| ≥ 2 by X -> Y Z, Y -> v, Z -> w, where Y and Z are latest non-terminals used merely in such new rules. Both right hand side v and w are shorter than original right hand side v w.

The Chomsky NF modifies the syntactic structure of L(G), that is an undesirable side effect in practice. However Chomsky NF turns all the syntactic structures to binary trees, a helpful technical device which we exploit in Pumping Lemma and CYK parsing algorithm.

Greibach normal form (at each step, generate 1 terminal symbol at the far left - helpful for parsing):

All the rules are of form X -> a w, for some terminal a ∈ A, and some w ∈ V*

Theorem: Each and every CFG G can be converted to a Greibach NF G’ in such a way that L(G’) = L(G) - {ε}.

Proof idea: For a rule X -> Y w, ask whether Y can ever generate a terminal at far left, that is, Y ->* a v. When so, substitute X -> Y w by rules like X -> a v w. When not, X -> Y w can be omitted, since it will never lead to the terminating derivation.

Latest technology based Theory of Computation Online Tutoring Assistance

Tutors, at the, take pledge to provide full satisfaction and assurance in Theory of Computation help via online tutoring. Students are getting 100% satisfaction by online tutors across the globe. Here you can get homework help for Theory of Computation, project ideas and tutorials. We provide email based Theory of Computation help. You can join us to ask queries 24x7 with live, experienced and qualified online tutors specialized in Theory of Computation. Through Online Tutoring, you would be able to complete your homework or assignments at your home. Tutors at the TutorsGlobe are committed to provide the best quality online tutoring assistance for Theory of Computation Homework help and assignment help services. They use their experience, as they have solved thousands of the Theory of Computation assignments, which may help you to solve your complex issues of Theory of Computation. TutorsGlobe assure for the best quality compliance to your homework. Compromise with quality is not in our dictionary. If we feel that we are not able to provide the homework help as per the deadline or given instruction by the student, we refund the money of the student without any delay.