Recursive Language and Recursive Enumerable Language

Recursive Language and Recursive Enumerable Language

Before discussing Recursive language and Recursive Enumerable language, let us see what Turing machine responds for some input string.

  • If we have the Turing machine T and it halts and accept the string s.
  • The Turing machine T halts and rejects the string s.
  • The Turing machine T never halts.

These are the 3 possibilities when we give an input string s to Turing machine T.

Recursive Language

A language L is called recursive or decidable, if there exists a Turing machine T. A recursive language accepts every string of the language L and rejects every string over some alphabet that is not in the language. Let L is a language and imagine it as a problem, then we can say a problem L is called decidable if it is recursive language, and is called undecidable if it not recursive.

  • If string s belongs to Language L then Turing machine accepts it.
  • If string s not belongs to Language L then Turing machine halts but it never enters an accepting state.

Turing machine: The Turing machine is more powerful because it has external memory which is capable of remembering arbitrary long sequence of input string. Neither finite automata nor push down automata can be considered as accurate model of general purpose computer, since they are unable to recognize simple language like L = { 0n 1n 2n | n>=0 }.

Recursive Enumerable Language

In recursively enumerable, if there exists a Turing machine that language L is said to be accepts it. A language for which an enumeration procedure exist is definitely a recursively enumerable language. The various recursive languages are also recursively enumerable languages but the vice versa is not true.

Recursive Language and Recursive Enumerable Language

The above figure shows the relationship between recursive and recursively enumerable language.

Some Properties of Recursive and Recursive Enumerable Language

Theorem:

If L is recursive language then its complement L’ is also recursive language.

Proof: Let L be a recursive language that is accepted by Turing machine T, which halts on all inputs. Now we will construct a Turing machine Ts from Turing machine T, the construction is shown below:

Recursive Language and Recursive Enumerable Language

As shown in above figure, the Turing machine T, on input string s enters into accept state then Turing machine Ts halts without accepting input string w. On the other hand, if Turing machine T halts without accepting input string w then Ts enters into a accept state. Ts accepts those strings that T do not accept. Thus, we can say Ts recognizes the complement of L.

Theorem:

If L1 and L2 are two recursive languages then the union of L1 and L2 i.e. L1 U L2 is also recursive.

Proof:

Let T1 and T2 are two Turing machines that recognize L1 and L2. We will construct a Turing machine T, whose construction is shown below:

Recursive Language and Recursive Enumerable Language

T first simulates T1 and T accepts the input s if T1 accepts. If T1 rejects then T simulates T2 and accepts if T2 accepts. Since both T1 and T2 are two algorithms. T is guaranteed to halt.

Therefore, it is proved that Turing machine T accepts the union of L1 and L2.

Theorem:

The union of any two recursively enumerable language is also recursively enumerable language.

Proof: Let L1 and L2 are two recursively enumerable languages accepted by Turing machine T1 and T2. We will construct a Turing machine T, whose construction is shown below:

Recursive Language and Recursive Enumerable Language

The Turing machine T simultaneously simulates T1 and T2 on separate tapes. If either T1 or T2 accepts the input string s then Turing machine T accepts.

Theorem:

L is a language and its complement L’ is recursively enumerable language, then L is also a recursive language.

Proof: M1 and M2 are the two Turing machines that recognize the language L and its complement L’. We will construct a Turing machine T, whose construction is shown below:

Recursive Language and Recursive Enumerable Language

The Turing machine T simulates in parallel both T1 and T2. The states of T1 and T2 are each components of the state of Turing machine T. If Turing machine T1 accepts the input string s, then T also accepts the s. On the other hand, if T2 accepts input string s then T rejects s. Since input string s is either accepted by L or L’ and we know that exactly one of T1 and T2 will accept. Thus, T will always output with accept or reject but never say both. Since T is an algorithm that accepts L so we can say Language L is recursive.


Related Topics

Closure Properties of Regular Languages -Automata

Closure Properties of Regular Languages We use the term “Closure” when we talk about sets of things. If we have two regular languages L1 and L2, and L is obtained by...

3 minutes read.

Minimization of Finite Automata

