This is an old revision of the document!
1.
(APP1) append(Empty, l) = l (APP2) append(Cons(x, xs), l) = Cons(x, append(xs, l))
(REV1) reverse(Empty) = Empty (REV2) reverse(Cons(x, xs)) = append(reverse(xs), Cons(x, Empty))
2.
(M1) mirror(Nil) = Nil (M2) mirror(Node(e, l, r)) = Node(e, mirror(r), mirror(l))
(F1) flatten(Nil) = Empty (F2) flatten(Node(e, l, r)) = Cons(e, append(flatten(l), flatten(r)))
3.
(UPD1) update(MEmpty, k, v) = Insert((k, v), MEmpty) (UPD2) update(Insert((k, v), m), k', v') = if k = k' then Insert((k, v'), m) else Insert((k, v), update(m, k', v'))
(DEL1) delete(MEmpty, k) = MEmpty (DEL2) delete(Insert((k, v), m), k') = if k = k' then m else Insert((k, v), delete(m, k'))