Date of Original Version



Technical Report

Rights Management

All Rights Reserved

Abstract or Description

Order-sorted feature (OSF) terms provide an adequate representation for objects as flexible records. They are sorted, attributed, possibly nested, structures, ordered thanks to a subsort ordering. Sort definitions offer the functionality of classes imposing structural constraints on objects. These constraints involve variable sorting and equations among feature paths, including self-reference. Formally, sort definitions may be seen as axioms forming an OSF theory. OSF theory unification is the process of normalizing an OSF term, using sort-unfolding to enforce structural constraints imposed on sorts by their definitions. It allows objects to inherit, and thus abide by, constraints from their classes. A formal system is thus obtained that logically models record objects with recursive class definitions accommodating multiple inheritance. We show that OSF theory unification is undecidable in general. However, we propose a set of confluent normalization rules which is complete for detecting inconsistency of an object with respect to an OSF theory. These rules translate into an efficient algorithm using structure-sharing and lazy constraint-checking. Furthermore, a subset consisting of all rules but one is confluent and terminating. This yields a practical complete normalization strategy, as well as an effective compilation scheme.