ArticleslgStudy

mathematics

Selman's theorem

Selman's theorem is a mathematics topic covered in the lgStudy science library. This page brings together a partial reference excerpt, illustrations, worked examples, real-world applications and a short study plan, so you can understand Selman's theorem rather than just read about it. In short: In computability theory, Selman's theorem is a theorem relating enumeration reducibility with enumerability relative to oracles. It is named after Alan Selman, who proved it as part of his PhD thesis in 1971.

Key takeaways

  • Selman's theorem belongs to mathematics; place it in that map before memorising details.
  • Learn the definition first, then one example that makes the definition concrete.
  • Connect Selman's theorem to a quantity you can measure, compute or draw — that is where exam questions come from.
  • Reproduce the core statement of Selman's theorem from memory before moving on to harder problems.

Reference excerpt

In computability theory, Selman's theorem is a theorem relating enumeration reducibility with enumerability relative to oracles. It is named after Alan Selman, who proved it as part of his PhD thesis in 1971.

Statement Informally, a set A is enumeration-reducible to a set B if there is a Turing machine that receives an enumeration of B (it has a special instruction to get the next element, or none if it has not yet been provided), and produces an enumeration of A. See enumeration reducibility for a precise account. A set A is computably enumerable with oracle B (or simply "in B") when there is a Turing machine with oracle B that enumerates the members of A; this is the relativized version of computable enumerability. Selman's theorem: A set A is enumeration-reducible to a set B if and only if A is computably enumerable with an oracle X whenever B is computably enumerable with the same oracle X.

Discussion Informally, the hypothesis "A is computably enumerable with an oracle X whenever B is computably enumerable with the same oracle X" means that whenever there is a program enumerating B using some source of information (the oracle), there is also a program enumerating A using the same source of information. A priori, the program enumerating A could be running the program enumerating B as a subprogram in order to produce the elements of A from those of B, but it could also be using the source of information directly, perhaps in a different way than the program enumerating B, and it could be difficult to deduce the elements of A from the program enumerating B. However, the theorem asserts that, in fact, there exists a single program that produces an enumeration of A solely from an enumeration of B, without direct access to the source of information used to enumerate B. From a slightly different point of view, the theorem is an automatic uniformity result. Let P be the set of total computable functions f : N → N ∪ { ⊥ } {\displaystyle f:\mathbb {N} \rightarrow \mathbb {N} \cup \{\bot \}} such that the range of f with ⊥ removed equals A, and let Q be similarly defined for B. A possible reformulation of the theorem is that if P is Mučnik-reducible to Q, then it is also Medvedev-reducible to Q. Informally: if every enumeration of B can be used to compute an enumeration of A, then there is a single (uniform) oracle Turing machine that computes some enumeration of A whenever it is given an enumeration of B as the oracle.

… excerpt ends here. Continue reading the full article.

Worked examples

Example 1 — a first encounter with Selman's theorem

Start with the simplest possible case. Write down what Selman's theorem claims or describes in one sentence, then invent the smallest concrete situation in which that sentence is true. In mathematics, the smallest case is usually a single object, a single equation or a single measurement. Check that every symbol or term in your sentence has a meaning in that case.

Example 2 — changing one variable

Take the situation from Example 1 and change exactly one quantity: double it, halve it, or set it to zero. Predict what should happen to Selman's theorem before you calculate. Comparing your prediction with the result is the fastest way to find out whether you understand the idea or only the words.

Example 3 — an exam-style question

Typical questions about Selman's theorem ask you to (a) state it precisely, (b) apply it to given data, and (c) explain a limitation. Practise writing all three answers in under five minutes; the third part is what separates a full-mark answer from an average one.

Applications of Selman's theorem

In research
Selman's theorem appears in mathematics research whenever the underlying quantities have to be modelled precisely. Papers usually cite it as a starting assumption and then explore where it breaks down.
In technology and industry
Engineering practice reuses Selman's theorem in design rules, simulations and safety margins. Knowing the idea lets you read a specification sheet and understand why the numbers look the way they do.
In the classroom
Selman's theorem is common in secondary-school and first-year university syllabi. It links to neighbouring topics Theorems in theory of computation, Theoretical computer science, so understanding it makes those chapters shorter.
In everyday life
Look for Selman's theorem outside the textbook — in sport, cooking, traffic, electronics or the sky above you. An example you found yourself is remembered far longer than one you were given.
Ask Teacher Smith questions about this articleOpens your AI tutor with a question about “Selman's theorem” →

Affiliate

Preply — study more efficiently by working with a personal tutor. 50% off.

How to study Selman's theorem in 20 minutes

  1. Read the reference excerpt below once, without taking notes.
  2. Close the page and write down what Selman's theorem means in your own words.
  3. Compare your version with the excerpt and mark what you missed.
  4. Work through the three examples above with pen and paper.
  5. Explain Selman's theorem out loud to somebody else — or to Teacher Smith in the lgStudy chat.

Frequently asked questions

What is Selman's theorem in simple terms?

In computability theory, Selman's theorem is a theorem relating enumeration reducibility with enumerability relative to oracles. It is named after Alan Selman, who proved it as part of his PhD thesis in 1971.

Why does Selman's theorem matter?

Because it connects several mathematics ideas at once: it gives you a definition you can apply, a quantity you can calculate, and a way to check whether a result is plausible.

How should I study Selman's theorem?

Read the excerpt, restate it from memory, then work through the examples and applications listed on this page. The five-step study plan above takes about twenty minutes.

What does this page cover?

It gives you a compact reference excerpt plus original lgStudy explanations, examples, applications and study material on Selman's theorem.

Tags

  • Theorems in theory of computation
  • Theoretical computer science

Keep exploring