Description: This syntax construction states that a variable x , which has been
declared to be a setvar variable by $f statement vx, is also a class
expression. This can be justified informally as follows. We know that
the class builder { y | y e. x } is a class by cab . Since (when
y is distinct from x ) we have x = { y | y e. x } by
cvjust , we can argue that the syntax " class x " can be viewed as
an abbreviation for " class { y | y e. x } ". See the discussion
under the definition of class in Jech p. 4 showing that "Every set can
be considered to be a class".

While it is tempting and perhaps occasionally useful to view cv as a
"type conversion" from a setvar variable to a class variable, keep in
mind that cv is intrinsically no different from any other
class-building syntax such as cab , cun , or c0 .

For a general discussion of the theory of classes and the role of cv ,
see mmset.html#class .

(The description above applies to set theory, not predicate calculus.
The purpose of introducing class x here, and not in set theory where
it belongs, is to allow us to express, i.e., "prove", the weq of
predicate calculus from the wceq of set theory, so that we do not
overload the = connective with two syntax definitions. This is done
to prevent ambiguity that would complicate some Metamath parsers.)