Я пытаюсь использовать инструмент доказательства теорем TLA +, чтобы доказать свойства безопасности алгоритма. Но я обнаружил, что TLAPS не может вычислить очень "простые" математические факты.
Моя первая проблема была с:
EXTENDS Naturals
CONSTANTS x,y
ASSUME x \in Nat /\ y \in Nat
LEMMA x=y+1 => y<x
OBVIOUS
TLAPS не может сделать это в одиночку с какой-либо серверной проверкой. Я также пробовал использовать определенные серверные программы проверки с другой тактикой:
LEMMA x=y+1 => y<x
BY IsaM("blast")
Но тоже не удалось. Аналогичным образом нельзя проверить и другие простые факты, например:
LEMMA x<y => x<y+0
В прошлом я использовал некоторые из этих средств доказательства теорем, например Z Solver или Isabelle, и, насколько я помню, они очень мощные. Я думаю, мне что-то здесь не хватает ... или я не понимаю органайзер доказательства TLAPS, или мне все еще нужно загрузить какой-то другой модуль с аксиомами ?.