![]() |
Главная Случайная страница Контакты | Мы поможем в написании вашей работы! | |
|
Т.к. null-значение обозначает на самом деле тот факт, что значение неизвестно, то любые алгебраические операции (сложение, умножение, конкатенация строк и т.д.) должны давать также неизвестное значение, т.е. null. Действительно, если, например, вес детали неизвестен, то неизвестно также, сколько весят 10 таких деталей.
При сравнении выражений, содержащих null-значения, результат также может быть неизвестен, например, значение истинности для выражения есть null, если один или оба аргумента есть null. Таким образом, определение истинности логических выражений базируется на трехзначной логике (three-valued logic, 3VL), в которой кроме значений T - ИСТИНА и F - ЛОЖЬ, введено значение U - НЕИЗВЕСТНО. Логическое значение U - это то же самое, что и null-значение. Трехзначная логика базируется на следующих таблицах истинности:
Таблица 1. Таблица истинности AND
AND | F | T | U |
F | F | F | F |
T | F | T | U |
U | F | U | U |
Таблица 2. Таблица истинности OR
OR | F | T | U |
F | F | T | U |
T | T | T | T |
U | U | T | U |
Таблица 3. Таблица истинности NOT
NOT | |
F | T |
T | F |
U | U |
Имеется несколько парадоксальных следствий применения трехзначной логики.
Парадокс 1.
Null-значение не равно самому себе. Действительно, выражение null = null дает значение не ИСТИНА, а НЕИЗВЕСТНО. Значит выражение не обязательно ИСТИНА!
Парадокс 2.
Неверно также, что null-значение не равно самому себе! Действительно, выражение null null также принимает значение не ИСТИНА, а НЕИЗВЕСТНО! Значит также, что и выражение
тоже не обязательно ЛОЖЬ!
Парадокс 3.
не обязательно ИСТИНА. Значит, в трехзначной логике не работает принцип исключенного третьего (любое высказывание либо истинно, либо ложно).
Таких парадоксов можно построить сколько угодно. Конечно, это на самом деле не парадоксы, а просто следствия из аксиом трехзначной логики.
Дата публикования: 2014-12-28; Прочитано: 321 | Нарушение авторского права страницы | Мы поможем в написании вашей работы!