1. Опровержение отрицания коммутативности сложения в QF_BV
Инженер по формальной верификацииКонтекст
Необходимо строго доказать, что операция 16-битного сложения коммутативна для любых значений операндов.
Проблема
Требуется доказать unsat для отрицания равенства (a + b) = (b + a) без перебора всех 2^32 комбинаций.
Как использовать
Выберите демо 'SMT-LIB QF_BV — опровергнуть ¬(a+b = b·a)' или вставьте скрипт SMT-LIB, выберите движок 'all' и запустите анализ.
source: demo-smt-commutativity, engine: all, depthK: 10Результат
Движок выполняет бит-бластинг в Tseitin-клаузы, возвращает статус unsat за доли секунды и подтверждает истинность свойства со статистикой конфликтов решателя.