I understand what Rice's theorem states and what Trivial and Non-trivial properties mean. However, when given some property, I am having a hard time seeing if it is Trivial or Non-trivial. Can someone help me understand this better, maybe with some good examples?
-
Not really. Did you read my description? I wanted examples, not the definition. – forkexec Feb 27 '14 at 22:33
-
From the definition, it's clear that there are exactly two trivial properties ("everything" and "nothing"); everything else is non-trivial. – David Richerby Feb 27 '14 at 22:38
-
I understand that part. I needed examples to get an intuition and Shaull's answer was helpful for that. Thanks anyway. – forkexec Feb 27 '14 at 22:44
-
This question is clearly not a duplicate of the question it has been marked as a duplicate of. – doubleOrt Jun 14 '18 at 11:08
1 Answers
A property $P$ is a set of Turing machines. The property is trivial if it contains every TM, or if it is empty.
Essentially, in order to check if a property is trivial, just check if there is a TM that satisfies it and if there is a TM that does not satisfy it. If both kinds exist, then the property is nontrivial. Otherwise it is trivial.
However, deciding this can be difficult...
For example, consider the property $\{M: L(M)=\emptyset\}$. This is a non-trivial property, since there are TMs with an empty language, and there are TMs with a nonempty language.
A trickier example is $\{M: L(M)\in RE\}$. Initially, this may seem like a nontrivial property. But recall that every TM recognizes its own language. So $L(M)$ is in RE for every $M$. Thus, this property is simply the collection of every TM. So it is trivial.

- 17,159
- 1
- 38
- 64
-
No, a property is a set of languages. For example, it is decidable whether a Turing machine has exactly seventeen states (just check the description) but the set of Turing machines with exactly seventeen states is neither empty nor the set of all Turing machines. However, the class of languages that are accepted by some Turing machine with exactly 17 states is not undecidable by Rice's theorem. – David Richerby Feb 27 '14 at 22:52
-
@DavidRicherby - you are talking about a semantic property. Indeed, Rice's theorem discusses semantic properties. However, a property need not refer to languages. For example, the set of TMs with 17 states is a syntactic property, and it is not undecidable by Rice's theorem (it is decidable). But there are syntactic properties that are undecidable. For example - the set of TMs that have a state that is never reached in any run. Rice's theorem gives us nothing, yet still the problem is undecidable. – Shaull Feb 28 '14 at 05:47
-
Is "no unreachable states" really a syntactic property? It seems to be about the behaviour of the machine, not its description. – David Richerby Feb 28 '14 at 13:14
-
I guess I used "syntactic" as "not semantic". So you're right. Still, it's not a semantic property, but it is still a property. – Shaull Feb 28 '14 at 13:16
-
Correction: in my first comment, I meant to say "the class of languages that are accepted by some Turing machine with exactly 17 states is undecidable by Rice's theorem." (The "not" must have slipped in while I was editing the phrasing.) – David Richerby Feb 28 '14 at 13:29
-
1The set of TMs with 17 states is of course, a decidable syntactic property (just count the states). The set of TMs whose language is recognizable by a 17 state TM is a semantic property (since two TMs with the same language either have or don't have this property). Anyway, I think the OP got what he wanted, and both of us know how to use Rice's theorem :) – Shaull Feb 28 '14 at 13:38
-
How is second one trivial ? Can't L(M) be Co-RE? Why always R.E? @Shaull – Zephyr Dec 23 '17 at 07:38
-
1$L(M)$ can be in co-RE, but it is always also in RE. That is, if it's in co-RE, then it's in fact in R. The reason is that by definition, a language of a Turing machine is recognizable (by that Turing machine). – Shaull Dec 23 '17 at 09:24