Examples:
add : (N x N) ? N
graph(add) = {((0, 0), 0), ((1, 0), 1), ((0, 1), 1), ((1, 1), 2), ((2, 0), 2), ((2, 1), 3), ((2, 2), 4), …}
duplicate : R ? R x R, where R = {1, 4, 7}
graph (duplicate) = {(1, (1, 1)), (4, (4, 4)), (7, (7, 7))}
which : (B +N) ?S where S = { isbool, isnum}
graph (which) = {((zero, true), isbool), ((zero, false), isbool), ((one, 0), isnum), ((one, 1), isnum), ((one, 2), isnum), …}
graph(singleton) = {(0, {0}), (1, {1}), : : : , (n, {n}), …g}