Class C is a subclass of parent class P if and only if every instance of C is also an instance of P. A class may have multiple superclasses and subclasses. Subclass-of is transitive: if (subclass-of C1 C2) and (subclass-of C2 C3) then (subclass-of C1 C3).Object-centered systems sometimes distinguish between a subclass-of relationship that is asserted and one that is inferred. For example, (subclass-of C1 C3) might be inferred from asserting (subclass-of C1 C2) and (subclass-of C2 C3). The functional interfaces to such systems might call the asserted form something like `parents' and the inferred form `ancestors'. However, both are logically identical to subclass-of; distinctions based on inference procedures and the current state of the knowledge base are not captured in this ontology.
(<=> (Subclass-Of ?Child-Class ?Parent-Class) (And (Class ?Parent-Class) (Class ?Child-Class) (Forall (?Instance) (=> (Instance-Of ?Instance ?Child-Class) (Instance-Of ?Instance ?Parent-Class)))))
(Subclass-Of Class Relation) (Subclass-Of Individual-Thing Individual) (Subclass-Of Individual-Thing Thing) (=> (And (Holds ?R ?X ?C1) (Subclass-Of ?C1 ?C2)) (Holds ?R ?X ?C2)) (Subclass-Of Inherited-Through-Class-Of-Relation Binary-Relation) (<=> (Inherited-Through-Class-Of-Relation ?R) (And (Binary-Relation ?R) (=> (And (Holds ?R ?X ?C1) (Subclass-Of ?C1 ?C2)) (Holds ?R ?X ?C2)))) (<= (Instance-Of $Arg1 $Class2) (And (Instance-Of $Arg1 $Class1) (Subclass-Of $Class1 $Class2))) (<= (Subclass-Of $Arg1 $Arg3) (And (Subclass-Of $Arg1 $Arg2) (Subclass-Of $Arg2 $Arg3))) (=> (Subclass-Of $X $Y) (Class $X)) (=> (Subclass-Of $X $Y) (Class $Y)) (<=> (Subclass-Of ?Child-Class ?Parent-Class) (And (Class ?Parent-Class) (Class ?Child-Class) (Forall (?Instance) (=> (Instance-Of ?Instance ?Child-Class) (Instance-Of ?Instance ?Parent-Class))))) (<=> (Superclass-Of $Arg1 $Arg2) (Subclass-Of $Arg2 $Arg1)) (Inverse Superclass-Of Subclass-Of) (=> (Direct-Instance-Of ?Individual ?Class) (<= (Not (Exists (?Other-Class) (And (Not (= ?Other-Class ?Class)) (Instance-Of ?Individual ?Other-Class) (Subclass-Of ?Other-Class ?Class)))) (Not (Provable (Not (Not (Exists (?Other-Class) (And (Not (= ?Other-Class ?Class)) (Instance-Of ?Individual ?Other-Class) (Subclass-Of ?Other-Class ?Class))))))))) (Subrelation-Of Direct-Subclass-Of Subclass-Of) (=> (Direct-Subclass-Of ?Child-Class ?Parent-Class) (<= (Not (Exists (?Other-Class) (And (Not (= ?Other-Class ?Child-Class)) (Not (= ?Other-Class ?Parent-Class)) (Subclass-Of ?Child-Class ?Other-Class) (Subclass-Of ?Other-Class ?Parent-Class)))) (Not (Provable (Not (Not (Exists (?Other-Class) (And (Not (= ?Other-Class ?Child-Class)) (Not (= ?Other-Class ?Parent-Class)) (Subclass-Of ?Child-Class ?Other-Class) (Subclass-Of ?Other-Class ?Parent-Class))))))))) (<=> (Onto ?Relation ?Range-Class) (Subclass-Of (Exact-Range ?Relation) ?Range-Class)) (<=> (Domain ?Relation ?Restriction) (And (Binary-Relation ?Relation) (Class ?Restriction) (Subclass-Of (Exact-Domain ?Relation) ?Restriction))) (<=> (Range ?Relation ?Type) (And (Relation ?Relation) (Class ?Type) (Subclass-Of (Exact-Range ?Relation) ?Type))) (Subclass-Of Class-Partition Set) (<=> (Subclass-Partition ?C ?Class-Partition) (And (Class ?C) (Class-Partition ?Class-Partition) (Forall (?Subclass) (=> (Member ?Subclass ?Class-Partition) (Subclass-Of ?Subclass ?C))))) (Subclass-Of Symmetric-Relation Binary-Relation) (Subclass-Of Antisymmetric-Relation Binary-Relation) (Subclass-Of Asymmetric-Relation Irreflexive-Relation) (Subclass-Of Asymmetric-Relation Antisymmetric-Relation) (Subclass-Of Reflexive-Relation Binary-Relation) (Subclass-Of Irreflexive-Relation Binary-Relation) (Subclass-Of Transitive-Relation Binary-Relation) (Subclass-Of Weak-Transitive-Relation Binary-Relation) (Subclass-Of One-To-One-Relation Unary-Function) (Subclass-Of Many-To-One-Relation Function) (Subclass-Of Many-To-One-Relation Binary-Relation) (Subclass-Of One-To-Many-Relation Binary-Relation) (Subclass-Of Many-To-Many-Relation Binary-Relation) (Subclass-Of Equivalence-Relation Transitive-Relation) (Subclass-Of Equivalence-Relation Symmetric-Relation) (Subclass-Of Equivalence-Relation Reflexive-Relation) (Subclass-Of Partial-Order-Relation Transitive-Relation) (Subclass-Of Partial-Order-Relation Asymmetric-Relation) (Subclass-Of Partial-Order-Relation Reflexive-Relation) (Subclass-Of Total-Order-Relation Partial-Order-Relation)
In the KL-ONE literature, subclass relationships are also called subsumption relationships and ISA is sometimes used for subclass-of.
Because the latter are ambiguous about the order of their arguments. We are following the naming convention that a binary relationship is read as an english sentence `Domain-element Relation-name Range-value'. Thus, `person subclass-of animal' rather than `person superclass animal'.