В математике, логика и информатика, формальный язык (набор конечных последовательностей символов, взятых из фиксированного алфавит ) называется рекурсивным, если это рекурсивное подмножество множества всех возможных конечных последовательностей по алфавиту языка. Эквивалентно, формальный язык является рекурсивным, если существует полная машина Тьюринга (машина Тьюринга, которая останавливается для каждого заданного ввода), которая при заданной конечной последовательности символов в качестве входных данных принимает это, если он принадлежит к языку, и отвергает его в противном случае. Рекурсивные языки также называются разрешимыми .
. Концепция разрешимости может быть распространена на другие модели вычислений. Например, можно говорить о языках, разрешимых на недетерминированной машине Тьюринга. Следовательно, всякий раз, когда возможна двусмысленность, используется синоним «рекурсивного языка» - язык, разрешаемый по Тьюрингу,, а не просто разрешимый.
Класс всех рекурсивных языков часто называется R, хотя это имя также используется для класса RP.
Этот тип языка не был определен в иерархии Хомского из ( Хомский 1959). Все рекурсивные языки также рекурсивно перечислимы. Все обычные, контекстно-свободные и контекстно-зависимые языки рекурсивны.
Есть два эквивалентных основных определения концепции рекурсивного языка:
Согласно второму определению, любая проблема принятия решения может быть доказана как разрешимая демонстрируя для него алгоритм , который завершается на всех входах. неразрешимая проблема - это неразрешимая проблема.
Как отмечалось выше, каждый контекстно-зависимый язык является рекурсивным. Таким образом, простым примером рекурсивного языка является множество L = {abc, aabbcc, aaabbbccc,...}; более формально, множество
контекстно-зависимый и поэтому рекурсивный.
Примеры разрешимых языков, которые не зависят от контекста, описать сложнее. Для одного из таких примеров требуется некоторое знакомство с математической логикой : Арифметика Пресбургера - это теория натуральных чисел первого порядка с добавлением (но без умножения). В то время как набор правильно сформированных формул в арифметике Пресбургера не зависит от контекста, каждая детерминированная машина Тьюринга, принимающая набор истинных утверждений в арифметике Пресбургера, имеет время выполнения в худшем случае не менее , для некоторой константы c>0 (Fischer Rabin 1974). Здесь n обозначает длину данной формулы. Поскольку любой контекстно-зависимый язык может быть принят линейным ограниченным автоматом, и такой автомат может быть смоделирован детерминированной машиной Тьюринга с временем работы в худшем случае не более для некоторой константы c набор действительных формул в арифметике Пресбургера не зависит от контекста. С положительной стороны, известно, что существует детерминированная машина Тьюринга, работающая во времени, не более трехкратном экспоненциальном от n, которая определяет набор истинных формул в арифметике Пресбургера (Oppen 1978). Таким образом, это пример языка, который разрешим, но не зависит от контекста.
Рекурсивные языки закрываются при следующих операциях. То есть, если L и P - два рекурсивных языка, то следующие языки также рекурсивны:
Последнее свойство следует из того факта, что различие множеств может быть выражено в терминах пересечения и дополнения.