[1] Or inside a brain, a collective consciousness or perhaps some other KR system.

[2] The term `concept' is often used in the KR literature to mean only `type', but this is at odds with its normal meaning: e.g. every Canadian has a concept of Canada, which is not a type.

[3] To many people, the word `thing' connotes a physical object, however English speakers use the word something to refer to anything: e.g. actions: `We must do something' or properties: `Something bothered me about that house'.

[4] In fact, as will be seen in section 3, links (statements) are also shown on outline-format and matrix-format displays.

[5] Sometimes also called the `concept hierarchy', although this is misleading because all the hierarchies involve concepts.

[6] CODE2 had a facility to output statements in such an English-like form. We intend to reintroduce such a capability into CODE4.

[7] One might suspect infinite regress here: A statement has a value facet, which is a statement, which has a value facet etc. In practice no problem arises: When one asks for the value, one gets what is stored, the system does not actually look for a value facet; the value facet is virtual.

[8] Facet values are not to be confused with the value of a statement, which is a facet which holds the statement value, another name for the linguistic direct object. All other facets also have values, but these are not "values of the statement", and do not correspond to a direct object.

[9] This example is most interesting because it is wrong, yet many humans do not see the problem: the children of a person are only children when they are young. This illustrates the type of errors that occur frequently, yet we believe can only be realistically detected by humans.

[10] We intend to enhance the coverage.

[11] i.e. there is a danger that KIF-based knowledge can only be interpreted by Lisp-based systems.

[12] Smalltalk was chosen for a) ui flexibility, b) rapidity of development, c) platform independence.

[13] This example is discussed under "Applications"

[14] A harder situation to deal with is when the names are different but the properties are intended to be the same ('size' vs 'length') or hierarchically related (e.g. 'spouse' and 'husband' or 'wife'). This would require more sophisticated linguistic knowledge, something we intend to add.

[15] CODE3 was a Prolog version abandoned due to insufficient user interface capability.

[16] This example is taken from (Ghali 1993).

[17] Such distinctions are not required by CODE4, hence a user might chose to merge the design and implementation viewpoints, or have more than three as appropriate.