У меня есть программа, которая сортирует переменные, и я пытаюсь проверить ее достоверность с Z3, но у меня есть один сегмент кода, где переменные меняются местами, и я не знаю, как смоделировать его
Как я могу доказать, что эти два утверждения равны: Val.shru (Val.and а (Vint б)) (Vint с) = Vint? 3434/\? 3434 <> d Val.shru (Val.and а (Vint б)) (Vint с) <> d концепция довольно проста, но застрял в
У меня проблема с доказательством существования экзистенциальной переменной в списке. Как я могу доказать что-то вроде этого: Lemma exists_in_list_helper: forall (X : Type) (a : X) (P : X -> Prop),
Я хочу преобразовать утверждение SystemVerilog с задержкой в инвариант официального верификатора. Синтезатор дает синтаксическую ошибку для ## 1 в строке кода ниже. assert property ((req1 == 0) ##1(