lean4-htt/tests/lean/run/bv_inequality.lean
Henrik Böving da9c68a37a feat: import LeanSAT's tactic frontends
Co-authored-by: Markus Himmel <markus@lean-fro.org>
2024-08-28 18:14:39 +02:00

30 lines
979 B
Text

import Std.Tactic.BVDecide
open BitVec
theorem ineq_unit_1 (x y : BitVec 64) (h : x ≠ y) : y ≠ x := by
bv_decide
theorem ineq_unit_2 (x y z : BitVec 32) (h1 : x < y) (h2 : y < z) : x < z := by
bv_decide
theorem ineq_unit_2' (x y z : BitVec 32) (h1 : BitVec.ult x y) (h2 : y < z) : BitVec.ult x z := by
bv_decide
theorem ineq_unit_3 (x y z : BitVec 32) (h1 : x ≤ y) (h2 : y ≤ z) : x ≤ z := by
bv_decide
theorem ineq_unit_3' (x y z : BitVec 32) (h1 : BitVec.ule x y) (h2 : y ≤ z) : BitVec.ule x z := by
bv_decide
theorem ineq_unit_4 (x y z : BitVec 32) (h1 : x > y) (h2 : y > z) : x > z := by
bv_decide
theorem ineq_unit_5 (x y z : BitVec 32) (h1 : x ≥ y) (h2 : y ≥ z) : x ≥ z := by
bv_decide
theorem ineq_unit_6 (x y z : BitVec 32) (h1 : BitVec.slt x y) (h2 : BitVec.slt y z) : BitVec.slt x z := by
bv_decide
theorem ineq_unit_7 (x y z : BitVec 32) (h1 : BitVec.sle x y) (h2 : BitVec.sle y z) : BitVec.sle x z := by
bv_decide