1

I have seen 2 answers in stackoverflow:

  1. A "trivial" property is one that holds either for all languages or for none.

  2. The property is trivial if it contains every TM, or if it is empty.

My problem is: Saying that a property is trivial if it contains every TM is not the same as saying that a property is trivial if it contain all the languages (including non RE languages).

Same as for: Saying that a property is trivial if it is does not contain any TM languages is not the same as saying that a property is trivial if it is empty.

Stav Alfi
  • 125
  • 5
  • Have you read the comments under the second answer you link? You are right, it's not the same thing, and they don't claim that (but wrote the post in a potentially confusing way.) – Raphael Aug 31 '17 at 18:16
  • Then what is the currect definition? – Stav Alfi Aug 31 '17 at 18:25
  • 1
    I find the comments rather clear about that: the first. But that said, there are probably many equivalent definitions. Definitions are never "correct", there are only more or less useful. – Raphael Aug 31 '17 at 18:25

1 Answers1

2

We call a set of languages, $P\subseteq 2^{\Sigma^*}$, a property. If you think of this subset as the set of languages who satisfy some property, then we can simply say that a language $L$ satisfies the property iff $L\in P$.

Rice theorem tells you that you can't, given a Turing machine $M$, check if $L(M)$ satisfies some non trivial property $P$, i.e. $P\neq \emptyset$, $P\nsupseteq RE$. Note that Shaull makes a distinction between semantic and syntactic properties in the comments. To the best of my knowledge, the standard definition of a property in the context of Rice's theorem is a set of languages.

Ariel
  • 13,369
  • 1
  • 21
  • 38
  • https://courses.engr.illinois.edu/cs373/sp2013/Lectures/lec25.pdf - Definition 3 - You are saying something complitly different. – Stav Alfi Aug 31 '17 at 18:24
  • FWIW, it's also common to express properties as predicates, i.e. boolean-valued functions (here of type $\Sigma^* \to {0,1}$). This is clearly equivalent, since subsets and indicator functions identify uniquely. – Raphael Aug 31 '17 at 18:27
  • @StavAlfi How so? I don't see it. (I think you need some time learning how to read mathematics. I can recommend the Book of Proof, which is available for free.) – Raphael Aug 31 '17 at 18:28
  • Saying that a property is trivial if it contains every TM is not the same as saying that a property is trivial if it contain all the languages (including non RE languages)...... – Stav Alfi Aug 31 '17 at 18:29
  • Each TM has a corresponding language. So if it contains every TM, then it contains every language. – rus9384 Aug 31 '17 at 18:33
  • @rus9384 TM languages do not cover all the languages. – Stav Alfi Aug 31 '17 at 18:34
  • Do you mean higher levels of arithmetical hierarchy? – rus9384 Aug 31 '17 at 18:37
  • If P contain every TM language it does not mean that it contain non TM languages and by that we can't conclude that P contains every language. – Stav Alfi Aug 31 '17 at 18:40
  • @StavAlfi You are correct, a property is trivial if it is empty or contains RE, thanks. The motivation for the notion of "trivial property" is to determine what kind of properties we can decide about the language of a given Turing machine, and since any Turing machine corresponds to a language in RE, we want to call any property that contains RE trivial. If you restrict the notion of a property to languages in RE, then you can change to definition of trivial property to $P\neq \emptyset, RE$ – Ariel Aug 31 '17 at 22:10