<class> ::= <class-name> | <class-constant>
| <class-function> "(" <names> ")"
| contains-operator "(" <operator> ")"
| contains-variable "(" <variable> ")"
| copy "(" <class-name> ")"
<class-name> ::= $ <simpleId>
<class-constant> ::= deduction-rules | formulas | induction-rules
| operator-theories | rewrite-rules | active | passive
| immune | nonimmune | ancestor-immune
<class-function> ::= ancestors | proper-ancestors | descendants
| proper-descendants | eval
$facts contains-operator(+) eval(* ~ $old)
A <class-name> (or <class>) appearing in an argument to a command other than define-class is replaced by its definition (or evaluated) when the command is executed. Evaluation in the define-class command can be forced using one of the following operators: