- •Глава 1. Реализация конечных функциональных преобразователей
- •Постановка проблемы
- •Булевы функции
- •Свойства булевых функций
- •Нормальные формы представления булевых функций
- •Минимизация булевых функций
- •Функциональная полнота. Теорема Поста
- •1.8 Формы представления булевых функций
- •1.9 Булевы алгебры
-
Свойства булевых функций
Ниже приводятся несколько полезных свойств булевых функций, которые можно легко проверить с помощью таблиц. Две функции Ф и F равны (или эквивалентны), если их значения совпадают на всех наборах их аргументов (обозначать это будем Ф=F).Очевидно, что если Ф и F равны, то ФF принимает единичные значения на всех наборах аргументов.
Таблица 1.7
-
pq = qp
pq = qp
коммутативность
(pq)r = p(qr)
(pq)r = p(qr)
ассоциативность
(pq)r = prqr
(pq) r = (pr)(qr)
дистрибутивность
(pq) = pq
(pq) = pq
законы де Моргана
рp=0
рp=1
законы исключенного третьего
(pq)p=p
(pq)p=p
законы поглощения
p0=0
p0=p
свойства нуля
p1=p
p1=1
свойства единицы
p = p
1=0; 0=1
свойства отрицания
pq=(pq) (qp)
pq=pq
свойства импликации
pq=pq pq
1p=p
свойства сложения по модулю два
Доказательство теоремы 1.1 основано на следующей Лемме:
Лемма 1.1. “О дизъюнктивном разложении”. Любая булева функция f(x1, ... хm) от m переменных может быть представлена так: f(x1, ...,хi,...,хm)=хif(x1, ...,0,...,хm) хif(x1, ...,1,...,хm)
Доказательство. При хi = 0 правая часть принимает значение 0f(x1, ...,0,...,хm) 0f(x1, ...,1,...,хm), что после использования свойств булевых функций элементарно приводится к f(x1, ...,0,...,хm). Аналогично, при хi=1 правая часть приводится к f(x1, ...,1,...,хm).
Доказательство Теоремы 1.1. Разложим функцию f(x1,...,хm) последовательно по переменным x1, x2,...,хm:
f(x1,...,хm) = х1f(0,x2,...,хm) х1f(1,x2,...,хm) = х1х1f(0, 0, x3,...,хm) х1х2f(0, 1, x3,...,хm) х1х2f(1,0,x3,...,хm) х1х2f(1,1,...,хm) = ... = х1х1... хmf(0,0,...,0) х1х1... хmf(0,0,...,1) ... х1х2... хmf(1,1,...,1).
Таким образом, любую булеву функцию можно представить как дизъюнкцию термов, каждый из которых представляет собой конъюнкцию всех переменных (с отрицаниями или без них) и значения этой функции на соответствующем конкретном наборе значений переменных. Обозначим для {0,1}, x= x при =0 и x=x при =1. Тогда окончательная форма представления любой булевой функции будет иметь вид:
f(x1,...,хm) =i{0,1} х11х22...хmmf(1,2,...,m).
Поскольку значения функции на каждом конкретном наборе равны либо 0, либо 1, то в формуле останутся, очевидно, только такие термы, которые соответствуют наборам переменных, на которых функция равна 1: f(x1,...,хm) = f(1, 2,..., m)=1х11х22...хmm.
В соответствии с этой теоремой, функция f(p,q,r) = pqrq(pr) примера 1.2 на основании ее табличного представления (Таблица 1.6) имеет следующий вид (как суперпозиция функций И, ИЛИ, НЕ): f(p,q,r) = pqr pqr pqr pqr.
Хотя эта запись чуть более сложна, чем запись исходной функции, ее неоспоримое преимущество в том, что она выражена через суперпозицию только функций И, ИЛИ, НЕ. Более того, такое представление для двоичных функций единственно (с точностью до перестановок термов).
Определение 1.2 Функционально полным набором (или базисом) будем называть такое множество двоичных функций, суперпозицией которых могут быть выражены любые булевы функции.
Очевидно, множество булевых функций {И, ИЛИ, НЕ} является базисом: теорема 1.1 говорит о том, что их суперпозицией можно представить любую булеву функцию от любого числа аргументов. Базис {И, ИЛИ, НЕ} называется базисом Буля.
