-- returns if a list contains a certain number
member :: Nat -> [Nat] -> Bool
member (S Z) [] = False
member (S(S Z)) [] = False
member (S(S(S Z))) [] = False
member (S Z) [(S Z)] = True
member (S(S Z)) [(S Z)] = False
member (S(S(S Z))) [(S Z)] = False
member (S Z) [(S(S Z))] = False
member (S(S Z)) [(S(S Z))] = True
member (S(S(S Z))) [(S(S Z))] = False
member (S Z) [(S(S(S Z)))] = False
member (S(S Z)) [(S(S(S Z)))] = False
member (S(S(S Z))) [(S(S(S Z)))] = True
member (S Z) [(S(S Z)),(S Z)] = True
member (S(S Z)) [(S(S Z)),(S Z)] = True
member (S Z) [(S(S(S Z))),(S(S Z)),(S Z)] = True

