Трехзначная логика - Three-valued logic

В логике , А трехзначная логика (также Trinary логики , трехвалентный , тройная или trilean , иногда сокращенно 3VL ) является одной из нескольких многозначных логических систем , в которых имеются три значения истинности , указывающее на истинное , ложное и некоторые неопределенное третье значение. Это контрастирует с более широко известными бивалентными логиками (такими как классическая сентенциальная или логическая логика ), которые предусматривают только истину и ложь .

Эмилю Леону Посту приписывают первое введение дополнительных логических степеней истинности в его теории элементарных предложений 1921 года. Концептуальная форма и основные идеи трехзначной логики были первоначально опубликованы Яном Лукасевичем и Кларенсом Ирвингом Льюисом . Затем они были переформулированы Григоре Константином Мойсилом в аксиоматической алгебраической форме, а также распространены на n- значные логики в 1945 году.

Предварительное открытие

Примерно в 1910 году Чарльз Сандерс Пирс определил многозначную логическую систему . Он его никогда не публиковал. Фактически, он даже не пронумеровал три страницы заметок, где определял свои трехзначные операторы. Пирс категорически отверг идею, что все предложения должны быть либо истинными, либо ложными; он пишет, что граничные предложения находятся «на границе между Р и не Р». Однако как бы он ни был уверен в том, что «Триадическая логика универсально верна», он также записал, что «Все это очень близко к чепухе». Только в 1966 году, когда Макс Фиш и Этвелл Туркетт начали публиковать то, что они заново открыли в его неопубликованных рукописях, триадические идеи Пирса стали широко известны.

Представление ценностей

Как и в случае с бивалентной логикой, значения истинности в троичной логике могут быть представлены численно с использованием различных представлений троичной системы счисления . Вот несколько наиболее распространенных примеров:

Внутри троичного компьютера троичные значения представлены троичными сигналами .

Эта статья в основном иллюстрирует систему троичной логики высказываний с использованием значений истинности {false, unknown, true} и расширяет обычные булевы связки на трехвалентный контекст. Также существуют тернарные логики предикатов ; они могут иметь показания квантора, отличные от классической (бинарной) логики предикатов, а также могут включать альтернативные кванторы.

Логика

Если логическая логика имеет 2 2 = 4 унарных оператора , добавление третьего значения в тернарной логике приводит в общей сложности к 3 3 = 27 различным операторам для одного входного значения. Аналогично, если в булевой логике 2 2 × 2 = 16 различных бинарных операторов (операторов с 2 входами), в тернарной логике 3 3 × 3 = 19 683 таких оператора. Там, где мы можем легко назвать значительную часть логических операторов ( NOT , AND , NAND , OR , NOR , XOR , XNOR , эквивалентность , импликация ), неразумно пытаться назвать все, кроме небольшой части возможных тернарных операторов.

Клини и Прист логики

Ниже приводится набор таблиц истинности, показывающих логические операции для «строгой логики неопределенности» Стивена Коула Клини и «логики парадокса» Грэма Приста .

(F - ложь; U - неизвестно; T - истина)
НЕ (А)
А ¬A
F Т
U U
Т F
И (А, В)
А ∧ Б B
F U Т
А F F F F
U F U U
Т F U Т
ИЛИ (A, B)
А ∨ Б B
F U Т
А F F U Т
U U U Т
Т Т Т Т
(-1, ложь; 0, неизвестно; +1, истина)
ОТРИЦАТЕЛЬНЫЙ (A)
А ¬A
−1 +1
0 0
+1 −1
МИН (A, B)
А ∧ Б B
−1 0 +1
А −1 −1 −1 −1
0 −1 0 0
+1 −1 0 +1
МАКС (А, В)
А ∨ Б B
−1 0 +1
А −1 −1 0 +1
0 0 0 +1
+1 +1 +1 +1

В этих таблицах истинности неизвестное состояние не может считаться ни истинным, ни ложным в логике Клини, или как истинным и ложным в логике Жреца. Разница заключается в определении тавтологий. Там, где единственным обозначенным значением истинности логики Клини является T, обозначенными значениями истинности логики Жреца являются как T, так и U. В логике Клини знание того, представляет ли какое-либо конкретное неизвестное состояние тайно истинное или ложное в любой момент времени, недоступно. Однако некоторые логические операции могут дать однозначный результат, даже если они включают хотя бы один неизвестный операнд. Например, поскольку истина ИЛИ истина равна истине , а истина ИЛИ ложь также равна истине , можно сделать вывод, что истинное ИЛИ неизвестно также равно истине . В этом примере, поскольку любое двухвалентное состояние может лежать в основе неизвестного состояния, но любое состояние также дает тот же результат, окончательные истинные результаты во всех трех случаях.

Если числовые значения, например сбалансированные троичные значения, присваиваются значениям false , unknown и true , так что false меньше unknown, а unknown меньше true , тогда A AND B AND C ... = MIN (A, B, C .. .) и A ИЛИ B ИЛИ C ... = МАКС (A, B, C ...).

Существенное значение для логики Клини можно определить как:

, и его таблица истинности

