packages feed

speculate-0.3.5: bench/qs2/binarytree.out1

== 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 ==> y) ==> z) ==> y) ==> x2 =
       (x ==> y) ==> ((z ==> y) ==> x2)
 25. isIn x t1 ==> isIn x (insert y t1) = True
 26. isIn x t1 ==> isIn y (insert x t1) = isIn x t1 ==> isIn y t1
 27. isIn x (delete y t1) ==> isIn x t2 =
       isIn x t1 ==> isIn x (insert y t2)
 28. isIn x (delete y t1) ==> isIn y t1 = isIn x t1 ==> isIn y t1
 29. isIn x (delete y (insert z (delete x t1))) =
       isIn x (delete y (insert z Null))
 30. isIn x (insert y (insert z (delete x t1))) =
       isIn x (insert y (insert z Null))
 31. isIn x (delete y (insert z Null)) ==> False =
       isIn x (insert y (delete z (insert x t1)))
 32. isIn x (insert y (insert z Null)) ==> False =
       isIn x (delete y (delete z (insert x t1)))
 33. (((x ==> x2) ==> z) ==> y) ==> x2 =
       (x ==> y) ==> ((z ==> y) ==> x2)
 34. isIn x t1 ==> isIn y (delete x t2) =
       isIn x t1 ==> isIn y (delete z t2)