speculate-0.3.5: bench/qs2/binarytree.out3
== Signature ==
Null :: BT Int
insert :: Int -> BT Int -> BT Int
delete :: Int -> BT Int -> BT Int
isIn :: Int -> BT Int -> Bool
(==>) :: Bool -> Bool -> Bool
True :: Bool
False :: Bool
== Laws ==
1. x ==> x = True
2. x ==> True = True
3. False ==> x = True
4. True ==> x = x
5. delete x Null = Null
6. isIn x Null = False
7. x ==> (x ==> y) = x ==> y
8. x ==> (y ==> x) = True
9. (x ==> y) ==> x = x
10. delete x (delete x t1) = delete x t1
11. delete x (insert x t1) = delete x (delete x t1)
12. insert x (delete x t1) = insert x t1
13. isIn x (delete x t1) = False
14. isIn x (insert x t1) = True
15. (x ==> False) ==> False = x
16. x ==> (y ==> z) = y ==> (x ==> z)
17. (x ==> y) ==> y = (y ==> x) ==> x
18. delete y (delete x t1) = delete x (delete y t1)
19. insert y (insert x t1) = insert x (insert y t1)
20. isIn x (insert y Null) = isIn y (insert x Null)
21. isIn x (insert y (delete x t1)) = isIn x (insert y Null)
22. isIn x (insert y Null) ==> False =
isIn x (delete y (insert x t1))
23. isIn x (delete y (insert z Null)) =
isIn z (delete y (insert x Null))
24. x ==> (isIn y (delete x2 t1) ==> z) = x ==> (isIn y t1 ==> z)