Некий математик беседовал с кем-то, кого принял за журналиста. После обмена шутками о шайке воров, от которых пострадали некоторые присутствующие на конференции, один из участников разговора захотел узнать, чем занимается другой.
Это было рискованно: наиболее вероятно, что ответом на вопрос стал бы получасовой монолог, во время которого энтузиазм говорящего рос так же быстро, как угасал интерес слушателя. Однако в этот раз математик решил, что журналист не поймет его объяснений, поэтому ограничился тем, что сказал: «Смотрите: у меня есть машина, в которую я ввожу высказывание, и она отвечает, истинно это высказывание или ложно». Тогда мнимый журналист, который до того момента прекрасно скрывал свое истинное лицо, воскликнул: «Превосходно! Не сможете ли вы как-нибудь одолжить мне эту машину на денек-другой? Я работаю со множеством математических гипотез и совершенно не представляю, истинны они или ложны».
Да, всем нам хотелось бы иметь такую машину, однако Алан Тьюринг в ходе исследований, посвященных вычислимым функциям, доказал, что создать ее невозможно. Для этого он рассмотрел универсальную машину, входными значениями для которой могли выступать не только числа, но и инструкции произвольной машины Тьюринга. Если инструкции описывали то, что мы сегодня называем программой, то универсальная машина сама по себе была подобна компьютеру и была способна имитировать, по крайней мере теоретически, работу произвольной машины Тьюринга. Описав этот абстрактный компьютер, ученый на несколько лет предвосхитил архитектуру современных компьютеров, поэтому редакция журнала Time совершенно справедливо включила его в число людей тысячелетия с комментарием: «Каждый раз, когда мы нажимаем на клавишу компьютера, мы работаем с реинкарнацией машины Тьюринга». Использовав этот компьютер (которых, строго говоря, тогда еще не существовало), Тьюринг показал, что существование подобной «машины истинности» приводит к абсурдному результату.
Посмотрим, как Тьюринг справился с проблемой разрешения. Сначала он предположил, что мечту Гильберта можно воплотить в реальность, то есть существует механический метод, позволяющий за конечное время определить, является данное высказывание истинным или ложным. В частности, этот алгоритм позволяет оценить истинность высказывания «Машина Тьюринга
Следовательно, речь идет о функции двух переменных, которая для данной пары чисел (
Если мы предположим, что существует машина Тьюринга
— если машина Тьюринга Т(
— если машина Тьюринга Т(