diff options
author | Mart Lubbers | 2015-02-06 08:39:37 +0100 |
---|---|---|
committer | Mart Lubbers | 2015-02-06 08:39:37 +0100 |
commit | 379b6353396ca2401241d714733d570629835ffe (patch) | |
tree | 26652c854a79c627b5f50bc8ac26f9b84f8e196d /files/practicum/BewijsMeppenEnTippen.icl | |
parent | Merge branch 'master' of https://github.com/dopefishh/fp1 (diff) |
added practicum files, updated gitignore
Diffstat (limited to 'files/practicum/BewijsMeppenEnTippen.icl')
-rw-r--r-- | files/practicum/BewijsMeppenEnTippen.icl | 29 |
1 files changed, 29 insertions, 0 deletions
diff --git a/files/practicum/BewijsMeppenEnTippen.icl b/files/practicum/BewijsMeppenEnTippen.icl new file mode 100644 index 0000000..720ff4d --- /dev/null +++ b/files/practicum/BewijsMeppenEnTippen.icl @@ -0,0 +1,29 @@ +Zij gegeven:
+
+:: BTree a = Tip a | Bin (BTree a) (BTree a)
+
+map :: (a -> b) [a] -> [b]
+map f [] = [] (1.)
+map f [x:xs] = [f x : map f xs] (2.)
+
+mapbtree :: (a -> b) (BTree a) -> BTree b
+mapbtree f (Tip a) = Tip (f a) (3.)
+mapbtree f (Bin t1 t2) = Bin (mapbtree f t1) (mapbtree f t2) (4.)
+
+foldbtree :: (a a -> a) (BTree a) -> a
+foldbtree f (Tip x) = x (5.)
+foldbtree f (Bin t1 t2) = f (foldbtree f t1) (foldbtree f t2) (6.)
+
+tips :: (BTree a) -> [a]
+tips t = foldbtree (++) (mapbtree unit t) (7.)
+
+unit :: a -> [a]
+unit x = [x] (8.)
+
+
+Te bewijzen:
+ voor alle functies f, voor alle eindige bomen t:
+
+ map f (tips t) = tips (mapbtree f t)
+
+Bewijs:
|