Home

Undecidability

Undecidability is a concept in computability theory describing decision problems for which no algorithm can determine the correct answer for every possible input. A decision problem asks a yes-or-no question about a finite input; a problem is decidable if there exists a Turing machine (or equivalent procedure) that halts on all inputs and always answers correctly. If no such algorithm exists, the problem is undecidable.

Undecidable problems are closely related to uncomputability, but the terms are used in slightly different senses.

A classic example is the Halting Problem: given a program and its input, determine whether the program

Theoretical results illuminate the scope of undecidability. The Entscheidungsproblem, the challenge of deciding the truth of

Undecidability has practical implications: it sets fundamental limits on what can be automated in mathematics, verification,

A
problem
may
be
uncomputable
in
the
sense
that
no
algorithm
can
compute
a
function
that
solves
it
for
all
inputs;
many
undecidable
problems
are
also
uncomputable,
though
the
distinction
is
subtle
and
technical.
will
eventually
halt.
There
is
a
procedure
that
can
confirm
halting
when
it
occurs,
but
no
general
algorithm
can
decide
halting
for
all
program-input
pairs.
Consequently,
the
Halting
Problem
is
undecidable.
Related
undecidable
questions
include
program
equivalence
(whether
two
programs
compute
the
same
function)
and
many
problems
about
the
behavior
of
programs
and
formal
systems.
first-order
logic
sentences,
was
shown
undecidable
by
works
of
Church
and
Turing.
Rice's
theorem
states
that
every
nontrivial
semantic
property
of
the
computed
functions
is
undecidable.
Other
notable
undecidable
problems
include
the
Post
correspondence
problem
and
the
word
problem
for
finitely
presented
groups.
and
software
analysis.
In
response,
researchers
study
decidable
fragments,
semi-decision
procedures,
and
heuristic
or
approximate
methods.