IMP K (A, B), ИЛИ (¬A, B)
А → Б B
F U Т
А F Т Т Т
U U U Т
Т F U Т
IMP K (A, B), МАКС (-A, B)
А → Б B
−1 0 +1
А −1 +1 +1 +1
0 0 0 +1
+1 −1 0 +1

которая отличается от логики Лукасевича (описанной ниже).

В логике Клини нет тавтологий (действительных формул), потому что всякий раз, когда всем атомарным компонентам правильно сформированной формулы присваивается значение Неизвестно, сама формула также должна иметь значение Неизвестно. (И единственное обозначенное значение истинности для логики Клини - Истина.) Однако отсутствие действительных формул не означает, что в ней отсутствуют действительные аргументы и / или правила вывода. Аргумент семантически действителен в логике Клини, если всякий раз (для любой интерпретации / модели) все его предпосылки истинны, вывод также должен быть истинным. (Обратите внимание, что Логика Парадокса (LP) имеет те же таблицы истинности, что и логика Клини, но имеет два обозначенных значения истинности вместо одного; это: Истина и Оба (аналог Неизвестного), так что LP действительно имеет тавтологии, но у него меньше действительных правил вывода).

Логика лукасевича

Лукасевич №3 имеет те же таблицы для И, ИЛИ и НЕ, что и приведенная выше логика Клини, но отличается в своем определении импликации тем, что «неизвестное подразумевает неизвестное» истинно . Этот раздел следует за презентацией главы Малиновского « Справочника по истории логики» , том 8.

Существенное значение для логической таблицы истинности Лукасевича:

IMP Ł (A, B)
А → Б B
F U Т
А F Т Т Т
U U Т Т
Т F U Т
IMP Ł (A, B), МИН (1, 1 − A + B)
А → Б B
−1 0 +1
А −1 +1 +1 +1
0 0 +1 +1
+1 −1 0 +1

Фактически, используя импликацию и отрицание Лукасевича, другие обычные связки могут быть получены как:

  • АВ = ( АВ ) → В
  • AB = ¬ (¬ A ∨ ¬ B )
  • АВ = ( АВ ) ∧ ( ВА )

Также возможно вывести несколько других полезных унарных операторов (впервые выведенных Тарским в 1921 году):

  • M A = ¬ AА
  • L A = ¬ M ¬ A
  • I A = M A ∧ ¬ L A

У них есть следующие таблицы истинности:

А M A
F F
U Т
Т Т
А L A
F F
U F
Т Т
А Я А
F F
U Т
Т F

M читается как «это не ложь, что ...» или в (неудачной) попытке Тарского – Лукасевича аксиоматизировать модальную логику с использованием трехзначной логики, «возможно, что ...« L читается », это так. правда, что ... "или" необходимо, чтобы ... "Наконец я читал" неизвестно, что ... "или" возможно, что ... "

В №3 Лукасевича обозначенное значение - Истина, а это означает, что тавтологией считается только предложение, имеющее это значение повсюду . Например, AA и AA - тавтологии в Ł3, а также в классической логике. Не все тавтологии классической логики переводятся в Ł3 «как есть». Например, закон исключенного третьего , ∨ ¬ A , а закон непротиворечия , ¬ ( ∧ ¬ ) не являются тавтологии в l3. Однако, используя оператор, который я определил выше, можно сформулировать тавтологии, являющиеся их аналогами:

Логика Бочвара

Тернарная логика сообщения

not (a) = (a + 1) mod 3, или
not (a) = (a + 1) mod (n), где (n) - значение логики

Модульные алгебры

Некоторые модульные алгебры 3VL были введены совсем недавно, мотивированными проблемами схем, а не философскими вопросами:

  • Алгебра Кона
  • Алгебра Прадхана
  • Дуброва и алгебра Муцио

Приложения

SQL

Язык структурных запросов базы данных SQL реализует троичную логику как средство обработки сравнений с содержимым поля NULL . NULL изначально предназначался для использования в качестве контрольного значения в SQL для представления отсутствующих данных в базе данных, т. Е. В предположении, что фактическое значение существует, но что это значение в настоящее время не записано в базе данных. SQL использует общий фрагмент логики Kleene K3, ограниченный таблицами AND, OR и NOT.

В SQL промежуточное значение должно интерпретироваться как НЕИЗВЕСТНО. Явное сравнение с NULL, включая сравнение другого NULL, дает UNKNOWN. Однако от этого выбора семантики отказываются для некоторых операций над наборами, например UNION или INTERSECT, где NULL рассматриваются как равные друг другу. Критики утверждают, что это несоответствие лишает SQL интуитивной семантики при обработке значений NULL. Стандарт SQL определяет дополнительную функцию под названием F571, которая добавляет некоторые унарные операторы, в том числе IS UNKNOWNсоответствующие операторы Лукасевича I в этой статье. Добавление IS UNKNOWNк другим операторам трехзначной логики SQL делает трехзначную логику SQL функционально завершенной , то есть ее логические операторы могут выражать (в комбинации) любую мыслимую трехзначную логическую функцию.

Смотрите также

использованная литература

дальнейшее чтение

внешние ссылки