Unrestricted Grammar

UNRESTRICTED GRAMMAR: The grammars in the Chomsky hierarchy allows productions of the form


where a and b are arbitrary strings of grammar symbols, with a ≠ λ.

These types of grammars as called “Unrestricted grammars”. The 4-tuple notation G = (V,T, P, S ) is used for unrestricted grammars also.

=>* denotes the reflexive and transitive closure of the relation Þ.

THE O REM (I): If L is L(G) for unrestricted grammar G = (V,T, P, S ) , then L is an r.e. language.

THE O REM (II): If L is an r.e. language, then L = L(G) for some unrestricted grammar G.

RANDOM-ACCESS MACHINE: A randon access machine is defined as follows:

Data Types: The only data type supported is the Natural Numbers 0, 1, 2, 3,......... But the numbers may be very large.

Variables: An orbitrary number of variables are allowed. Each variable is capable of holding a single natural number. All variables are initialized to 0.

Tests: The only test allowed is <variable> = 0.

Statements:There are the following types of statements in the language:

(a)    if <test> then <statement> else <statement>;

(b)    while <test> do <statements>;

(c)    <variable> : = <variable> 1; (increment)

(d)    <variable>: = <variable> –1; (decrement)

It is to be noted that decrementing a variable whose value is already zero has no effect.

Statements to be executed in sequence (<statement>; <statement>; <statement>; ...... are allowed and parentheses are used to group a sequence of statement into a single statement. This language is very equivalent in power to a Turing machine. This can be proved by using the language to implement a Turing machine, and then using a Turing machine to emulate the language. This language is so powerful to compute anything that can be computed in any programming language.