Consider the following type definition for binary trees of integers:
type Tree =
| Void
| Leaf of int
| Node of int*Tree*Tree
Define the following predicates:
- contains(T,X): T contains a node with the value X.
- count(T): the number of nodes in T.
- leaves(T): A set of all leaves in T.
- inorder(T): the in-order traversal of the nodes in T.