#1. Basic terms and conventions. Attachment of a particular object to a vertex in the association net may be either recorded in the formal representation of the net or not recorded; in the latter case the vertex is called a node of the net. All nodes are treated equally; there is no way to specify a particular node. The nodes are related to objects in a particular situation, but this is not reflected in the formal representation; it belongs to the interpretation level.

A name of a notion may be formally attached to a net vertex; this kind of vertex is termed atom, and such a vertex can be uniquely identified by means of this name. One may think that for any possible name the net has an atom that existed ever before (actually the atom is constructed at the first mention of the name in some procedure, but the procedure has no way of knowing whether this atom existed before). The implementation allows atom names formed according to the rules of OS ES (a version of OS/360 and OS/ 370), i.e., sequences of letters and digits not exceeding 8 in length and beginning with a letter (letters are all uppercase Latin letters and the characters $, @, #; the names beginning with # are reserved for system use).

At last, there can be some special type of object, defined in the problem area, attached to a net vertex. One may introduce new types of such objects.

There are three predefined types of such objects usable in anc problem area, viz., integers (in this implementation in the range from -2**23 to 2**23-1), character strings (one can print or compare them to each other), and procedures (treated at length in #3).

The implementation does not allow arcs outgoing from vertices corresponding to special types of objects. Arcs may only go from nodes or atoms and may lead to any vertex.

An object attached to a net arc is called the name of the arc. Usually an arc name is the name of some atom, and then the arc name is not distinguished from the atom; an arc name may be a positive integer as well. An arc may have no name at all (the implementation ascribes it name zero), such an arc is called unnamed.

It is not allowed for one vertex (a node or an atom) to have two outgoing arcs with equal names (a similar rule was introduced in [1]). This rule does not apply to unnamed arcs, there may be any number of unnamed arcs starting from the same vertex.

A named arc starting from a vertex is termed an attribute of this vertex; the name of the arc is termed the attribute name, and the vertex to which the arc goes the attribute value. The preceding rule means that for any vertex every attribute name defines an unique, if any, attribute value. If in an interpretation a particular object is related to the vertex, an attribute is interpreted as a statement that the object has a property with the respective name and value (e.g., length is 10 m).

An interpretation may relate a vertex to a set, and then every unnamed arc, issuing from the vertex is interpreted as a statement that the object related to the end vertex of the arc is a member of the set. In other words, an unnamed arc represents the relationship "set -- element". Presence of unnamed arcs issuing from a vertex does not preclude it from having named arcs; a set can have not only elements but also some properties as a whole (e.g., cardinality).

Unnamed arcs can be also used to represent one-to-many relationships (e.g., "a person -- his/her children"); to do this one has to introduce an intermediate node representing the set of all children of the person, and to draw an arc to it named "children" from the node representing the person.

The statements related to arcs, named or not, issuing from a vertex will be also called facts, pertaining to the object related to the vertex. Every fact has one more property, the status, to be treated in #7.

For an example we present in form of a net the distinctive marks of Grishka Otrepyev (from the play "Boris Godunov" by A.S.Pushkin): "His age is 20 ..., his stature is small, the chest is broad, one hand is shorter than the other, the eyes are blue, the hair is red, a wart on a cheek, another one on the forehead" (pic.3). This example not only shows the ways of representing information in the form of a net but also testifies to vagueness and tentativity of every particular way of representation. Each of the notion names used here may well be criticized as imprecise or ill-chosen, whereas the formal system requires that every name be an unchangeable elementary object distinct from any other object. It is clear that any accepted set of names (primitives) will be good only for a specific problem area and for a specific type of tasks. As for the mentioned example, acceptability of the notions used can be confirmed by another example from the same "problem area", the marks of Vladimir Dubrovsky from A.S.Pushkin's story "Dubrovsky": "... aged 23, stature medium, face neat, beard shaven, eyes are hazel, hair light brown, nose straight. Special marks: such marks not found" (the highlighted words are so marked in the original text).

In general, if one attempts to develop a workable system rather than a toy model, it is unwise to build on a set of notions and data conventions chosen once and forever (e.g. on a rigid database scheme and "universal" classifications of items); an example of this is failure of rigidly structured computer-aided management systems. One should be ready not only to future changes of the set of notions but also to a condition when different parts of the system use slightly different notion systems requiring additional translation for mutual communication. The way of data representation proposed in this paper is intended for this kind of tasks; a similar method is described in [6].

In order to represent in the net a relationship not amounting to a simple "label" and subject to future refinement a special node should be introduced for every pair of objects having this relationship, from this node arcs should be drawn to both objects with names representing the roles of the objects in the relationship, and then attributes may be attached to the node for further refinement. The same method can be used to represent polyadic relations.

Arcs with the name "kind" used here to represent membership of an object in a class (in some papers a similar relation is named "is a") are just one of available methods to represent this fact. If we are not only interested in formal recording of facts but also want to use them for solving problems (i.e., if we want procedural representation of knowledge), a different method, described in #5, is preferrable.