HiveBrain v1.2.0
Get Started
← Back to all entries
snippetMinor

Simple, intuitive example of non recursively enumerable languages

Submitted by: @import:stackexchange-cs··
0
Viewed 0 times
simplenonlanguagesexamplerecursivelyintuitiveenumerable

Problem

This question is a bit of a shot in the dark. I am asking here, though I am not convinced that such an example exists.

I'd like a quick, highly intuitive example that I can throw out to my students before we engage in the halting problem. I will come back and explore RELs in more depth later in the lecture, but I was hoping for something I could use earlier in the lecture to help students intuitively see that there is a limit to what turing machines can represent before I get to a more formal exploration.

All of the examples I've found are very twisty, and would require me to stop and unpack the notion of the language before students could make any sense of them. (i.e. they are not simply intuitive.)

I have no doubt that, within the infinity of NRE languages, there are some highly intuitive ones, but I've never seen one described anywhere, and I've looked for a long time.

Has anyone ever thought of such an example?

Solution

Perhaps - if you want to avoid the Halting stuff - you can use the set $L$ of incompressible strings:

You start from the definition: a string $x$ is compressible if there is a TM (or a generic "program" in some programming language) smaller in size than $|x|$ that outputs $x$ (when run on empty input)

If there is a TM (a "program") $M$ that enumerates $L$ then you can build another TM $M'$ that simulates/mimics $M$ and as soon as it outputs a string $y$ larger than $|M'|$ it outputs $y$ and halts. The tricky part is to make them realize that a program can "know" its own size and can simulate another program.

In other words $M'$ generates an incompressible string $y$, but $|M'| < y$ so $y$ is compressible: a contradiction.

Context

StackExchange Computer Science Q#159842, answer score: 2

Revisions (0)

No revisions yet.