	Линейные функции. Замкнутость класса 𝐿. Сокращённая ДНФ линейной функции. Лемма о нелинейной функции

# Линейные функции
- **Линейная функция** (*класс L*) - функция, которая может быть представлена формулой $a_0 \oplus a_1x_1 \oplus a_2x_2 \oplus \dots \oplus a_nx_n$, где $a_i$ - коэф., равные 1 или 0
- *Общий вид линейной функции* – это частный случай [[1 курс/2 семестр/Дискретка/Билеты/6#Полином Жегалкина|полинома Жегалкина]]: в нём нет произведений переменных.

## Примеры
- 0
- 1
- x
- $\bar x = x \oplus 1$

# Замкнутость класса 𝐿
##  Теорема
Класс 𝐿 замкнут.

## Доказательство
Пусть $f(x_1, x_2, \dots, x_n) \in L$ и $g(y_1, y_2, \dots, y_m) \in L$
Рассмотрим $h = f(x_1, x_2, \dots, x_{n-1}, g(x_1, y_2, \dots, y_m), x_{k+1}, \dots, x_n)$

Пусть 
$f = a_0 \oplus a_1x_1 \oplus a_2x_2 \oplus \dots \oplus a_nx_n$, 
$g = b_0 \oplus b_1y_1 \oplus b_2y_2 \oplus \dots \oplus b_ny_n$, 
тогда $h =$
$= a_0 \oplus a_1x_1 \oplus a_2x_2 \oplus \dots \oplus a_{n-1}x_{n-1} \oplus a_ng(y_1, y_2, \dots, y_m) =$ 
$= a_0 \oplus a_1x_1 \oplus a_2x_2 \oplus \dots \oplus a_{n-1}x_{n-1} \oplus a_n(b_0 \oplus b_1y_1 \oplus b_2y_2 \oplus \dots \oplus b_ny_n) =$
$= a_0 \oplus a_1x_1 \oplus a_2x_2 \oplus \dots \oplus a_{n-1}x_{n-1} \oplus a_nb_o \oplus a_nb_1y_1 \oplus a_nb_2y_2 \oplus \dots \oplus a_nb_ny_n \in L$

# Сокращённая ДНФ линейной функции
## Теорема
[[1 курс/2 семестр/Дискретка/Билеты/4#Сокращённая ДНФ|Сокращённая ДНФ]] любой линейной функции совпадает с [[1 курс/2 семестр/Дискретка/Билеты/3#^809b89|СДНФ]], построенной на её существенных переменных.

## Доказательство
Пусть $f \in L$, значит можно записать формулой $f(x_{i_1}, x_{i_2}, \dots, x_{i_k}) = x_{i_1} \oplus x_{i_2} \oplus \dots \oplus x_{i_k} \oplus \alpha_0$, где $\alpha_o \in \{0, 1\}$, а $x_{i_1}..x_{i_k}$ - все существенные переменные f

Рассмотрим [[1 курс/2 семестр/Дискретка/Билеты/4#Импликанта|импликанту]] $A = x^{\alpha_1}_{i_2} x^{\alpha_2}_{i_2} \dots x^{a_k}_{i_k}$ функции f (очевидно, входящую в СДНФ)

Пусть $A'$ - элементарная конъюнкция отличная от A ровно в одной позиции. НУО, можно предположить, $A' = x^{\overline{\alpha_1}}_{i_1} x^{\alpha_2}_{i_2} \dots x^{a_k}_{i_k}$

Т.к. A - импликанта f, то $f(\alpha_1, \alpha_2, \dots, \alpha_k) = \alpha_1 \oplus \alpha_2 \oplus \dots \oplus \alpha_k \oplus \alpha_0 = 1$
Но тогда $f(\overline{\alpha_1}, \alpha_2, \dots, \alpha_k) = \overline{\alpha_1} \oplus \alpha_2 \oplus \dots \oplus \alpha_k \oplus \alpha_0 = \alpha_1$ ==$\oplus 1$== $\oplus \alpha_2 \oplus \dots \oplus \alpha_k \oplus \alpha_0 = 1 \oplus 1 = 0$

Т.е. $A'$ не является импликантой f. Таким образом, любые 2 импликанты, входящие в СДНФ функции f, отличаются не менее, чем в 2х позициях и, следовательно, являются простыми
Т.е. сокращённая ДНФ совпадает с СДНФ

# Лемма о нелинейной функции
## Лемма
Если функция 𝑓 нелинейна, то функция 𝑥𝑦 является суперпозицией функций $f, 0, 1$ и $\bar x$. То есть если $f \notin L$, то $xy \in [\{f, 0, 1, \bar x\}]$.
## Доказательство
Пусть $f(x_1, x_2, \dots, x_n) \notin L$, тогда в [[1 курс/2 семестр/Дискретка/Билеты/6#Полином Жегалкина|полином Жегалкина]] этой функции входит конъюнкция каких-нибудь переменных. НУО, предположим, что это конъюнкция $x_1$ и $x_2$

Вынесем $x_1x_2$ за скобку, тогда в скобках останется полином остальных переменных. Обозначим $p_{1,2}(x_3, \dots, x_n)$
В оставшийся части выражения вынесем отдельные $x_1$ и $x_2$ за скобку. Полиномы в скобках обозначим $p_1(x_3, \dots, x_n)$ и $p_2(x_3, \dots, x_n)$ соответственно
Все слагаемые без $x_1$ и $x_2$ тоже образуют полином - $p_0(x_3, \dots, x_n)$

Итак, $f(x_1, x_2, \dots, x_n) = x_1x_2p_{1,2}(x_3, \dots, x_n) \oplus x_1p_1(x_3, \dots, x_n) \oplus x_2p_2(x_3, \dots, x_n) \oplus p_0(x_3, \dots, x_n)$
$p_{1,2}(x_3, \dots, x_n) \neq 0$, иначе f эквивалентна полиному без $x_1x_2$, что противоречит [[1 курс/2 семестр/Дискретка/Билеты/6#Единственность полинома Жегалкина|единственности полинома для функции]]

Таким образом, существуют такие $\alpha_3, \dots, \alpha_n$, что $p_{1,2}(\alpha_3, \dots, \alpha_n) = 1$
Пусть $p_1(\alpha_3, \dots, \alpha_n) = \alpha_1$, $p_2(\alpha_3, \dots, \alpha_n) = \alpha_2$, $p_0(\alpha_3, \dots, \alpha_n) = \alpha_0$
Подставим $\alpha_3, \dots, \alpha_n$ в f вместо $x_3, \dots, x_n$:
$$
	f(x_1, x_2, \alpha_3, \dots, \alpha_n) = x_1x_2 \oplus x_1\alpha_1 \oplus x_2\alpha_2 \oplus \alpha_0
$$

Теперь подставим вместо $x_1$ функцию $x \oplus \alpha_2$, вместо $x_2$ - $y \oplus \alpha_1$:
$f(x \oplus \alpha_2, y \oplus \alpha_1, \alpha_3, \dots, \alpha_n) =$
$= (x \oplus \alpha_2)(y \oplus \alpha_1) \oplus (x \oplus \alpha_2)\alpha_1 \oplus (y \oplus \alpha_1)\alpha_2 \oplus \alpha_0 =$
$= xy \oplus \alpha_2y \oplus \alpha_1x \oplus \alpha_1\alpha_2 \oplus \alpha_1x \oplus \alpha_1\alpha_2 \oplus \alpha_2y \oplus \alpha_1\alpha_2 \oplus \alpha_0 =$
$= xy \oplus \alpha_1\alpha_2 \oplus \alpha_0$

Введём функцию $h(x, y) = f(x \oplus \alpha_2, y \oplus \alpha_1, \alpha_3, \dots, \alpha_n) \oplus \alpha_1\alpha_2 \oplus \alpha_0$
$h(x, y) = xy$

Прибавление констант эквивалентно отрицанию или тождественной функции, следовательно, $xy = h(x, y) \in [\{f, 0, 1, \bar x\}]$