**Defined in theory: Frame-ontology****Source code: frame-ontology.lisp**

**Documentation:**A relation R is a subrelation-of relation R' if, viewed as sets, R is a subset of R'. In other words, every tuple of R is also a tuple of R'. In some more words, if R holds for some arguments arg_1, arg_2, ... arg_n, then R' holds for the same arguments. Thus, a relation and its subrelation must have the same arity, which could be undefined.

In CycL, subrelation-of is called #%genlSlots.

**Arity:**2**Domain:**Relation**Range:**Relation

(<=> (Subrelation-Of ?Child-Relation ?Parent-Relation) (And (Relation ?Child-Relation) (Relation ?Parent-Relation) (Forall (?Tuple) (=> (Member ?Tuple ?Child-Relation) (Member ?Tuple ?Parent-Relation)))))

- Do the arities of the relations have to match?
No. Used to be defined this way, but it was an unnecessary restriction. If the parent relation has a (fixed) arity, then the child's arity must be equal to it. However, the child could be of fixed arity and the parent undefined (variable) arity.