В рамках упражнения мне дали задание найти дополнение к следующему утверждению:
L = {P⊆{0,1}*: P является допустимым кодированием программы C, и P завершается на всех входных данных, кроме конечного набора}
Я подошел к этому вопросу следующим образом:
X = P является допустимым кодированием программы на языке C.
Y = P завершается на всех входах, кроме конечного
набора.
(X И Y) = НЕ(Х) ИЛИ НЕ(Y)
теперь это та часть, где я врезаюсь в стену,
НЕ(Х) = P недопустимая кодировка программы C
НЕ(Y) = ?? ?
Честно говоря, я не уверен, как опровергнуть это утверждение, я думал о нескольких следующих утверждениях:
1. существует неконечный набор входов, на котором P не заканчивается
2. существует конечный набор входов, которые P завершается на
3. 1 ИЛИ 2 (логическое ИЛИ)
4. что-то еще?
Будем признательны за любую помощь или предложение!
Позволять быть набором входов для . я могу перефразировать как: Существует конечное множество такой, что не заканчивается на , и такой, что заканчивается на (установленная разница, набор входов не в ).
Отрицание этого утверждения: не существует конечного множества ... и так далее, как указано выше, но если такого конечного множества не существует, то множество входов, для которых не заканчивается, должен быть бесконечным.
Так заканчивается так: существует бесконечное множество такой, что не заканчивается на , и такой, что заканчивается на (установленная разница, набор входов не в ).
Или коротко (и неформально): не завершается для бесконечного числа входов.
Демосфен
Металдрим
Мауро АЛЛЕГРАНСА
Металдрим