Основные сведения
Определение и арность
Булева функция от n переменных — отображение Bn → B, где B = {0, 1}. Элементы 1 и 0 обычно интерпретируют как «истинно» и «ложно», хотя формально это просто символы. Элементы декартова произведения Bn называют булевыми векторами. Арность функции — количество её аргументов.
Функция арности n полностью задаётся значениями на всех 2n булевых векторах, поэтому количество всех n-арных булевых функций равно 22ⁿ. Такое конечное представление позволяет задавать функцию таблицей истинности — списком значений f(x₁,…,xₙ) на всех наборах аргументов. Если значение функции не зависит от одной из переменных, эта переменная называется фиктивной.
Нульарные и унарные функции
При n = 0 существует 22⁰ = 2 функции — константы 0 и 1 (тождественный ноль и тождественная единица). При n = 1 существует 22¹ = 4 функции:
| x | 0 | x | ¬x | 1 |
|---|---|---|---|---|
| 0 | 0 | 0 | 1 | 1 |
| 1 | 0 | 1 | 0 | 1 |
x — тождественная функция («ДА»); ¬x, x̄ — отрицание («НЕ»). Константа 0 сохраняет 0 и монотонна; константа 1 сохраняет 1 и монотонна; x самодвойственна, монотонна и линейна; ¬x самодвойственна и линейна.
Бинарные функции
При n = 2 существует 22² = 16 функций. Основные из них:
| Обозначение | Название |
|---|---|
| x ∧ y | конъюнкция, «2И» |
| x ∨ y | дизъюнкция, «2ИЛИ» |
| x ⊕ y | сложение по модулю 2, XOR, «не равно» |
| x → y | импликация («меньше или равно») |
| x = y | эквивалентность |
| x ↓ y | стрелка Пирса, «2ИЛИ-НЕ» (NOR) |
| x | y | штрих Шеффера, «2И-НЕ» (NAND) |
При n = 3 существует уже 22³ = 256 функций (например, тернарная сумма по модулю 2, «переключатель по большинству» ≥2(x,y,z), разряды суммы и займа при тернарном сложении/вычитании).
Представление функции формулой
Если выбрать некоторый набор булевых функций A, то с их использованием можно записать другие булевы функции — такая запись называется формулой. Например, при A = {∧, ¬} функция a ∨ b представляется как ¬(¬a ∧ ¬b).
Тождественность и двойственность
Две функции тождественны, если на любых одинаковых наборах аргументов они принимают равные значения. Простейшие тождества: 0̄ = 1, 1̄ = 0, x̄̄ = x, x ∧ x = x ∨ x = x, x ∧ x̄ = 0, x ∨ x̄ = 1. Законы де Моргана:
¬(x ∧ y) = ¬x ∨ ¬y ¬(x ∨ y) = ¬x ∧ ¬y
Функция g двойственна функции f, если f(¬x₁,…,¬xₙ) = ¬g(x₁,…,xₙ). Константы 0 и 1 двойственны друг другу, конъюнкция и дизъюнкция — тоже (следствие законов де Моргана); тождественная функция и отрицание двойственны сами себе. Если в верном тождестве заменить каждую функцию на двойственную, снова получится верное тождество.
Суперпозиции
Суперпозиция (композиция) функций — новая функция, полученная из некоторого множества функций подстановкой одной функции в другую или отождествлением переменных. При подстановке g вместо i-го аргумента f получают h(x₁,…,x₍ₙ₊ₘ₋₁₎) = f(x₁,…,g(xᵢ,…),…). Множество всех неэквивалентных суперпозиций данного набора функций образует его замыкание.
Полнота системы, критерий Поста
Набор функций называется полной системой, если его замыкание совпадает со множеством всех булевых функций. Эмиль Пост выделил пять замкнутых классов функций:
- T₀ — сохраняющие 0 (f(0,…,0) = 0);
- T₁ — сохраняющие 1 (f(1,…,1) = 1);
- S — самодвойственные функции;
- M — монотонные функции;
- L — линейные функции.
Теорема Поста: набор функций K полон тогда и только тогда, когда он не содержится целиком ни в одном из классов T₀, T₁, S, M, L — то есть в K есть хотя бы одна функция, не сохраняющая 0, хотя бы одна, не сохраняющая 1, хотя бы одна несамодвойственная, хотя бы одна немонотонная и хотя бы одна нелинейная.