
- •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. Доказательство теорем методом от противного.
- •Утверждения о свойствах объектов и отношениях между ними
- •Язык логики предикатов
- •Синтаксис: формулы логики предикатов
- •Семантика: системы и значения формул на их состояниях
- •Реляционные базы данных
- •Реляционная алгебра
- •Теоретико-множественные операции
- •Специальные реляционные операторы
- •Запросы
- •Ограничения целостности
- •Основные определения
- •Тьюрингово программирование
- •Стандартная заключительная конфигурация
- •Односторонние машины Тьюринга
- •Последовательная и параллельная композиции машин Тьюринга
- •Ветвление (условный оператор)
- •Повторение (цикл)
Язык логики предикатов
В определениях формальных языков, таких, как логические языки или языки программирования, выделяют два основных аспекта: синтаксис и семантику. Синтаксис \index{Синтаксис} определяет алфавит, из символов которого строятся выражения языка, и правила, выделяющие из множества всех слов в данном алфавите правильно построенные выражения. Для логических языков такие выражения обычно называются формулами, а для языков программирования - программами.Семантика \index{Семантика} занимается определением смысла, значения этих выражений. Для формул большинства логических языков значением является одно из истиностных значений: 1 (истина) или 0 (ложь), которое приписывается формуле в зависимости от интерпретации входящих в нее символов языка. Например, значения формул логики высказываний зависят от значений входящих в них булевых переменных. Значения формулопределяемой в этом параграфе логики предикатов будут зависеть от интерпретации предикатов и функций языка, а также от значений входящих в эти формулы переменных.
Синтаксис: формулы логики предикатов
Формулы
языка логики предикатов включают
в себя символы (имена) предикатов из
некоторого Множества
,
символы (имена) функций из некоторого
множества
,
символы (имена) констант из некоторого
множества C={
c1,
c2,
... },
логические связки
, кванторы
всеобщности
и
существования
и
вспомогательные символы (скобки,
запятые). Первые три множества
образуют сигнатуру языка:
.
\index{Сигнатура} Зафиксируем некоторое
счетное множество объектных
переменных Var (такие
переменные также называют предметными
или индивидными ).
Они предназначены для обозначения
элементов множества (объектов), на
котором определены функции ипредикаты ;
обычно в таком качестве используют
латинские буквы x,
y,z,u,v,w, xi,
yj,
zk и
т.п. В каждой формуле будет использоваться
конечное число переменных, так что
счётного набора переменных нам хватит.
Чтобы не возникла путаница, будем
считать, что переменные отличны от всех
имен констант, функций и предикатов.
Определим
понятие терма данной
сигнатуры
Определение 7.1. Терм. Термом называется выражение, состоящее из переменных, запятых, скобок и символов сигнатуры, которое можно построить по следующим правилам.
Объектная переменная из Var есть терм.
Символ константы из C есть терм.
Если t1,...,tk - термы, а f(k) - символ функции из F, то f(t1,...,tk) есть терм.
Термы, не содержащие переменных, назовем замкнутыми.
Термы служат для задания объектов. Замкнутые термы задают объекты непосредственно.
Пример 7.1. Пусть F={отец(1), лучший_друг(1), зарплата(1), + (2)}, а C= {"Петр", "Джон", "Ольга", 0, 1, 2, ... }.
Тогда самый простой способ задать объект - это указать соответствующую константу, например,"Петр", "Джон", 0, 1, 47, .... Терм +(17, 25) задает объект 42, терм лучший_ друг(отец("Петр" ) ) задает объект - лицо, являющееся лучшим другом отца объекта "Петр", а терм зарплата(лучший_ друг(отец("Петр") ) ) задает объект-число, представляющее зарплату этого лица. Значениями переменных также являются объекты. Поэтому термы с переменными задают конкретные объекты при подстановке значений вместо переменых. Приведем еще несколько примеров термов данной сигнатуры:x, отец (x), зарплата(лучший_ друг(отец(отец(z)))), +(зарплата(лучший_ друг(отец(z)) ), +(зарплата ("Ольга" ), 1000)), отец(5), +(отец("Ольга" ), 1000)) . Отметим, что последние дватерма построены в соответствии с нашими правилами, но неясно, какие объекты они могут задавать. Это зависит от определения функции отец на числах и функции + на парах аргументов вида (Лицо, Число). Часто во множество объектов включают специальный объект "ОШИБКА", который является значением функций на некорректных аргументах.
Выражения x +10, отец ("Джон", "Петр"), +(100)}, лучший_друг("Мария") термами данной сигнатуры не являются. (Определите почему.)
Определение 7.2. Атомная формула.
Если t1 и t2 - термы, то выражение (t1 = t2) является атомной формулой.
Любой предикатный 0 -местный символ из P является атомной формулой.
Если P(k) (k >= 1) - предикатный k -местный символ из P, а t1,...,tk - термы, то выражениеP(t1,...,tk) является атомной формулой.
Пример
7.2.
Рассмотрим сигнатуру
,
в которой P=
{ живут_рядом(2),
сын(2),
дочь(2),
родственники(2),
человек(1),
число(1),
<= (2)},
а функции F и
константы C определены
в примере выше.
Тогда следующие выражения являются атомными формулами: "Джон" = "Петр", "Петр" = 6, отец("Ольга") = "Петр", +(3,5) = +(1, +(6,1)), зарплата(лучший_ друг(отец(z)) = 5000}, живут_рядом("Джон","Ольга"), сын( "Джон","Ольга"), дочь("Ольга", x), родственники(лучший_ друг("Джон"), отец( x)) и т.п.
Формулы логики предикатов строятся по таким правилам:
Определение 7.3. Формула.
Всякая атомная формула есть формула.
Если
- формула, то
- формула.
Если и
- формулы, то выражения
,
,
также являются формулами.
Если - формула, а
- объектная переменная, то выражения
и
являются формулами (в этом случае и называются областью действия квантора
или
соответственно).
Понятие подформулы для формул
логики предикатов определяется
естественным образом. Во-первых, сама
формула является своей подформулой.
Во-вторых, если формула имеет вид
,
или
,
то ее подформулами также являются все
подформулы формулы
а
если она имеет вид
,
или
,
то ее подформулами также являются все
подформулы формул
и
Определим
также понятия связанных
и свободных переменных формулы. Вхождение
переменной x в
формулу
называется связанным,
если оно входит в область действия
некоторого квантора
или
.
В противном случае, оно называется свободным.
Квантор
(
) связывает в
формуле
(
)
все свободные
вхождения переменной x в
подформулу
Пусть в некоторой сигнатуре имеются два двуместных предиката P(2), Q(2). Тогда в формуле
оба
вхождения x в
подформулу
связаны
квантором
,
первое вхождение yявляется
свободным, а второе - связано квантором
.
Оба вхождения x в
подформулу
связаны
квантором
.
Переменная называется свободной (связанной) в формуле, если у нее есть хоть одно свободное (связанное) вхождение в эту формулу. Формула, у которой нет свободных переменных, называетсязамкнутой. Отметим, что переменная может быть одновременно связанной и свободной в данной формуле.
Пример
7.3.
Рассмотрим примеры формул в сигнатуре
из
примера 7.2:
В
этой формуле все вхождения
переменных x и y являются
связанными и, следовательно,
-
замкнутая формула. Содержательно, она
утверждает, что у всякого человека
имется человек-сосед. Понятно, что
истинность этого утверждения не зависит
от имен переменных, использованных в
формуле.
В
формуле
все
вхождения переменной y являются
связанными, первое вхождение x также
связано, а второе вхождение x свободно,
так как не входит в область действия
квантора
.
Таким образом x в
является
связанной и свободной.
Эта формула утверждает что имеется
такой человек, который состоит в
родственных отношениях со всеми или не
живет рядом с x и
имеет зарплату >=
35.
Ясно, что истинность этой формулы зависит
от значения свободной
переменной x.