LearnViz CompSci
Home / Learn / Theory & Discrete Math / Rice's Theorem

Intermediate Topic 33 of 51 Theory & Discrete Math

Rice's Theorem

Every nontrivial semantic program property is undecidable.

How it works

Every non-trivial property of the language a program computes is undecidable, e.g. whether it ever outputs 0.

Where it is used

Why perfect virus checkers and verifiers cannot exist.

Common pitfall

It concerns semantic, not syntactic, properties (like line count).

Where it fits in the course

Rice's Theorem is topic 33 of 51 in Theory & Discrete Math, rated Intermediate. It follows Reductions. The next topic is Complexity Classes.

Practice and explore

How to study this topic

  1. Read the explanation above and restate the definition in your own words.
  2. Open the interactive lesson and answer its mini quiz.
  3. Read the common pitfall, then write a short example that avoids it.
  4. Check your understanding in the Theory & Discrete Math quiz, and revisit the topic if you miss a question.

Frequently asked questions

What is Rice's Theorem?
Every nontrivial semantic program property is undecidable. It belongs to Theory & Discrete Math and is an intermediate-level topic.
Where do people use Rice's Theorem?
Why perfect virus checkers and verifiers cannot exist.
What is the most common mistake with Rice's Theorem?
It concerns semantic, not syntactic, properties (like line count).
What should I learn before this topic?
Start with Reductions, the topic just before it in Theory & Discrete Math.
How can I practice it?
Answer the mini quiz in the interactive lesson, then take the Theory & Discrete Math quiz.
Is Rice's Theorem hard to learn?
It is an Intermediate topic. Be comfortable with the Beginner topics in this area first, then read the common pitfall carefully, since it is where most mistakes happen.
How long does it take to learn Rice's Theorem?
Most learners can read the explanation and finish the interactive lesson in under an hour. Fluency comes from applying the idea, so plan a few short practice sessions with the quiz.
Which topics are related to Rice's Theorem?
Reductions, Complexity Classes, Halting Problem are closely connected. The full list is in the related topics section of this page.
What should I study after Rice's Theorem?
Continue with Complexity Classes, the next topic in Theory & Discrete Math.

Related topics