
- •Содержание
- •Практическое занятие №1 Операции над множествами. Классификация множеств. Элементы теории множеств
- •Операции над множествами
- •Практическое занятие №2
- •Практическое занятие №3*. Проверка теоретико-множественных операций с помощью формул и определений
- •Практическое занятие №4* Представление множеств с помощью кругов Эйлера-Вена.
- •Практическое занятие №5 Бинарные отношения и их свойства. Соответствия между множествами. Отображения. Функции. Соответствия и функции.
- •Соответствия.
- •Взаимнооднозначные соответствия и мощности множеств.
- •Отображения и функции.
- •Отношения и их свойства.
- •Основные понятия и определения.
- •Практическое занятие №6* Элементы теории отображений и алгебры подстановок (перестановок). Операции над подстановками. Перестановки
- •Произведение подстановок
- •Обратная подстановка
- •Графическое представление подстановок
- •Инверсии
- •Задания для практического занятия №6*. Операции над подстановками, перестановками
- •Практическое занятие №7 Операции над высказываниями. Элементы алгебры логики
- •Математическая логика
- •Операции алгебры логики
- •Эквиваленция высказываний
- •Стрелка Пирса (функция Вебба)
- •Практическое занятие №8 Упрощение логических выражений с помощью законов логики
- •Законы алгебры логики
- •Практическое занятие №9* Построение таблиц истинности для высказываний.
- •Практическое занятие №10*,16 Дизъюнктивная нормальная форма (днф), конъюнктивная форма (кнф). Совершенные нормальные формы сднф и скнф в логике высказываний.
- •Практические занятия №11,12,13
- •Язык логики предикатов.
- •Предикаты.
- •Кванторы.
- •Истинные формулы и эквивалентные соотношения.
- •Практическое занятие №14* Операции логики Буля: дизъюнкция, конъюнкция, отрицание, импликация, эквивалентность, стрелка Пирса, штрих Шеффера, сумма по модулю два, разность.
- •Разность и импликация
- •Практическое занятие №15 Булевы вектора (двоичные вектора). Соседние и противоположные булевы вектора. N-мерный единичный куб. Булевы функции (функции алгебры логики) и способы их задания.
- •Практическое занятие №17* Представление булевых функций в виде сднф, скнф. Совершенные нормальные формы: дизъюнктивная, конъюнктивная и полиминальная
- •Решение
- •Сднф – совершенная дизъюнктивная нормальная форма
- •Скнф – совершенная конъюнктивная нормальная форма
- •Практическое занятие №18 Приложение алгебры логики к анализу и синтезу релейно-контактных схем.
- •Стандартные обозначения основных функциональных элементов
- •Метод Куайна для минимизации
- •Карты Карно (диаграмма Вейча)
- •Решение
- •1. Построим сднф – совершенную дизъюнктивную нормальную форму
- •2. Минимизируем сднф
- •Практическое занятие №23,24*
- •23. Операции двоичного сложения и ее свойства. Многочлен Жегалкина. Представление булевой функции в виде многочлена Жегалкина, используя сднф и формы логики.
- •24*. Представление булевой функции в виде многочлена Жегалкина с помощью треугольника Паскаля.
- •Представление булевой функции в виде многочлена Жегалкина, используя днф и формы логики
- •Представление булевой функции в виде многочлена Жегалкина, используя сднф и формы логики
- •Для булевых функций двух аргументов построить спнф, используя сднф и треугольник Паскаля
- •Для булевой функции, заданной вектором значений, определить полином Жегалкина.
- •Решение
- •Практические занятия № 25*, №26*
- •25. Классы Поста. Проверка булевой функции на принадлежность к классам Поста.
- •26. Проверка булевой функции на принадлежность к классам Поста, используя таблицу истинности. Полнота системы логических функций. Базис
- •Практические занятия № 27, №28
- •27. Полнота множества функций. Система базовых функций.
- •28. Исследование системы функций на полноту.
- •Практическое занятие № 29
- •Основные понятия
- •Практическое занятие № 30 Решение задач с помощью алгоритмов машины Тьюринга.
- •Перечень используемых учебных изданий, Интернет-ресурсов, дополнительной литературы
Практические занятия №11,12,13
Операции над предикатами. Определение логических значений для предикатных высказываний типа , и др.
Построение отрицаний к предикатам, содержащим кванторные операции. Формализация предложений с помощью логики предикатов.
Применение логики предикатов для строения теорем, дедуктивных и индуктивных умозаключений.
Язык логики предикатов.
Предикаты.
Определение.
Предикатом
называется функция
,
где
произвольное множество, а
определённое ранее двоичное множество
.
Иначе говоря,
местным
предикатом, определённым на множестве
называется двузначная функция от
аргументов из произвольного множества
.
Множество
называется предметной
областью
предиката, переменные
- предметными
переменными.
В принципе, можно определить предикат
как функцию
,
то есть допустить, что переменные
принимают значения из различных множеств
– в некоторых случаях это оказывается
удобным.
Для любых
и
существует взаимно однозначное
соответствие между
местными
отношениями и
местными
предикатами на множестве
,
определяемое следующим образом. Каждому
местному
отношению
соответствует предикат
такой, что
тогда
и только тогда, когда
;
всякий предикат
определяет отношение
такое, что
тогда и только тогда, когда
.
При этом
задаёт область
истинности
предиката.
Всякой функции
можно поставить в соответствие
местный предикат
такой, что
тогда и только тогда, когда
.
Поскольку функция должна быть однозначной,
то это соответствие требует, чтобы для
любого
выполнялось
.
Поэтому обратное соответствие (от
предиката к функции) возможно только
при выполнении указанного условия.
В дальнейшем, в
случаях, не вызывающих разночтения,
будем употреблять одинаковые обозначения
для предикатов и соответствующих им
отношений. При этом, помимо функциональных
обозначений вида
,
для двухместных предикатов будем
пользоваться обозначениями вида
,
которые употреблялись ранее для бинарных
отношений.
Пример 1.
а) Предикат
является двухместным предикатом,
предметной областью которого могут
служить любые множества действительных
чисел. Высказывание
истинно, а высказывание
ложно. Если вместо одной из переменных
подставить число, то получится одноместный
предикат:
и так далее.
б) Великая теорема
Ферма (до сих пор не доказанная) утверждает,
что для любого натурального числа
не существует натуральных чисел
,
которые удовлетворяли бы равенству
.
Этому равенству можно поставить в
соответствие предикат
,
истинный тогда и только тогда, когда
оно выполняется.
в) В описаниях
вычислительных процедур и, в частности,
в языках программирования, часто
встречаются указания типа “повторять
цикл до тех пор, пока переменные
и
не станут равными или прекратить
вычисление цикла после ста повторений”.
Если обозначить через
счётчик повторений, то описанное здесь
условие примет вид
,
а само указание в целом описывается
выражением: “повторять, если
”.
Кванторы.
Пусть
предикат, определённый на множестве
.
Высказывание “для всех
истинно” обозначается
или
.
Здесь множество
входит в обозначение, но когда оно ясно
из контекста пишут просто
.
Знак
называется квантором общности.
Высказывание
“существует такое значение
,
что
истинно” обозначается
или
.
Знак
называется квантором
существования.
Переход от предиката
к выражениям вида
или
называется связыванием
переменной
,
а также навешиванием
квантора на
переменную
(или на предикат
).
Переменная, на которую навешен квантор,
называется связанной,
несвязанная переменная называется
свободной.
Смысл связанных
и свободных переменных в предикатах
принципиально различен. Свободная
переменная – это обычная переменная,
которая может принимать различные
значения из множества
;
выражение
- переменное высказывание, зависящее
от значения
.
Выражение
не зависит от переменной
и имеет вполне определённое значение.
Это, в частности, означает, что
переименование связанной переменной,
то есть переход от выражения
к выражению
и наоборот не меняет истинности выражения.
Переменные, являющиеся, по существу,
связанными, встречаются не только в
логике. Например, в выражениях
или
переменная
связана: при фиксированной функции
первое выражение равно определенному
числу, а второе становится функцией от
пределов интегрирования.
Навешивать кванторы можно и на многоместные предикаты и вообще на любые логические выражения, которые при этом заключаются в скобки. Выражение, на которое навешивается квантор или называется областью действия квантора. Все вхождения переменной в это выражение являются связанными. Навешивание квантора на многоместный предикат уменьшает в нём количество свободных переменных и превращает его в предикат от меньшего числа переменных.
Пример 2.
а) Пусть
предикат “
чётное число”. Тогда высказывание
истинно на любом множестве чётных чисел
и ложно, если множество
содержит хотя бы одно нечётное число.
Высказывание
истинно
на любом множестве, содержащем хотя бы
одно чётное число и ложно на любом
множестве нечётных чисел.
б) Рассмотрим
двухместный предикат
на множествах
с отношением нестрогого порядка. Предикат
есть одноместный предикат от переменной
.
Если
множество неотрицательных чисел, то
этот предикат истинен в единственной
точке
.
Предикат
(можно записать
) высказывание истинное на множестве,
состоящем из одного элемента и ложное
на всяком другом множестве. Высказывание
утверждает, что в множестве
имеется максимальный элемент (для любого
существует такой
,
что
).
Оно истинно на любом конечном множестве
целых чисел. Высказывание
утверждает, что для любого элемента
имеется элемент
,
не меньший его. Оно истинно на любом
непустом множестве ввиду рефлексивности
отношения
.
Последние два высказывания говорят о
том, что перестановка кванторов меняет
смысл высказывания и условие его
истинности.