Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Logic.doc
Скачиваний:
34
Добавлен:
02.03.2016
Размер:
242.18 Кб
Скачать

1.5.3. Законы и свойства операций

5 основных законов:

1) Коммутативный

AB=BA

A|B = B|A

Для нечетких множеств:

AB = BA

AB = BA

2) Ассоциативный

A(BC) = (AB)C

A|(B|C) = (A|B)|C

Для нечетких множеств:

A(BC) = (AB)C

A(BC) = (AB)C

3) Свойства операций И, ИЛИ

Для четкой логики:

AT = A

AF = F

A|F = A

A|T = T

Для нечетких множеств:

AU = A

A = 

A = A

AU = U

AU = A

A = 

A = A

AU = U

4) Свойства отрицания

Для четкой логики:

AA = F

A|A = T

Для нечетких множеств:

AA  

AA  U

AA  

AA  U

5) Дистрибутивность

A(B|C) = (AB)|(BC)

A|(BC) = (A|B)(A|C)

Для нечетких множеств:

A(BC) = (AB)  (AC)

A(BC) = (AB)  (AC)

A(BC)  (AB) (AC)

A(BC)  (AB)  (AC)

Эти пять законов полностью определяют булеву алгебру. Из них можно получить другие законы:

1) Дополнение

~~A=A

2) Идемпотентность

AA = A

A|A = A

Для нечетких множеств:

AA = A

AA = A

AA  A

AA  A

3) Поглощение

A(A|B) = A|(AB) = A

Можно показать, что свойство поглощения доказывается через свойства операций и дистрибутивный закон:

A(A|B) = (A|F)(A|B) = A|(FB) = A

Законы де Моргана:

~(AB) = ~A | ~B

~(A|B) = ~A  ~B

Для нечетких множеств:

~(AB) = ~A  ~B

~(AB) = ~A  ~B

~(AB) = ~A ~B

~(AB) = ~A  ~B

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

AB = ~A | B = ~(A~B)

Обратные замены:

A|B= ~AB

AB = ~(A~B)

Высказывание "AэквивалентноB" означает "изAследуетBИ изBследуетA". Аналогичный вывод можно сделать и по таблице истинности. Т.е.

AB = (AB)  (BA)

При помощи импликаций и конъюнкции можно записать стандартную конструкцию простого ветвления ЕСЛИ-ТО-ИНАЧЕ. Высказывание "если A, тоB, иначеC" записывается следующим образом:

(AB)  (~AC).

1.6. Особенности синтаксиса исчисления предикатов

1.6.1. Запись утверждения в языке исчисления предикатов

Рассмотрим следующие примеры:

1. (x) Поставляется_заводом_А (x)Стоит_меньше (x, 5000р.). Это утверждение истинно для очень большого диапазона значений, т.е. можно сказать, что сформулировано оно неоптимально. Действительно, оно истинно как дляx, поставляемых заводом (значение первого операнда импликацииT), так и дляx, не поставляемых заводом, (значение первого операнда импликацииF).

2. (x) Поставляется_заводом_А (x)Стоит_меньше (x, 5000р.). Здесь утверждается, что обязательно найдется изделие, поставляемое заводом А и стоящее меньше 5000р. Отсюда не следует, что все изделия, поставляемые заводом А, стоят меньше 5000р.

3. (x) Поставляется_заводом_А (x)Стоит_меньше (x, 5000р.). Это утверждение не может быть истинным. Оно означает, что вообще любой объект из всего универсальногомножества объектов поставляется заводом А и стоит меньше 5000р. Вместо конъюнкции здесь правильнее использовать импликацию:

(x) Поставляется_заводом_А (x)Стоит_меньше (x, 5000р.).

4. Можно использовать конъюнкцию нескольких предикатов:

(x) Поставляется_заводом_А (x)Хрупкий (x)Стоит_меньше (x, 5000р.).

В языке исчисления предикатов, как в языке программирования, не должно быть несовпадения типов. Например, если в данном случае Стоит_меньше - предикатный символ, а аргумент предиката Хрупкий имеет тип Объект (не булевский), то неверной будет следующая запись:

(x) Поставляется_заводом_А (x)Хрупкий (Стоит_меньше (x, 5000р.)).

Из рассмотренных примеров можно, в частности, сделать вывод, что за квантором общности часто идет импликация, а за квантором существования - конъюнкция.

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]