max expr size = 5 |- on ineqs = 4 |- on conds = 4 max #-tests = 500 min #-tests = 25 (to consider p ==> q true) max #-vars = 2 (for inequational and conditional laws) _ :: Bool _ :: Word2 _ :: BT Word2 Null :: BT Word2 insert :: Word2 -> BT Word2 -> BT Word2 delete :: Word2 -> BT Word2 -> BT Word2 isIn :: Word2 -> BT Word2 -> Bool (/=) :: Word2 -> Word2 -> Bool True :: Bool False :: Bool (==) :: Bool -> Bool -> Bool (==) :: Word2 -> Word2 -> Bool (==) :: BT Word2 -> BT Word2 -> Bool isIn x Null == False isIn x (insert x t) == True isIn x (delete x t) == False (Null == insert x t) == False (t == insert x t) == isIn x t (x == y) == isIn x (insert y Null) (t == delete x t) == (False == isIn x t) isIn x (insert y Null) == isIn y (insert x Null) (False == (x /= y)) == isIn x (insert y Null) delete x Null == Null insert x (insert x t) == insert x t delete x (delete x t) == delete x t insert x (delete x t) == insert x t delete x (insert x t) == delete x t insert x (insert y t) == insert y (insert x t) delete x (delete y t) == delete y (delete x t) Null <= t t <= insert x t delete x t <= t insert x Null <= insert x t x /= y ==> delete y (insert x t) == insert x (delete y t)