There are several types of incompleteness in NEOCLASSIC that need to be mentioned. For concept processing, subsumption is incomplete in several ways. Some of these incompletenesses also apply to individual processing. In addition, there are some incompletenesses in rule processing and propagations for individuals. These types of incompleteness are all discussed below.
Test descriptions are treated as black boxes, in the same way as primitive concepts are. In fact there is really no way for NEOCLASSIC to determine the meaning of test descriptions. For example, the built-in HOST concept Integer contains the test description (testH integerp). If the concept EvenInteger is defined as (testH evenp), then it will not be classified under Integer, because NEOCLASSIC does not know that anything which satisfies the evenp test must also be an Integer. To truely define EvenInteger it must be defined using Integer (see Sections 2.1 and 2.2), as EvenInteger is:
Also, with respect to concept subsumption, CLASSIC individuals are treated as having no properties. The reason for this is that the concept hierarchy should not change when individuals change (concept definitions cannot change). This impacts the two operators fills and oneOf.
If the individual Mary is known to be an Athlete, and concept C is the description of someone whose only child is Mary
Even if the properties of individuals are implied by the presence of these individuals in concept descriptions, NEOCLASSIC doesn't take these properties into account. For example, suppose that concept C1 is defined as
(and (fills child Sally) (all child Athlete) (fills friend Sally) (atMost 1 friend))
As a more complex example, suppose that Susan is known to have Bob as a client and David is known to have Bill as a client. Let C1 be defined as
(and Company (atLeast 1 employee) (all employee (fills client Jack)) (all employee (oneOf Susan David)) (all contractor (atMost 1 client)) (all contractor (oneOf Susan David)))
The above non-subsumptions are not really incompletenesses in NEOCLASSIC, as the standard definition of subsumption ignores contingent properties of individuals. However, NEOCLASSIC is incomplete with respect to this standard definition because it ignores properties of individuals that are implied by their presence in descriptions. For example, if C3 was defined as
(and Company (atLeast 1 employee) (all employee (fills client Jack)) (all employee (oneOf Susan David)) (all contractor (atMost 1 client)) (all contractor (oneOf Susan David)) (fills r Susan) (all r (fills client Bob)) (fills s David) (all s (fills client Bill)))
To detect this subsumption, NEOCLASSIC would have to determine that either Susan or David must be an Employee; if Susan is an Employee, then she can't be a Contractor because she has to have at least 2 clients; if David is an Employee, then he can't be a Contractor because he has to have at least 2 clients. This reasoning by cases is computationally difficult, which is one reason it is not implemented in NEOCLASSIC.
As another example, suppose that the concept C4 is defined as
(and (fills child Sally) (all child Athlete) (fills friend Sally) (atMost 1 friend))
HOST oneOf descriptions do not have the same types of incompleteness as CLASSIC oneOf descriptions, because the properties of HOST individuals do not change. A HOST concept containing only a oneOf description may be classified under a concept containing a test description, if all the HOST individuals in the oneOf description satisfy the test description. In addition, a HOST concept containing only a oneOf description can be classified under a concept containing an interval description, if the oneOf description contains only numbers, and they are all within the specified interval.
The incompletenesses in concept subsumption can appear when determining whether or not an individual satisfies a concept description. This is because all restrictions on individuals are handled as concepts, not as descriptions of individuals. Suppose that the individual Sam is known to be a Vegetarian, and that the individual Mary is defined as someone all of whose friends have Sam as a teacher, and no one else:
(all friend (and (fills teacher Sam) (atMost 1 teacher)))
Both rules and propagations are performed only on known instances. Thus, if NEOCLASSIC knows that all Mary's sisters are Athletes, and she has at least 1 sister, it does not create a skolem individual representing the sister, in order to reason about it.
Rules in NEOCLASSIC are treated only as forward-chaining inferences, not as logical inferences. Thus, there is a rule stating that if someone is a Vegetarian, then he is known to be a HealthyThing, and NEOCLASSIC knows that Joe is an UnhealthyThing (a concept disjoint from HealthyThing), it does not infer that Joe is not a Vegetarian.