# Haskell-5Equational reasoning questions

1. Prove the basic property of concat , which is concat (xss ++ yss) = concat xss ++ concat yss

2. Prove that length (xs ++ ys) = length xs + length ys

3. Prove that take m . take n = take (m `min` n) .

4. Prove that: map f . tail = tail . map f .

5. Prove that filter p . filter q = filter (p `and` q) , where (p `and` q) x = p x && q x