packages feed

speculate-0.3.5: bench/qs2/binarytree.out4

== 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 (insert x t1) = insert x (delete 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. delete x (insert y (delete y t1)) = delete x (insert y t1)
 22. isIn x (insert y (delete x t1)) = isIn x (insert y Null)
 23. isIn x (insert y (delete y t1)) = isIn x (insert y t1)
 24. isIn x (insert y Null) ==> False =
       isIn x (delete y (insert x t1))
 25. insert x (delete x (delete y t1)) = insert x (delete y t1)
 26. isIn x (delete y (insert z Null)) =
       isIn z (delete y (insert x Null))
 27. x ==> (isIn y (delete x2 t1) ==> z) = x ==> (isIn y t1 ==> z)
 28. insert x (delete x (insert y (insert z t1))) =
       insert x (insert y (insert z t1))
 29. insert x (insert y (insert z (delete x t1))) =
       insert x (delete x (insert y (insert z t1)))