Footnote

The conjunction of one or more assumptions is represented as an integer, with one bit representing each assumption. A disjunction is represented as an array of integers. This representation facilitates the use of bit manipulation operations such as "AND" and "OR", which are particularly fast when there are a fairly small number of assumptions (but Smalltalk can represent integers of an arbitrary size and manipulate them reasonably quickly).