Previous Up Next

2  Logic

In simple terms, a logic is a language of formulas equiped with an generalization ordering called subsumption. Almost everything in Camelis is represented by formulas so that the various operations on a context can be expressed in a very uniform way. Formulas are used to describe the properties of an object, the features common to a set of objects, complex boolean queries, and updates.

Each Camelis application is given a custom logic L upon which are defined the various kinds of formulas. Each logic comes with the following elements: LD and LF may be equal to L. The subsumption is assumed to be consistent, complete between object descriptors and features, but not necessarily fully complete. This is necessary and sufficient to ensure that no object is misclassified. The update operations may be only partially defined.

From this low-level logic, top-level formulas can be defined as follows: Then the subsumption ordering is extended as follows: Finally the update operation is extended as follows: Logics may also be equipped with the operation axiom that takes two features f,g, and makes sure that fg. This enables some customization of the logic after it has been defined and linked with Camelis. Depending on the semantics of the logic, the introduction of one axiom may produce several subsumption relations or none.


Previous Up Next