data Boolean = Wahr | Falsch deriving Show data Paar a = Paar a a deriving Show data Liste a = Nil | Cons a (Liste a) deriving Show und :: Boolean -> Boolean -> Boolean und a b = case a of Wahr -> b Falsch -> Falsch nicht :: Boolean -> Boolean nicht a = case a of Wahr -> Falsch Falsch -> Wahr undListe :: Liste Boolean -> Boolean undListe l = case l of Nil -> Wahr Cons a as -> und a (undListe as) -- verbinden :: verbinden a b = undefined -- zipListe :: zipListe (Paar a b) = undefined -- unzipListe :: unzipListe l = undefined