» » »

Преобразование унарных предикатов в бинарные. Примеры. Преобразование

Преобразование унарных предикатов в бинарные. Примеры

С помощью предикатов часто определяют критерии сортировки или поиска. В зависимости от способа применения предикаты делятся на унарные и бинарные. Учтите, что не любая унарная или бинарная функция, возвращающая логическую величину, является действительным предикатом.

Унарные предикаты

Унарный предикат проверяет некоторое свойство одного аргумента. Типичный пример - функция, используемая в качестве критерия поиска первого простого числа.

Бинарные предикаты обычно сравнивают некоторое свойство двух аргументов. Например, чтобы отсортировать элементы по нестандартному критерию, программист передает алгоритму простую предикатную функцию. Это может понадобиться, если, например, элементы не могут корректно работать с оператором или сортировка должна выполняться по нестандартному критерию.

Унарные и бинарные предикаты имеют соответственно один и два аргумента. Фраза «Сократ есть человек» представима унарным предикатом Человек (Сократ), а «Жак любит Мари» — бинарным Любит (Жак_2, Мари_4). Любой унарный предикат можно преобразовать в бинарный следующим образом. Унарный предикат состоит из предикатного имени и значения своего единственного аргумента. Следовательно, его формат такой: Предикатное_имя (значение_аргумента). Значение аргумента есть конкретизация предикатного имени или переменной. Например, Человек (Сократ) указывает, что имя собственное «Сократ» — конкретизация имени совокупности «человек», а Человек (х) указывает, что х — человек (не что-либо иное). Фразу «Сократ — человек» можно представить бинарным предикатом Конкр (Сократ, человек).


§ Преобразование унарных предикатов в бинарные

человек (Сократ).
Сократ – человек, это ясно, как день, но допускает определенную двусмысленность, поэтому лучше преобразовать в бинарный предикат.

Сократ – единичный терм
человек – совокупность, множество.
Структура: единичный элемент, который входит в какое-то множество.

конкретизация(единичное, множество)
есть(Сократ, человек)

Каждый человек бегает.
Необходимо идентифицировать человека из множества предикатов.
человек(х)
бегает(х)
квантор общности

Кв.общ. Х (человек(х) à бегает(х))

Некоторый человек бегает.
Экзистенциальный квантор Х (человек(х) ٨ бегает(х))

Друзья! Приглашаем вас к обсуждению. Если у вас есть своё мнение, напишите нам в комментарии.