Ну например у тебя есть выражение в программе:
(x | true) | y
И ты хочешь доказать что это утверждение всегда будет выдавать true. Для этого тебе необходимо утверждение для доказательства, например
f x y = (x | true) | y // функция
forall x, y then f x y == true
То есть для любых x y результат выражения будет true
Потом ты собственно доказываешь это. Например:
start
ir1 = x | true.
forall x then ir1 = true.
ir2 = ir1 | y
forall y then ir2 = true.
end
Могут быть неточности в моем объяснении, но в целом этот процесс так происходит