
- •1.Совершенные нормальные формы.Правила приведения к сднф и скнф. Минимизация логических функций.
- •§8. Нормальные формы функций.
- •8.2 Нормальные формы.
- •8.3 Совершенные нормальные формы.
- •8.4 Правила приведения произвольной формулы алгебры логики к совершенной нормальной форме.
- •8.6 Способ составления снф для произвольной формулы алгебры логики по таблице истинности.
- •§ 1. Понятие формулы исчисления высказываний.
- •§ 2. Определение доказуемой (выводимой) формулы.
- •Правила вывода.
- •Определение выводимой (доказуемой ) формулы.
- •Правило сложной (одновременной) подстановки (спп).
- •Правило сложного заключения.
- •Правило силлогизма.
- •Правило контр позиции.
- •Правило снятия двойного отрицания.
- •§4.Понятие выводимости формул из совокупности формул.
- •§5. Понятие вывода.
- •§6. Правила выводимости.
- •H,w├a из совокупности формул : “Если а выводима из н, то она вы- водима из ”.
- •5. Теорема дедукции: h, c├ a .
- •§9.Проблемы аксиоматического исчисления высказываний.
- •2. Проблема непротиворечивости исчисления высказываний.
- •3.Проблема полноты исчисление высказываний.
- •4.Проблема независимости аксиом исчисления высказываний.
- •§1. Недостаточность логики высказываний. Понятие предиката.
- •§2. Логические операции над предикатами.
- •§3. Кванторные операции.
- •Квантор всеобщности.
- •Квантор существования.
- •Отрицание предложений с кванторами.
- •§4.Понятие формулы логики предикатов.
- •§5. Значение формулы логики предикатов.
- •§6. Равносильные формулы логики предикатов.
- •§7. Нормальные формы формул логики предикатов.
- •§8. Общезначимость и выполнимость формул. Проблема разрешимости.
- •§9. Применение языка логики предикатов для записи математических предложений, определений, построения отрицания предложений.
- •9.1 Запись математических предложений и определений в виде формул логики предикатов.
- •9.2. Построение противоположный утверждений.
- •9.3 Прямая, обратная и противоположная теоремы.
- •9.4 Необходимые и достаточные условия.
- •9.5. Доказательство теорем методом от противного.
- •Утверждения о свойствах объектов и отношениях между ними
- •Язык логики предикатов
- •Синтаксис: формулы логики предикатов
- •Семантика: системы и значения формул на их состояниях
- •Реляционные базы данных
- •Реляционная алгебра
- •Теоретико-множественные операции
- •Специальные реляционные операторы
- •Запросы
- •Ограничения целостности
- •Основные определения
- •Тьюрингово программирование
- •Стандартная заключительная конфигурация
- •Односторонние машины Тьюринга
- •Последовательная и параллельная композиции машин Тьюринга
- •Ветвление (условный оператор)
- •Повторение (цикл)
Ветвление (условный оператор)
Машину
Тьюринга
будем
называть распознающей, если для некоторого
алфавита
и
каждого входа
,
на котором
останавливается,
ее результат
,
т.е.
вычисляет
некоторую двузначную функцию (возможно
частичную) на словах из
Лемма 9.5. Пусть - распознающая м.Т., м.Т. вычисляет функцию f(x), а м.Т. - функцию g(x). Тогда существуетм.Т. вычисляющая функцию
Доказательство.
Требуемая м.Т.
вначале
копирует вход xи
получает на ленте слово x*x,
затем вычисляет параллельную
композицию функций
и
тождественной функции e(x)=x и
переходит в конфигурацию
.
Выбор между f и gпроисходит
по следующим командам:
Кроме того, обеспечим переход в новое заключительное состояние:
Таким образом, мы реализовали в терминах машин Тьюринга обычный в языках программирования оператор ветвления:
Повторение (цикл)
Используя конструкцию для ветвления легко реализовать в терминах машин Тьюринга и операторцикла.
Лемма
9.6.
Пусть
-
распознающая м.Т.,
а м.Т.
вычисляет
функцию f(x).
Тогда существуетм.Т.
которая
вычисляет функцию, задаваемую выражением:
Доказательство.
Действительно, пусть м.Т.
-
вычисляет тождественную функцию g(x)=x.
Построим по м.Т.
м.Т.
реализующую ветвление как
в лемме 9.5. Тогда искомаям.Т.
получается
из
заменой
команд
на
соответствующие команды
,
обеспечивающие зацикливание.
Реализованные
выше операции над машинами
Тьюринга и
вычислимыми функциями позволяют
получатьпрограммы новых м.Т.,
используя обычные конструкции языка
программирования "высокого"
уровня:последовательную и параллельную
композицию, ветвление и цикл.
Пусть
-машины
Тьюринга. Последовательную
композицию M1 и M2 будем
обозначать M1;M2, параллельную
композицию M1,
M2,...
, Mm обозначаем
как
(здесь b -
это символ, разделяющий аргументы и
результаты этих машин), ветвление -
цикл -
Пример
9.4.
Рассмотрим в качестве примера задачу
перевода чисел из унарной системы
счисления в двоичную. Пусть fub(|n)
= n(2) для
всех
,
где n(2) -
двоичная запись числа n.
Пусть M1 - м.Т.,
которая начальную конфигурацию q0 ,|n переводит
в конфигурацию q1 ,0*|n;
M2 -м.Т.,
которая прибавляет 1 к двоичному
числу-аргументу (см. пример
ref{ex8-suc}); M3 - м.Т.,
которая вычитает 1 из унарного
числа;
- м.Т.,
которая на аргументе вида x*|y выдает
0, если число y
> 0,
и выдает 1 при y=0 (т.е.
на аргументе
); M4 - м.Т.,
которая стирает * в
аргументе вида x* и
останавливается. Реализация каждой из
указанных м.Т.
очевидна. Теперь требуемая м.Т. Mub,
вычисляющая fub,
получается как
Действительно,
после работы M1 получаем конфигурацию q10*|n.
Предположим теперь по индукции, что
после i
(i <n) итераций цикла while
получается конфигурация q1 i(2)*|n-i.
Тогда на (i+1) -ой
итерации цикла после
параллельного
применения M2 к i(2) и M3 к |n-i получаем конфигурациюq1(i+1)(2)*|n-i-1.
Поэтому после n итераций
получится конфигурация
.
На ней
выдаст
1, и цикл завершится
с записью
на ленте,
из которой M4 сотрет
* и оставит требуемый результат n(2).
Отметим, что из приведенного примера и из задачи \oldref{prb3-6}(a) следует, что класс вычислимых на м.Т. арифметических функций не зависит от выбора унарного или двоичного кодирования аргументов и результатов. Это же справедливо и для троичной, десятичной и других позиционных систем счисления ( почему ?).