[ < ] | [ > ] |  | [ << ] | [ Up ] | [ >> ] |  |  |  |  | [Top] | [Contents] | [Index] | [ ? ]

#### 2.7.15.1 A Hierarchy of Sets

As indicated already, the virtual machine represents all functions and data as members of a set satisfying the properties in Raw Material, namely a `nil` element and a `cons` operator for constructing trees or nested pairs of `nil`. However, it will be necessary to distinguish the results of computations that go wrong for exceptional reasons from normal results. Because any tree in the set could conceivably represent a normal result, we need to go outside the set to find an unambiguous representation of exceptional results.

Because there may be many possible exceptional conditions, it will be helpful to have a large set of possible ways to encode them, and in fact there is no need to refrain from choosing a countably infinite set. Furthermore, it will be useful to distinguish between different levels of severity among exceptional conditions, so for this purpose a countably infinite hierarchy of mutually disjoint sets is used.

In order to build on the theory already developed, the set that has been used up to this point will form the bottom level of the hierarchy, and its members will represent normal computational results. The members of sets on the higher levels in the hierarchy represent exceptional results. To avoid ambiguity, the term “trees” is reserved for members of the bottom set, as in “for any tree `x` …”. Unless otherwise stated, variables like `x` and `y` are universally quantified over the bottom set only.

Because each set in the hierarchy is countably infinite, it is isomorphic to the bottom set. With respect to an arbitrary but fixed bijection between them, let `x_n` denote the image in the `n`th level set of a tree `x` in the bottom set. The level numbers in this notation start with zero, and we take `x_0` to be synonymous with `x`. For good measure, let `(x_n)_m` = `x_(n+m)`.

[ < ] | [ > ] |  | [ << ] | [ Up ] | [ >> ] |  |  |  |  | [Top] | [Contents] | [Index] | [ ? ]

This document was generated on November 8, 2012 using texi2html 1.82.