summaryrefslogtreecommitdiff
path: root/files/practicum/BewijsMapFlatten.icl
diff options
context:
space:
mode:
Diffstat (limited to 'files/practicum/BewijsMapFlatten.icl')
-rw-r--r--files/practicum/BewijsMapFlatten.icl30
1 files changed, 30 insertions, 0 deletions
diff --git a/files/practicum/BewijsMapFlatten.icl b/files/practicum/BewijsMapFlatten.icl
new file mode 100644
index 0000000..dc74766
--- /dev/null
+++ b/files/practicum/BewijsMapFlatten.icl
@@ -0,0 +1,30 @@
+Zij gegeven:
+
+(++) :: [a] [a] -> [a]
+(++) [] xs = xs (1)
+(++) [y:ys] xs = [y : ys ++ xs] (2)
+
+map :: (a -> b) [a] -> [b]
+map f [] = [] (3)
+map f [x:xs] = [f x : map f xs] (4)
+
+flatten :: [[a]] -> [a]
+flatten [] = [] (5)
+flatten [x:xs] = x ++ (flatten xs) (6)
+
+1.
+Te bewijzen:
+ voor iedere functie f, eindige lijst as en bs:
+
+ map f (as ++ bs) = (map f as) ++ (map f bs)
+
+Bewijs:
+
+
+2.
+Te bewijzen:
+ voor iedere functie f, voor iedere eindige lijst xs:
+
+ flatten (map (map f) xs) = map f (flatten xs)
+
+Bewijs: