Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
LEKTsII_LOGIKA_1.doc
Скачиваний:
0
Добавлен:
01.05.2025
Размер:
2.11 Mб
Скачать

3. Двойственные формулы

Определение. Формула Ud называется двойственной к приведенной формуле U, если она получена заменой операций конъюнкций на дизъюнкции и наоборот.

Теорема 3.1 (принцип двойственности). Пусть U( ) – приведенная формула, тогда Ud ( ) = U( ).

Доказательство. Число логических операций в формуле U называется рангом формулы и обозначается r(U). Проведем доказательство индукцией по k = r(U).

10. k = 0. В этом случае U = Xi , следовательно, Ud = Xi   U ( ).

2 0. Предположим, что теорема верна при k  m.

3 0. Покажем, что она верна при k = m + 1.

Пусть U1 и U2 – подформулы U. Каждая из них образована посредством не более, чем m операций, и следовательно, для них теорема верна.

Возможны следующие случаи

а) U = U1;

б) U = U1 U2;

в) U = U1 U2.

Случай а) эквивалентен условию 10 и при нем теорема верна. В случаях б) и в) заменим в каждой из Ui конъюнкцию на дизъюнкцию и наоборот. По определению двойственности будем иметь, соответственно, б): Ud = U U и в): Ud= U U .

В силу законов де Моргана и предположения индукции будем иметь в случае б):

Ud = U U = (U1 ( ))  (U2 ( )) 

  (U1 ( )  U2 ( )) =  U( ).

В случае в) выкладки аналогичны. Теорема доказана.

Следствие. Если U – ТИ-формула, то Ud – ТЛ-формула.

Теорема 3.2. Если UV, то UdVd.

Доказательство. Если UV, то (U)  (V). Значит, в силу теоремы 2.6, Ud1, …, Хn) = U( ) и Vd1, …, Хn) = V( ).

Отсюда: Ud = (U( ))  (V( )) = Vd. В силу транзитивности эквиваленции, получим UdVd , что и требовалось доказать.

4. Булевы функции

Любую формулу алгебры логики можно рассматривать как функцию, определенную на множестве B ={1, 0}.

Функцией алгебры логики (логической функцией) или булевой функцией f(x1,x2,...,xn) называется отображение f : B nB, определенное на множестве упорядоченных наборов элементов множества B и принимающее значения из этого множества. Обозначим через Pn – множество булевых функций n переменных.

Логическую функцию n переменных f(x1,x2,...,xn) можно задать таблицей, в левой части которой перечислены все 2n наборов значений переменных, а в правой части – значения функции на этих наборах.

x1 x2 . . . хn-1 xn

f(x1, x2 , . . . хn-1 , xn)

0 0 . . . 0 0

0 0 . . . 0 1

0 0 . . . 1 0

. . . . . . . . . . . . . . . .

1 1 . . . 1 0

1 1 . . . 1 1

f(0,0, . . . ,0,0)

f(0,0, . . . ,0,1)

f(0,0, . . . ,1,0)

. . . . . . . .

f(1,1, . . . ,1,0)

f(1,1, . . . ,1,1)

При любом фиксированном упорядочении наборов булева функция n переменных полностью определяется вектор-столбцом своих значений, размерность которого равна числу наборов значений функции, то есть 2n . Поэтому число различных функций n переменных равно числу различных двоичных векторов длины 2n, то есть , т.е. | | = .

Нулем (единицей) булевой функции назовем упорядоченный набор значений переменных, на котором значение функции равно 0 (1).

Пусть F={ } – некоторое множество булевых функций. Его можно выбрать в качестве основного набора, называемого базисом. Формулой над базисом F (обозначается [F]) называется выражение вида [F]= , где F, а либо переменная, либо формула над F. Таким образом, всякая формула является суперпозицией базисных функций, для её представления обычно применяется форма записи с логическими операциями ~. Каждой формуле однозначно соответствует некоторая булева функция f, в этом случае говорят, что формула реализует функцию f (обозначается func  = f ). Как будет показано ниже, такая реализация не единственна.

Приведем примеры логических функций одной и двух переменных и их реализаций в виде формул.

Логических функций одной переменной четыре: две нуль-местные (0(х), 3(х)) – константы 0 и 1, значения которых не зависят от значения переменной, и две одноместные функции – тождественная и отрицание.

x

0

1

2

3

0

0

0

1

1

1

0

1

0

1

Тождественная функция "повторяет" значение х: 1(х)=х. Функция отрицание возвращает значение, противоположное значению х: 2(х)=¬х.

Логических функций двух переменных шестнадцать:

х1

x2

0

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

0

0

0

0

0

0

0

0

0

0

1

1

1

1

1

1

1

1

0

1

0

0

0

0

1

1

1

1

0

0

0

0

1

1

1

1

1

0

0

0

1

1

0

0

1

1

0

0

1

1

0

0

1

1

1

1

0

1

0

1

0

1

0

1

0

1

0

1

0

1

0

1

Рассмотрим подробнее все эти функции.

  1. 012) 0 и 15 12) 1.

  2. 112) = х1  х2 . Эта функция называется ещё логическим умножением и обозначается, также, х1х2.

  3. 212) =  (х1х2).

  4. 312) = х1.

  5. 412) =  (х2х1).

  6. 512) = х2.

  7. 612) = (х12) называются неравнозначностью, разделительной дизъюнкцией или сложением по модулю 2 и обозначается еще как х1 х2.

  8. 712) = х1 х2 .

  9. 812) = (х1х2) – антидизъюнкция, которая называется, также, стрелка Пирса и обозначается х1х2.

  10. 912) = х12 . Эту функцию называют еще равнозначностью и обозначают х1х2 .

  11. 1012) = .

  12. 1112) = х2х1.

  13. 1212) = .

  14. 1312) = х1х2.

  15. 1412) = (х1х2) – антиконъюнкция, которая называется еще штрих Шеффера и обозначается х1 | х2.

Формулы, реализующие одну и ту же функцию, называются равносильными. Отношение равносильности формул является отношением эквивалентности и обозначается .

Фиктивной переменной (несущественной) функции f(x1, . . . , xn) называется переменная хi, изменение значения которой не меняет значения функции, то есть f(x1, . . . , хi-1, 1, xi+1, . . . , xn) = f(x1, . . . , хi-1, 0, xi+1, . . . , xn).

Например, в функциях 3 и 12 переменная х2 фиктивна, а в функциях 5 и 10 фиктивна переменная х1.

Функция f(x1, . . . , xn), имеющая фиктивную переменную xi, по существу зависит от (n–1)-й переменной, т.е. представляет собой функцию g(x1, . . . , хi-1, xi+1, . . . , xn). В этом случае говорят, что функция g получена из функции f удалением фиктивной переменной, а функция f получена из функции g введением фиктивной переменной, причём эти функции считаются равными.

Пусть f (x1,  , xn)  Pn – булева функция. Тогда функция f *(x1, , xn), определенная следующим образом

f *(x1, , xn) = ,

называется двойственной к функции f.

Теорема (Принцип двойственности). Пусть F={ }. Тогда, если формула [F] реализует функцию f, то формула * над базисом F*={ }, полученная из формулы заменой функций fi на двойственные им функции fi*, реализуют функцию f *.

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