From 90136a2aa4e7d66180ca119f898b5d2912591b00 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jonah=20Br=C3=BCchert?= <jbb@kaidan.im> Date: Mon, 12 Feb 2024 15:58:47 +0100 Subject: [PATCH] Add solutions --- 15/induktion.txt | 19 +++++++++++++++++++ "15/l\303\266sungen.hs" | 10 ++++++++++ 2 files changed, 29 insertions(+) create mode 100644 15/induktion.txt create mode 100644 "15/l\303\266sungen.hs" diff --git a/15/induktion.txt b/15/induktion.txt new file mode 100644 index 0000000..da8c795 --- /dev/null +++ b/15/induktion.txt @@ -0,0 +1,19 @@ +IV + +(reverse . map f) xs = (map f . reverse) xs +reverse (map f xs) = map f (reverse xs) + + +IS + +xs = (x:xs) + +(reverse . map f) (x:xs) + = reverse (map f (x:xs)) + = reverse (f x : (map f xs)) + = reverse (map f xs) ++ [f x] + = map f (reverse xs) ++ [f x] + = map f (reverse xs) ++ map f [x] + = map f (reverse xs ++ [x]) + = map f (reverse (x:xs)) + = (map f . reverse) (x:xs) diff --git "a/15/l\303\266sungen.hs" "b/15/l\303\266sungen.hs" new file mode 100644 index 0000000..ca13c75 --- /dev/null +++ "b/15/l\303\266sungen.hs" @@ -0,0 +1,10 @@ +data Set = Union Set Set | Intersection Set Set | Complement Set | Set Char deriving Show + + +deMorgan (Complement (Union a b)) = Intersection (Complement a) (Complement b) +deMorgan (Complement (Intersection a b)) = Union (Complement a) (Complement b) + +deMorgan (Complement x) = Complement (deMorgan x) +deMorgan (Intersection x y) = Intersection (deMorgan x) (deMorgan y) +deMorgan (Union x y) = Union (deMorgan x) (deMorgan y) +deMorgan x = x -- GitLab