3

"if a language is recursive, then there exists a method by which the strings in language can be written in some sequence" I am also told that "if a language can be enumerated in a lexicographic order by some Turing machine, then such a language is called recursive"

First : are the two statements are different? Second : should it be a lexicographic order only?

user2440665
  • 101
  • 5

1 Answers1

4

Think back to the reason why lexicographical order is necessary for the definition of a recursive language:

  • A language is recursive if it can be decided. That is to say, for a given word W and a given language L, it is possible to know whether W is a member of L, or not in finitely many steps.
  • A language is recursively enumerable if it can be accepted. That is to say, for a given word W and a given language L, it is possible to know whether W is a member of L in finitely many steps, but it is not possible to know whether W is not a member of L.

So if a machine just enumerated the words of L in any order, you can check to see if your word W is in that list. If it is, you stop. If it isn't, you have to wait forever to see if your word is eventually output by the machine. The language is recursively enumerable.

If you knew the order, though, you could evaluate whether the machine should have output W by now. If the machine has output a word X, and according to the ordering you know the machine is using, W is before X, you know that the machine will not ever emit W, so you know that W is not a member of L.

Lexicographical order is one of many total orderings of words that satisfy the property that you can tell when your word W should have been output, so if you don't see it by then, you can stop.

Other orders:
https://en.wikipedia.org/wiki/Lexicographical_order#Colexicographic_order
https://en.wikipedia.org/wiki/Kleene%E2%80%93Brouwer_order

So to answer your specific questions:

  1. Are the two statements different?
    Yes.
    The first statement states "in some sequence", which does not specify that the sequence must be a total order over L's alphabet. Therefore the first statement is incorrect. The first statement defines a recursively enumerable language.
    The second statement is correct, but is more restrictive than it needs to be. Lexicographical order is only one total order over an alphabet. Others can be used.

  2. Should it be a lexicographical order only?
    No.
    As above, as long as the machine guarantees output in any total order over the alphabet, the language is recursive.

Welbog
  • 59,154
  • 9
  • 110
  • 123
  • Many thanks. Btw are total order and proper order related in any sense? – user2440665 Jul 22 '16 at 15:06
  • I'm not aware of a rigorous definition of "proper order". Do you have a definition of the term? – Welbog Jul 22 '16 at 15:22
  • I am reading introduction to formal languages and automata by Peter Linz. On page 271 it takes an order a, b, c, aa, ab, ba, bb... And calls it proper order. It seems lexicographic and thus total. So I thought it might be some type of order like total and partial – user2440665 Jul 22 '16 at 15:29
  • In total order, it is more general with the properties of reflexive, transitive and antisymmetry. These properties can be achieved very easily on a set of Integers. But when we consider a language over {a,b} then how do I compare the given 3 strings for transitive property : aab aba aaa Without using lexicographic order or in some other order. – user2440665 Jul 23 '16 at 10:26