Элементы логики предикатов Структура простых высказываний Логика предикатов высказываний. изучает структуру простых В простом высказывании выделяют: •Объекты (о чем высказываются) •Логическое сказуемое(взаимосвязь объектов, действие) Пример: Высказывание: «Студент Андреев получил на экзамене по Высшей математике оценку 45 баллов» Объекты: Андреев, Высшая математика, 45 баллов. Логическое сказуемое: получить (оценку на экзамене) Предикаты Предикат – функция, областью определения которой являются объекты предметной области, а областью значений – множество значений истинности {Истина; Ложь}. Предикат образуется из простого высказывания заменой объектов на предметные переменные. Пример: Задано высказывание: Студент Андреев получил на экзамене по Высшей математике оценку 45 баллов Предикат, построенный на основе высказывания: Студент получил оценку по дисциплине Функция 3-х переменных - студент, оценка, дисциплина Значение функции зависит от значений этих переменных. Классификация простых высказываний в логике предикатов По степени общности высказывания подразделяют на: •единичные – высказывания об отдельных объектах; •частные - высказывания о некоторых объектах; •общие – высказывания обо всех объектах. Пример: Рассмотрим предикат «Студент сдает зачет по дисциплине». Переменные: студент, дисциплина «Иванов сдал Информатику» - единичное высказывание; «Некоторые студенты сдали Информатику» - частное; «Все студенты сдали Информатику» - общее. Формальная запись высказываний. Кванторы Единичные высказывания записывают как математические функции: после имени предиката в скобках записывают значения переменных. Сдал(Иванов, Информатика). В частных высказываниях перед именем предиката ставится квантор существования и связанная этим квантором переменная. Знак - «exist» - читается «некоторый», «существует хотя бы один такой объект». студент Сдал(студент, Информатика). В общих высказываниях перед именем предиката ставится квантор всеобщности и связанная этим квантором переменная. Знак - «all» - читается «для всех объектов». студент Сдал(студент, Информатика). Особенности формальной записи общих и частных высказываний В естественном языке общие и частные высказывания относятся к некоторому множеству объектов. В логике кванторы относятся ко всему универсальному множеству. Для представления общих и частных высказываний естественного языка требуется 2 предиката: 1-й задает принадлежность объектов к некоторому множеству; 2-й – свойство этих объектов. Общее высказывание «для всех объектов, относящихся к множеству S, выполняется свойство P» (предикаты связаны импликацией) x (S(x)P(x)) Частное высказывание «для некоторых объектов, относящихся к множеству S, выполняется свойство P» (предикаты связаны конъюнкцией) x (S(x)&P(x)) Примеры формальной записи высказываний Заданы предикаты: Студент(x) - x является студентом Стипендия(x) - x получает стипендию Пример единичного высказывания: Студент Иванов получает стипендию Студент(Иванов) & Стипендия(Иванов) Пример частного высказывания: Некоторые студенты получают стипендию x (Студент(x) & Стипендия(x)) Примеры общих высказываний: Все, кто является студентом, получают стипендию x (Студент(x) Стипендия(x)) Все, кто получает стипендию, являются студентами x (Стипендия(x) Студент(x)) множество объектов свойство объектов Пример описания предметной области. Исходные данные Студент Группа Стипендия Андреев Е-101 да Борисов Е-101 да Васильев Е-102 да Григорьев Е-102 нет Универсальное множество (все рассматриваемые объекты): {А, Б, В, Г} U {Е-101,Е-102} Предикаты: Студент(x) - x является студентом Группа(x) - x является номером группы Стипендия(x) - x получает стипендию Учиться(x,y) - студент x учится в группе y Логическое представление единичных высказываний Cтудент(A)=Истина, Студент(Б)=Истина, Студент(В)=Истина, Студент(Г)=Истина, для остальных значений переменных предикат Студент имеет значение Ложь, например Студент(Е-101)=Ложь. Группа(Е-101)=Истина, Группа(Е-102)=Истина, для остальных значений переменных предикат Группа имеет значение Ложь. Cтипендия(A)=Истина, Стипендия(Б)=Истина, Стипендия(В)=Истина, для остальных значений переменных предикат Стипендия имеет значение Ложь. Учиться(А,Е-101)=Истина, Учиться(Б,Е-101)=Истина, Учиться(В,Е-102)=Истина, Учиться(Г,Е-102)=Истина, для остальных значений переменных предикат Учиться имеет значение Ложь, например Учиться(А,Е-102)=Ложь. Примеры формальной записи высказываний Единичное высказывание: Студент Иванов получает стипендию Студент(Иванов) & Стипендия(Иванов) Частное высказывание: Некоторые студенты группы Е-101 получают стипендию x (Студент(x) & Учиться(x,Е-101) & Стипендия(x)) Общие высказывания: Все студенты группы Е-101 получают стипендию (все студенты, которые учатся в группе Е-101, …) x (Студент(x) & Учиться(x,Е-101) Стипендия(x)) Все студенты, которые получают стипендию, учатся в группе Е-101 x (Студент(x) & Стипендия(x) Учиться(x,Е-101)) множество объектов свойство объектов Примеры высказываний c несколькими кванторами Существуют группы, в которых некоторые студенты получают стипендию y(Группа (y) & x(Студент(x)&Учиться(x,y)&Стипендия(x)) ) Существуют группы, в которых все студенты получают стипендию y(Группа (y) & x(Студент(x)&Учиться(x,y)Стипендия(x)) ) В каждой группе существуют студенты, которые получают стипендию y(Группа (y) x(Студент(x)&Учиться(x,y)&Стипендия(x)) ) В каждой группе все студенты получают стипендию y(Группа (y) x(Студент(x)&Учиться(x,y)Стипендия(x)) ) область действия квантора x область действия квантора y Логическое представление высказываний с отрицанием Общее высказывание с отрицанием: «ни для каких объектов, относящихся к множеству S, не выполняется свойство P» x (S(x)~P(x)) Частное высказывание с отрицанием: «для некоторых объектов, относящихся к множеству S, не выполняется свойство P» x (S(x)&~P(x)) Отрицание общих высказываний: «Неверно, что для всех объектов, относящихся к множеству S, выполняется свойство P» ~ (x (S(x)P(x))) Отрицание частных высказываний: «Неверно, что для некоторых объектов, относящихся к множеству S, выполняется свойство P» ~ (x (S(x)&P(x))) Примеры формальной записи высказываний c отрицанием Частное высказывание с отрицанием: Некоторые студенты группы Е-101 не получают стипендию x (Студент(x) & Учиться(x,Е-101) & ~Стипендия(x)) Общее высказывание с отрицанием: Ни один студент группы Е-101 не получает стипендию x (Студент(x) & Учиться(x,Е-101) ~Стипендия(x)) Отрицание общего высказывания: Неверно, что все студенты группы Е-101 получают стипендию ~ (x (Студент(x) & Учиться(x,Е-101) Стипендия(x)) ) Отрицание частного высказывания: Неверно, что некоторые студенты группы Е-101 получают стипендию ~ (x (Студент(x) & Учиться(x,Е-101) & Стипендия(x)) ) Законы отрицания кванторов Отрицание общего высказывания можно рассматривать как частное высказвание и наоборот. ~( x (S(x)P(x))) = x (~(S(x)P(x))) = x (~(~S(x)P(x))) = = x (S(x)&(~P(x)) «неверно, что для всех объектов множества S выполняется свойство Р» означает, что «для некоторых объектов множества S свойство Р не выполняется» ~( x (S(x)&P(x))) = x (~(S(x)&P(x))) = x (~(S(x)~P(x))) = = x (S(x)(~P(x)) «неверно, что для некоторых объектов множества S выполняется свойство Р» означает, что «для всех объектов множества S свойство Р не выполняется» Связь кванторов с логическими операциями Если множество рассматриваемых объектов конечно, кванторы можно заменить на логические операции. Пусть U = {a1, a2, ..., an}, тогда Квантор всеобщности является обобщением конъюнкции x S(x) = S(a1) & S(a2) & … & S(an) Квантор существования является обобщением дизъюнкции x S(x) = S(a1) S(a2) … S(an) Пример: Множество студентов состоит из 3-х человек: {Андреев, Борисов, Васильев} Простое высказывание с квантором x Отличник(x) «некоторые студенты являются отличниками» можно заменить на сложное Отличник(Андреев)Отличник (Борисов)Отличник(Васильев) «Андреев является отличником или Борисов является отличником или Викторов является отличником» Проверка истинности частного высказывания Частное высказывание: В группе Е-101 некоторые студенты получают стипендию Логическое представление: x (Студент(x)&Учиться(x,Е-101)&Стипендия(x)) Проверка истинности Заменим высказывание с квантором на дизъюнкцию: Студент(А)&Учиться(А,Е-101)&Стипендия(А) Студент(Б)&Учиться(Б,Е-101)&Стипендия(Б) Студент(В)&Учиться(В,Е-101)&Стипендия(В) Студент(Г)&Учиться(Г,Е-101)&Стипендия(Г) Студент(Е-101)&Учиться(Е-101,Е-101)&Стипендия(Е-101) Студент(Е-102)&Учиться(Е-102,Е-101)&Стипендия(Е-102)= = Истина&Истина&Истина Истина&Истина&Истина Истина&Ложь&Истина Истина&Ложь&Ложь Ложь&Ложь&Ложь Ложь&Ложь&Ложь = = Истина Истина Ложь Ложь Ложь Ложь = Истина Проверка истинности общего высказывания Общее высказывание: В группе Е-101 все студенты получают стипендию Логическое представление: x (Студент(x)&Учиться(x,Е-101)Стипендия(x)) Проверка истинности: Заменим высказывание с квантором на конъюнкцию: (Студент(А)&Учиться(А,Е-101)Стипендия(А)) & (Студент(Б)&Учиться(Б,Е-101)Стипендия(Б)) & (Студент(В)&Учиться(В,Е-101)Стипендия(В)) & (Студент(Г)&Учиться(Г,Е-101)Стипендия(Г)) & (Студент(Е-101)&Учиться(Е-101,Е-101)Стипендия(Е-101)) & (Студент(Е-102)&Учиться(Е-102,Е-101)Стипендия(Е-102)) = = (Истина&ИстинаИстина) & (Истина&ИстинаИстина) & (Истина&ЛожьИстина) & (Истина&ЛожьЛожь) & (Ложь&ЛожьЛожь) & (Ложь&ЛожьЛожь) = = Истина&Истина&Истина&Истина&Истина&Истина = Истина Применение законов отрицания кванторов для проверки истинности Отрицание общего высказывания: Неверно, что в группе Е-102 все студенты получают стипендию Логическое представление: ~(x (Студент(x)&Учиться(x,Е-102)Стипендия(x))) Проверка истинности Заменим отрицание общего высказывания на частное высказывание с отрицанием ~(x (Студент(x)&Учиться(x,Е-102)Стипендия(x))) = x (Студент(x)&Учиться(x,Е-102)&~Стипендия(x)) = Студент(А)&Учиться(А,Е-102)&~Стипендия(А) Студент(Б)&Учиться(Б,Е-102)&~Стипендия(Б) Студент(В)&Учиться(В,Е-102)&~Стипендия(В) Студент(Г)&Учиться(Г,Е-102)&~Стипендия(Г) Студент(Е-101)&Учиться(Е-101,Е-102)&~Стипендия(Е-101) Студент(Е-102)&Учиться(Е-102,Е-102)&~Стипендия(Е-102)= = Ложь Ложь Ложь Истина Ложь Ложь = Истина