Documentation

Std.Tactic.BVDecide.Normalize.Equal

This module contains the equality simplifying part of the bv_normalize simp set.

theorem Std.Tactic.BVDecide.Frontend.Normalize.Bool.bif_eq_bif (d a b c : Bool) :
((bif d then a else b) == bif d then a else c) = (d || b == c)
theorem Std.Tactic.BVDecide.Frontend.Normalize.Bool.not_bif_eq_bif (d a b c : Bool) :
((!bif d then a else b) == bif d then a else c) = (!d && (!b) == c)
theorem Std.Tactic.BVDecide.Frontend.Normalize.Bool.bif_eq_not_bif (d a b c : Bool) :
((bif d then a else b) == !bif d then a else c) = (!d && b == !c)
theorem Std.Tactic.BVDecide.Frontend.Normalize.Bool.bif_eq_bif' (d a b c : Bool) :
((bif d then a else c) == bif d then b else c) = (!d || a == b)
theorem Std.Tactic.BVDecide.Frontend.Normalize.Bool.not_bif_eq_bif' (d a b c : Bool) :
((!bif d then a else c) == bif d then b else c) = (d && (!a) == b)
theorem Std.Tactic.BVDecide.Frontend.Normalize.Bool.bif_eq_not_bif' (d a b c : Bool) :
((bif d then a else c) == !bif d then b else c) = (d && a == !b)
theorem Std.Tactic.BVDecide.Frontend.Normalize.BitVec.bif_eq_bif {w : Nat} (d : Bool) (a b c : BitVec w) :
((bif d then a else b) == bif d then a else c) = (d || b == c)
theorem Std.Tactic.BVDecide.Frontend.Normalize.BitVec.not_bif_eq_bif {w : Nat} (d : Bool) (a b c : BitVec w) :
((~~~bif d then a else b) == bif d then a else c) = bif d then ~~~a == a else ~~~b == c
theorem Std.Tactic.BVDecide.Frontend.Normalize.BitVec.bif_eq_not_bif {w : Nat} (d : Bool) (a b c : BitVec w) :
((bif d then a else b) == ~~~bif d then a else c) = bif d then a == ~~~a else b == ~~~c
theorem Std.Tactic.BVDecide.Frontend.Normalize.BitVec.bif_eq_bif' {w : Nat} (d : Bool) (a b c : BitVec w) :
((bif d then a else c) == bif d then b else c) = (!d || a == b)
theorem Std.Tactic.BVDecide.Frontend.Normalize.BitVec.not_bif_eq_bif' {w : Nat} (d : Bool) (a b c : BitVec w) :
((~~~bif d then a else c) == bif d then b else c) = bif d then ~~~a == b else ~~~c == c
theorem Std.Tactic.BVDecide.Frontend.Normalize.BitVec.bif_eq_not_bif' {w : Nat} (d : Bool) (a b c : BitVec w) :
((bif d then a else c) == ~~~bif d then b else c) = bif d then a == ~~~b else c == ~~~c