
import Test.QuickCheck

myReverse :: [a] -> [a]
myReverse [] = []
myReverse (x:xs) = myReverse xs ++ [x]

prop_revReverse :: [Int] -> Bool
prop_revReverse xs = xs == (myReverse $ myReverse xs)

prop_revConcat :: [Int] -> [Int] -> Bool
prop_revConcat xs ys = myReverse (xs ++ ys) == myReverse ys ++ myReverse xs

main = do
    quickCheck prop_revReverse
    quickCheck prop_revConcat
