- •Исчисление высказываний
- •Классическое исчисление высказываний
- •Натуральное исчисление высказываний
- •Понятие выводимости
- •Примеры
- •Логика предикатов
- •Объектные константы
- •Объектные переменные
- •Функции
- •Предикатный символ
- •Кванторы
- •Равенство
- •Аксиомы, теоремы, факты и цели
- •Переход от естественного языка к языку логики предикатов
- •Предваренная нормальная форма
- •Примеры
- •Исчисление предикатов
Переход от естественного языка к языку логики предикатов
Рассмотрим пример. Предположим, что наши знания о птицах выражены в виде следующих предложений:
Если существо имеет крылья, то это существо – птица.
Если существо летает и несет яйца, то это существо – птица.
Для представления знаний на языке логики предикатов следует выполнить следующие шаги:
Выявить, что во фразе является объектом, который необходимо сопоставить с константой или переменной. Если речь идет о конкретном объекте, то вводится константа, если же упоминается целый класс объектов, то используют переменную.
Определить свойства объектов. Сопоставить свойствам предикатные символы.
С помощью логических связок сформировать формулы констант, переменных и предикатов, соответствующих объектам и их свойствам.
Таким образом, на языке логики предикатов эти знания могут быть выражены в виде формул:
имеет_крылья(существо)птица(существо)
летает(существо)несет_яйца(существо)птица(существо)
В данном примере использованы одноместные предикаты, имеющие по одному аргументу. Но предикаты могут быть также имногоместными, то есть иметь несколько аргументов. В случае многоместных предикатов предикатный символ может рассматриваться как некоторое общее свойство объектов, соответствующих аргументам, либо как отношение, в котором эти объекты находятся.
Предваренная нормальная форма
Формула логики предикатов имеет нормальную форму, если она содержит только операции конъюнкции, дизъюнкции и кванторы, а операция отрицания отнесена к элементарным отрицаниям. Очевидно, что, используя равносильные преобразования, можно каждую формулу логики предикатов привести к нормальной форме.
Среди нормальных форм особо важное значение имеет так называемая предваренная нормальная форма. В такой форме кванторы либо отсутствуют, либо они используются после всех операций алгебры логики, то есть эта форма имеет вид:
(x1) (x2) … (xn) A(x1, x2, …, xm), n m,
где под символом понимается один из кванторов:или.
Существует теорема утверждающая, что любая формула логики предикатов может быть приведена к предваренной нормальной форме.
Примеры
Одной из задач логики предикатов является поиск областей истинности предикатов – множества значений аргументов, на которых предикат принимает истинные значения. Пусть, к примеру, даны предикаты: P(x): «x– четное число» иQ(x): «xкратно 3», определенные на множестве натуральных чиселN. Областями истинностиP(x) иQ(x) соответственно являютсяIP= {2, 4, 6, …, 2n…},IQ= {3, 6, 9, …, 3n…}. Найдем области истинности для следующих предикатов:
P(x)Q(x): множеством истинности конъюнкции будет пересечение множеств истинности конъюнктов –IPQ=IPIQ= {6, 12, …, 6n…}
P(x)Q(x): множеством истинности дизъюнкции будет объединение множеств истинности дизъюнктов –IPQ=IPIQ= {2, 3, 4, 6, …, 2n, 3n…}
P(x): множеством истинности отрицания будет исключение множества истинности предиката из множества его определения –IP=N\IP= {1, 3, 5, …, 2n- 1,…}
P(x)Q(x): множеством истинности импликации (логического следствия) будет объединение множества истинности отрицания первого дизъюнкта и множества истинности второго дизъюнкта (так какab=ab) –IPQ=IPIQ= {1, 3, 5, …, 2n- 1,…}{3, 6, 9, …, 3n…}
Следующий пример показывает, как с помощью логики предикатов можно отыскать утверждение, противоположное заданному, или, иначе говоря, отрицание заданной формулы. Найдем отрицание формулы (x)(y)R(x,y)L(x,y):
((x) (y) R(x, y) L(x, y)) = (x) ((y) R(x, y) L(x, y)) =
= (x) (y) (R(x, y) L(x, y)) = (x) (y) (R(x, y) L(x, y)) =
= (x) (y) (R(x, y) L(x, y)).
Следующий пример относится к доказательству общезначимости, выполнимости или невыполнимости утверждений.
Докажем общезначимость формулы A=(x) (P(x)Q(x))((x) P(x)(x)Q(x)).
Считая, что формула Aопределена на любой области определения проведем равносильные преобразования:
A = (x) (P(x) Q(x)) ((x) P(x) (x) Q(x)) =
= ((x) (P(x) Q(x))) ((x) P(x) (x) Q(x)) =
= (x) (P(x) Q(x)) (x) P(x) (x) Q(x) =
= (x) (P(x) Q(x)) (x) P(x) (x) Q(x) =
= (x) ((P(x) Q(x) Q(x)) (x) P(x) =
= (x) ((P(x) Q(x)) (x) P(x) =
= ((x) P(x) (x) P(x)) (x) Q(x) = 1 (x) Q(x) = 1
