Тверской государственный университет
Опубликован: 21.08.2007 | Доступ: свободный | Студентов: 2895 / 123 | Оценка: 4.08 / 3.92 | Длительность: 15:40:00
ISBN: 978-5-9556-0110-6
Специальности: Программист, Математик
Лекция 7:

Язык логики предикатов

< Лекция 6 || Лекция 7: 12345 || Лекция 8 >
Аннотация: Объекты, их свойства, отношения между объектами и функции. Утверждения о свойствах объектов и отношениях между ними. Предикаты. Синтаксис логики предикатов. Семантика логики предикатов: системы, состояния и значения формул на состояниях
Ключевые слова: формальный язык, логика предикатов, предметной области, функция, отношение, множества, прямой, арным отношением, подмножество, истина, ложь, предикат, отображение, размерность, связь, выражение, синтаксис, алфавит, семантика, значение формулы, формулы логики предикатов, квантор всеобщности, сигнатура, терм, объектная переменная, объект, атомная формула, константы, подформула, свободные и связанные переменные, связанные переменные, свободные переменные, переменная, значение, алгебраическая система, состояние системы, суперпозиция, предикатный символ, равенство, истинность формул, место, тождественно истинная формула, законы логики, аргумент, импликация, эквивалентные формулы, эквивалентность, булева формула, законы ассоциативности, коммутативность, Законы дистрибутивности, операция конъюнкции, операции, внешняя функция, доказательство, квантор существования, нормальная форма, операция отрицания, отрицание, codec, сложение, умножение

Утверждения о свойствах объектов и отношениях между ними

Утверждения, которые можно сформулировать с помощью средств логики высказываний (пропозициональной логики) всегда относятся к конкретным свойствам конкретных предметов, объектов, ситуаций. Мы уже сталкивались с примерами таких утверждений: "Сегодня идет дождь", "Вася любит Олю", "Если А - преступник, то В - не виновен", "Если цена на нефть растет и страна продает нефть, то растут и доходы ее бюджета" и т.п. Эти утверждения строятся из элементарных высказываний (пропозициональных переменных) с помощью логических связок (операций). Например, последнее из приведенных утверждений может быть формально записано как (X \wedge  Y) \to  Z, где X, Y и Z - это переменные, обозначющие, соответственно, высказывания " цена на нефть растет", "страна продает нефть" и "растут и доходы бюджета".

Для того, чтобы высказывать более общие точные утверждения о свойствах классов (множеств) объектов, предметов, ситуаций и т.п., нужен более богатый формальный язык. Им является язык логики предикатов (логики 1-ой ступени).

Прежде, чем переходить к формальным определениям, приведем некоторые содержательные примеры используемых понятий: объектов, свойств, отношений и операций (функций).

Объекты: люди, предприятия, числа, цвета, футбольные матчи, экзамены, дома, столы, компьютеры, фигуры, студенты, ...

Свойства: зеленый, тяжелый, голубоглазый, победный, девятиэтажный, деревянный, отличник, ...

Отношения: ... является братом ..., ... занимает должность ... с зарплатой ..., ... больше чем ..., ... находится внутри ..., ... любит ..., ... имеет цвет ..., ... случится после ..., ... владеет ..., и т.п.

Функции: отец ..., лучший_ друг ..., вдвое_больший_ чем ..., сумма ... и ..., группа_студента ..., самый_любимый_кинофильм ..., ...

В примерах отношений и функций многоточиями отмечены места, где должны стоять объекты, к которым они относятся.

Даже этих небольших перечислений достаточно, чтобы понять, что язык логики предикатов позволяет описать почти любой факт и сформулировать нужное утверждение о той или иной рассматриваемой предметной области. Вот несколько простых примеров:

" Два умножить на три равно шесть"

Здесь объекты: два, три и шесть; функция: умножить, отношение: равно.

"Все бармаглоты живут в зеленых домах"

Объекты: бармаглоты, дома; свойство: зеленый; отношение: жить_в.

"Некоторые предприятия в Твери являются банкротами"

Объекты: Тверь, предприятия; свойство: банкрот; отношение: "быть" ("являться").