Minimization of Finite Automata The term minimization refers to the construction of finite automata with a minimum number of states, which is equivalent to the given finite automata. The number of...

4 minutes read.

Chomsky's Normal Form - Automata

Chomsky's Normal Form (CNF) In context free grammar, the left-hand side of production rules contains only one variable, and right side may contain any number of variables or terminals in production...

4 minutes read.

Automata Regular Expressions

Regular Expressions Regular expressions are also referred as rational expressions, which are used to describe the algebraic description of regular languages. It is generally a sequence of characters that is used...

3 minutes read.

Finite Automata with Output

Finite Automata with Output The Finite State machine is similar to Finite Automata, except that it has the additional capacity of producing output. Finite State machine = Finite Automata + Output Capabilities Types...

3 minutes read.

Converting Finite Automata to Regular Expression using Arden’s Theorem

Converting Finite Automata to Regular Expression using Arden’s Theorem The Arden’s Theorem can be applied to find the regular expression recognized by the given transition diagram. This theorem can be applied...

4 minutes read.

Conversion from NFA to DFA

Conversion from NFA to DFA A Non-deterministic Finite Automata (NFA) is a finite state machine, in which, the move from one state to another is not fully deterministic, i.e., for a...

4 minutes read.

Automata Greibach Normal Form

Greibach Normal Form In Greibach Normal Form, there is restriction on the position, in which, terminals and variables can appear on right-hand side of production rules. In Greibach Normal Form, every...

4 minutes read.

Minimization of Finite Automata with Output

Minimization of Finite Automata with Output The method to minimize the Moore and Mealy machine is very much similar to the method that we have used to minimize the DFA. Methods to...

3 minutes read.

Automata Tutorial

What is Automata? Automata is a mathematical model and abstract model, which is used to detect string in various languages. In Automata, Regular language is recognized by Finite state AutomataContext Free language...

4 minutes read.

Conversion of DFA to Regular expression

Conversion of DFA to Regular expression To convert the DFA to Regular Expression (RE), we are going to use a method called converting DFA to regular expression by eliminating states. This...

3 minutes read.

Non-deterministic Turing Machine - Automata

A non-deterministic Turing machine (NTM) is a theoretical machine used in computability theory to study the extent to which a machine can "guess" at a solution and yet still be...

4 minutes read.

Derivation Tree of Context Free Grammar - Automata

Derivation Tree of Context Free Grammar Derivation tree gives a way to show how a string can be derived from context free grammar. It is also called as parse tree, production...

3 minutes read.

Pumping Lemma for Regular Languages - Automata

Pumping Lemma for Regular Languages The language accepted by the finite automata is called Regular Language. If we are given a language L and asked whether it is regular or not?...

4 minutes read.

Conversion from Mealy Machine to Moore Machine

Conversion from Mealy Machine to Moore Machine In this topic, we will see different ways that are used for the conversion of Mealy Machine to Moore Machine. Moore Machine The output of Moore...

4 minutes read.

Ambiguity in Context Free Grammar - Automata

Ambiguity in Context Free Grammar? Context Free Grammar Context Free Grammar has one condition for production rules, which is, on the left-hand side of each rule, there must be only single variable,...

4 minutes read.

Equivalence of Regular Grammar and Finite Automata

Equivalence of Regular Grammar and Finite Automata Regular Grammar / type -3 grammar A regular grammar or type-3 defines the language called regular language that is accepted by finite Automata.A Regular Grammar...

3 minutes read.

Simplification of Context Free Grammar - Automata

Simplification of Context Free Grammar Context Free Grammar has recursive structure. The languages that are accepted with Context Free Grammar are called Context Free Languages. Context Free Grammar has one condition...

3 minutes read.

Recursive Language and Recursive Enumerable Language

Recursive Language and Recursive Enumerable Language Before discussing Recursive language and Recursive Enumerable language, let us see what Turing machine responds for some input string. If we have the Turing machine T...

4 minutes read.

Undecidable Problem of Turing Machine

Automata Undecidable Problem of Turing Machine Undecidable problems areproblems which cannot be solved by any Turing machine. Example: Post Correspondence Problem is the type of undecidable Problem. Post Correspondence Problem Post Correspondence problem is...

7 minutes read.