The difference is subtle but important. A which expression defines a new category. A necessary statement adds new information to an existing category. Put another way, the criteria in a which expression are sufficient to recognize a category, and the category cannot be recognised unless all of the criteria in the which expression are found. By contrast, a category can be recognised even though the information in a necessary statement is unknown, but it is added as soon as the category is recognized.
To take our example, we have said that CarOwners are necessarily old. We can recognize a CarOwner just because they own a Car, but as soon as we recognize them, we know that they must be old (or so says this model). If we find something which claims to be both a CarOwner and young, the system will attempt to add that the thing is old because of the necessary statement. This will cause an inconsistency and the system will report an error.
In summary, we can recognize something even if we are ignorant of the information in the necessary statements, but if we have information which contradicts the information in the necessary statements we have an inconsistency.
Angus Roberts is an expert in healthcare IT and HIPAA compliance. He has a strong expertise in AI and Cloud technologies and has been working with these technologies for the past decade. Angus is also a frequent speaker at conferences in the US and Europe on topics related to cloud, AI, healthcare IT, HIPAA compliance, cybersecurity, data privacy and more.