Role-Class is a meta-class. Its instances are classes defined to be the set of all Entities playing a particular Role in some Relation.To the extent that updates may occur which change the particular set of tuples comprising a relation, being an instance of such a class is dynamically determined.
(<=> (Role-Class ?X)
(Exists (?R ?N)
(And (Relation ?R)
(Natural ?N)
(Forall (?Z)
(<=> (Instance-Of ?Z ?X)
(Exists (?Args)
(And (List ?Args)
(Holds ?R ?Args)
(= (Nth ?Args ?N) ?Z))))))))
(<=> (Qua-Entity ?X0)
(Exists (?Rc) (And (Role-Class ?Rc) (Instance-Of ?X0 ?Rc))))