Есть логический преобразователь, на вход которому подается логическая функция от 20 переменных, не являющаяся тождественной ложью (то есть имеющая значение ИСТИНА хотя бы для одного набора значений переменных). Работает преобразователь следующим образом:
- Строится таблица истинности данной функции.
- Из полученной таблицы истинности берутся наборы переменных, для которых значение функции равно ИСТИНЕ.
- Для каждого такого набора составляется полная конъюнкция всех 20 переменных, причем если значение этой переменной в наборе равно ЛЖИ, то в конъюнкции эта переменная будет с отрицанием, если значение переменной равно ИСТИНЕ, то в конъюнкции эта переменная будет без изменений.
- Между всеми полученными полными конъюнкциями ставятся операции ⊕ (Исключающее ИЛИ).
- Все переменные с отрицанием заменяются по следующему правилу: 𝑋̅ = (𝑋 ⊕ 1)
- Раскрываются все скобки по правилу: 𝑋 ⋀ (𝑌 ⊕ 𝑍) = 𝑋 ⋀ 𝑌 ⊕ 𝑋 ⋀ 𝑍. После раскрытия скобок должно получиться выражение, которое может содержать некоторые отдельные переменные, конъюнкции переменных и константу ИСТИНА, соединенные Исключающим ИЛИ.
- Из выражения убираются повторяющиеся конъюнкции. В результате у нас получается новая форма записи исходной функции. Гарантируется, что для каждой входной функции эта форма уникальна.
- Производится проверка, остались ли в получившейся форме записи выражения операции конъюнкции. Если остались – преобразователь возвращает ЛОЖЬ, если нет – возвращает ИСТИНА.
Сколько существует таких функций от 20 переменных, которые можно подать на вход преобразователю и для которых он вернет ИСТИНУ? В ответе укажите целое число.