Публикации автора

Логики условных вычислений с ошибками∗ (2026)

В компьютерных программах недопустимо игнорировать практически неизбежное наличие ошибок. Как гласит аксиома Шуры-Буры: «Если программа на самом деле абсолютно правильна, она никому не нужна». А в задачах точных вычислений и в суперкомпьютерах возникает необходимость управления вычислениями от исключительных ситуаций. Для описания такого исполнения недостаточно адекватна двузначная и трехзначная логика. Некоторые ошибки, такие как переполнения или деление на ноль, могут быть обработаны и идентифицируются логическим значением u. Но такие, как «синий экран смерти», фатальны: исправлены внутри программы быть не могут. Множество S значений пополняется мягкой ошибкой u и фатальной ошибкой ⊥. Здесь рассматривается следующая семантика: u это сигнал, что однозначное решение не найдено и интерпретируется как {t, f}, а ⊥ — как логический провал ∅. Рассматриваются лишь непрерывные в топологии S⊥ вычисления. Базисом логики принимается условный оператор if A then B else C fi и логические константы {t, f, u, ⊥}. Исследуются логики, соответствующие различным вариантам организации вычислений данного оператора. Полностью описаны взаимные выразимости этих вариантов. Показано, что различные вариации вычислений порождают, в частности, логики Клини, Лукасевича, Гёделя.