diff --git a/15/induktion.txt b/15/induktion.txt new file mode 100644 index 0000000000000000000000000000000000000000..da8c7950b9af8bf10a1f1c8036abd5c3d859c71d --- /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 0000000000000000000000000000000000000000..ca13c754d0a682ef2c43230b46579bdfb94d8c0d --- /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