# How to expand second-order ZFC to include classes?

The system of second-order $ZFC$, presented in Shapiro, "Foundations without Foundationalism", is formulated in second-order logic and includes the usual axioms of extensionality, foundation, pairs, unions, powerset, and infinity from $ZFC$, plus the second-order axiom of replacement:

$$\forall f\forall x\exists y\forall z(z\in y \iff \exists w(w\in x \land z=f(w)))$$

where $x,y,z,w$ are sets as usual, and $f$ is a function quantified over.

To these should be added an axiom of choice, since Shapiro takes choice to be part of his deductive system, however shows this is not really necessary and a deductive system without inherent choice can be contructed. In that case, we will have to add choice to our axioms of set-theory.

The resulting theory is very beautiful in my eyes; It has been discussed several times here that this theory is 'almost categorical', and that it is in some sense 'the most categorical' set theory will ever get.

My question, how can this theory be expanded to include classes in general? Like first-order $ZFC$ is expanded to include classes in MK set theory, I suppose this theory can also be expanded to accomodate classes. The primitive objects in the theory will be classes only, and the definition of a set can be carried over from MK set theory. However, it is very unclear to me how should the other axioms be changed to accomodate for classes without creating contradictions. How can this be done?

• Do you know second order arithmetic and how it can be derived/different from first order arithmetic? – Asaf Karagila Jan 5 '18 at 13:27
• @AsafKaragila Yes. I know a notion of sets is added in second order arithmetic to allow quantification over sets of natural numbers. I suppose the situation here is not entirely equivalent because second-order logic already allows for quantification over pretty much anything we want (and as such second-order ZFC is finitely axiomatized), and the reason we want to add classes isn't to quantify over something but rather so we can talk about arbitrarily large collections. – roymend Jan 5 '18 at 13:59
• Since you have second-order logic, don't unary predicate variables range over exactly all collections of sets, that is, classes? – Henning Makholm Jan 6 '18 at 5:24
• @roymend: Some form of comprehension is generally considered to come "built into" second-order logic itself. It is curiously difficult to find a concrete deductive system for second-order logic in a respectable online source, but Mendelson's Introduction to Mathematical Logic (4th ed) presents one as an appendix; it has a "comprehension schema" for predicates as a logical axiom. In any case, such an axiom is sound both in standard semantics and in Henkin semantics (there are fine accounts of SOL semantics to find), so it should be unproblematic to accept it as a logical axiom. – Henning Makholm Jan 6 '18 at 15:55
• I'm not sure it makes sense to consider it a failing that the comprehension schema is a schema; that is generally true for logical axioms in general -- e.g. even in a Hilbert system for propositional logic you need to view the logical axiom $\varphi\to(\psi\to\varphi)$ as a schema with infinitely many instances for different choices of $\varphi$ and $\psi$. – Henning Makholm Jan 6 '18 at 16:07