Двойственная функция. Принцип двойственности. Самодвойственные функции. Замкнутость класса 𝑆. Лемма о несамодвойственной функции # Двойственная функция **Двойственная функция** $f^*$ - $f^*(x_1, x_2, \dots, x_n) = \overline{f(\overline{x_1}, \overline{x_2}, \dots, \overline{x_n})}$ $(f^*)^* = f$ Примеры: - $0^* = 1$ - $x^* = x$ - $\bar x^* = \bar x$ - $(xy)^* = x \vee y$ - $(x \oplus y)^* = x \equiv y$ - $(x|y)^* = x \downarrow y$ - $(x \rightarrow y)^* = y > x$ # Принцип двойственности ## Теорема Пусть $f(x_1, x_2, \dots, x_n) и g(y_1, y_2, \dots, y_m)$ - логические функции и $h = f(x_1, x_2, \dots, x_{k-1}, g(x_1, y_2, \dots, y_m), x_{k+1}, \dots, x_n)$ Тогда $h^* = f^*(x_1, x_2, \dots, x_{k-1}, g^*(y_1, y_2, \dots, y_m), x_{k+1}, \dots, x_n)$ ## Доказательство НУО $k = n$: $h(x_1, x_2, \dots, x_{n-1}, y_1, y_2, \dots, y_m) = f(x_1, x_2, \dots, x_{n-1}, g(y_1, y_2, \dots, y_m))$ По определению двойственности, $h^*(x_1, x_2, \dots, x_{n-1}, y_1, y_2, \dots, y_m) = \overline{h(\overline{x_1}, \overline{x_2}, \dots, \overline{x_{n-1}}, \overline{y_1}, \overline{y_2}, \dots, \overline{y_m})} = \overline{f(\overline{x_1}, \overline{x_2}, \dots, \overline{x_{n-1}}, g(\overline{y_1}, \overline{y_2}, \dots, \overline{y_m}))}$ $g(\overline{y_1}, \overline{y_2}, \dots, \overline{y_m}) = \overline{g^*(y_1, y_2, \dots, y_m)}$, поэтому $h^* = \overline{f\left(\overline{x_1}, \overline{x_2}, \dots, \overline{x_{n-1}}, \overline{g^*(y_1, y_2, \dots, y_m)}\right)} = f^*(x_1, x_2, \dots, x_{n-1}, g^*(y_1, y_2, \dots, y_m))$ ## Следствие > Пусть функция 𝑓 представлена некоторой формулой/схемой. Чтобы получить формулу/схему, представляющую функцию $𝑓^∗$, нужно заменить в формуле все операции и константы / функциональные элементы на двойственные им. # Самодвойственные функции **Самодвойственная функция** (класс S) - $f(x_1, x_2, \dots, x_n) = f^*(x_1, x_2, \dots, x_n)$ Не существует самодвойственных функций, существенно зависящих от 2х переменных # Замкнутость класса 𝑆 ## Теорема Класс S замкнут ## Доказательство Пусть $f(x_1, x_2, \dots, x_n) \in S$ и $g(y_1, y_2, \dots, y_m) \in S$ Рассмотрим $h(x_1, x_2, \dots, x_{n-1}, y_1, y_2, \dots, y_m) = f(x_1, x_2, \dots, x_{n-1}, g(y_1, y_2, \dots, y_m))$ Из принципа двойственности, $h^* = f^*(x_1, x_2, \dots, x_{n-1}, g^*(y_1, y_2, \dots, y_m)) = f(x_1, x_2, \dots, x_{n-1}, g(y_1, y_2, \dots, y_m)) = h$, следовательно, $h \in S$ # Лемма о несамодвойственной функции Если функция f несамодвойственна, то константы являются суперпозицией функций $f$ и $\bar x$. Т.е. если $f \notin S$, то ${0,1} \subseteq [\{f, \bar x\}]$ ## Доказательство Пусть $f(x_1, x_2, \dots, x_n) \notin S$. Тогда существует такой набор $(\alpha_1, \alpha_2, \dots, \alpha_n)$, что $f(\alpha_1, \alpha_2, \dots, \alpha_n) = f(\bar\alpha_1, \bar\alpha_2, \dots, \bar\alpha_n) = c \in \{0,1\}$ ([[1 курс/2 семестр/Дискретка/Билеты/3#Разложение функции по переменной|Разложение по переменной]]) $h(x) = f(x^{\alpha_1}, x^{\alpha_2}, \dots, x^{\alpha_n})$ $h(0) = f(0^{\alpha_1}, 0^{\alpha_2}, \dots, 0^{\alpha_n}) = f(\bar\alpha_1, \bar\alpha_2, \dots, \bar\alpha_n) = c$ $h(1) = f(1^{\alpha_1}, 1^{\alpha_2}, \dots, 1^{\alpha_n}) = f(\alpha_1, \alpha_2, \dots, \alpha_n) = c$ Следовательно, $h(x) = c$, $\overline{h(x)} = \bar c$