С формализацией этих понятий мы уже знакомы: объекты - это множества; свойства - подмножества; а отношения и функции имеют обычный математический смысл.

Напомним некоторые определения из "лекции 1" . Декартовым (прямым) произведением множеств A1, ... , An называется множество последовательностей длины n ( n -ок)

A_1 \times \ldots A_n =\{ <a_1,\ldots, a_n>\ |\ a_1 \in A_1, \ldots , a_n \in A_n \} .

Если A1= ... =An=A, то A1 \times ... An называется декартовой (прямой) степенью множества A и обозначается через An. Пусть A0 - это множество, состоящее из одной пустой последовательности \varepsilon длины 0.

n -местным (или n -арным) отношением на множествах A1,... , An называется любое подмножество P \subseteq  A_{1}\timesx \dots  \setminus \times A_{n}. Поэтому понятие свойства (подмножества) совпадает с понятием одноместного отношения. Отношение f \subseteq  A_{1} \times \dots  \times A_{n} \times B называется n -местной (или n -арной) функцией из A1 x ... x An в B, если оно для каждого набора аргументов <a_{1},\dots , a_{n}>, a_{i}\in  A_{i}, содержит не более одного набора вида <a1,..., an, b>. В этом случае пишем f(a1, ..., an) =b.

С каждым отношением P \subseteq  A_{1} \times \dots  \times A_{n} можно связать его характеристическую функцию, которую мы будем обозначать той же буквой,

P(x_1,\ldots, x_n)=
        \left\{
        \begin{array}{ll}
        1, & \mbox{ если} <x_1, \ldots, x_n >} \in P \\
        0, & \mbox{ в противном случае.}
        \end{array}
        \right.

Как обычно, будем ассоциировать 1 с логическим значением "истина", а 0 - со значением "ложь". Такие характеристические функции отношений будем называть n -местными предикатами (используются также термины: предикат размерности n, n -арный предикат, предикат валентности n ) и говорить об их истинности или ложности на соответствующих наборах аргументов. Таким образом, предикат - это отображение, сопоставляющее каждому набору своих аргументов одно из логических значений: 1 или 0. Если потребуется, размерность предиката будет указываться соответствующим индексом вверху: P(n) будет означать, что у предиката P имеется n аргументов.

Мы будем рассматривать также функции и предикаты размерности нуль. Множество A0 одноэлементно (содержит единственную последовательность длины 0 ). Поэтому функции из A0 в A отождествляются с элементами множества A. Такие функции называются константными или просто константами. Предикатов размерности нуль ровно два: 1 (истина) и 0 (ложь).

Вообще говоря, типы объектов-аргументов предиката, т.е. типы множеств A1, ... , An, могут быть различными. Например, у предиката выпускает(Предприятие, Товар), определяющего связь между предприятиями и выпускаемыми ими товарами, первым аргументом является название предприятия, а вторым - одного из выпускаемых им товаров. Но далее для простоты мы будем рассматривать только предикаты и функции, все аргументы которых принадлежат одному множеству объектов A. Это ограничение не очень существенно. Можно выделять в A объекты нужных типов с помощью свойств - одноместных предикатов. В нашем случае выражение выпускает(X,Y) можно уточнить, введя предикаты предприятие(1) и товар(1) и записав конъюнкцию:

предприятие(X) \wedge   товар(Y) \wedge  выпускает(X,Y).

< Лекция 6 || Лекция 7: 12345 || Лекция 8 >
Елена Алексеевская
Елена Алексеевская

Это в лекции 3.

Татьяна Дембелова
Татьяна Дембелова

Почему в вводной лекции курса Основы дискретной математики одним из свойств отношения частичного порядка упоминается антирефлексивность? Посмотрела в других источниках, там -0  рефлексивность... http://ru.wikipedia.org/wiki/%D0%9E%D1%82%D0%BD%D0%BE%D1%88%D0%B5%D0%BD%D0%B8%D0%B5_%D0%BF%D0%BE%D1%80%D1%8F%D0%B4%D0%BA%D0%B0

Дмитрий Крюков
Дмитрий Крюков
Россия, Москва
Иван Суслов
Иван Суслов
Россия, Москва