Recursively saturated and rather classless

A mathematics blog by Kameryn Williams

Minimal models for second-order set theories

This is a contributed talk at the 2018 ASL North American Annual Meeting on 17 May 2018.

Shepherdson and, independently, Cohen showed that there is a least transitive model of \mathsf{ZFC}, i.e. a transitive model of \mathsf{ZFC} which is contained inside every transitive model of \mathsf{ZFC}. An analogous question can be asked of other set theories. I will consider second-order set theories, those which have both sets and classes as their objects. It was known to Shepherdson that von Neumann–Bernays–Gödel set theory \mathsf{NBG} has a smallest transitive model. I will show that this phenomenon fails for stronger second-order set theories: there is no least transitive model of Kelley–Morse set theory \mathsf{KM}. Indeed, there is no least transitive model of \mathsf{NBG} + \Pi^1_1-Comprehension, nor any computably enumerable extension thereof. On the other hand, fragments of \mathsf{NBG} + Elementary Transfinite Recursion, which sit between \mathsf{NBG} and \Pi^1_1-Comprehension in consistency strength, do have least transitive models.


Every countable model of set theory end-extends to a model of V = L

This theorem has popped up in my life a few times in the past week, and it’s one of the coolest results I know of, so I wanted to share it with the world.

Theorem (Barwise): Every countable transitive model of \mathsf{ZF} has an end-extension to a model of \mathsf{ZFC} + V = L.

If M and N are models of set theory then N is an end-extension of M if for every a \in M and every b \in N if N \models b \in a then b \in M. That is, any new elements in N cannot appear as members of old elements, and must come at the end of the epsilon relation. It’s easy to see that if N is an elementary end extension of M then in fact N is a rank-extension of M—every new element has rank above the ordinals of M. But if we don’t have elementarity then an end-extension can be quite far from a rank-extension. For instance, if M is an inner model of N then N end-extends M.

If you’re like me when I first learned of this result, your reaction at this point is probably disbelief. So let’s see why Barwise’s theorem is true. We will use the following version of Shoenfield’s lemma.

Lemma (Shoenfield): Work over \mathsf{ZF} and let \varphi be a \Sigma_1 formula without parameters. Then \varphi implies \varphi^L.

Let me give a proof that assumes a fragment of choice. Chapter V.8 of Barwise’s Admissible Sets and Structures has a proof that goes through without using any choice. (Thanks to Asaf Karagila for catching my mistake here.)

Proof: The usual version of Shoenfield’s lemma is that (lightface) \Sigma^1_2 formulae, i.e. formulae of the form “there is a real so that for all reals some arithmetical property (without parameters) holds”, are absolute between V and L. Let’s see how to get this other form.

Suppose that \varphi = \exists x \psi(x) is true, where \psi(x) only has bounded quantifiers. Then if A is any transitive set containing a witness for \psi(x) we have A \models \varphi. There must be such A, so by downward Löwenheim–Skolem we get a countable transitive A so that A \models \varphi. But the assertion that there is countable such A is \Sigma^1_2—there is a real coding a well-founded structure so that blah blah. So it must also be true in L that there is such an A. And \Sigma_1 things are upward absolute between transitive models, so L \models \varphi, as desired.

We can now prove Barwise’s theorem.

Proof of Barwise’s theorem: Let M \models \mathsf{ZF} be countable and transitive. We will consider a theory  in the logic \mathcal L_M, the countable admissible fragment of \mathcal L_{\infty,\omega} associated with M (that is, \mathcal L_M = (\mathcal L_{\infty,\omega})^M). Namely, our theory T has as axioms:

  • Each axiom of \mathsf{ZF} and
  • The infinitary \in-diagram of M, i.e. all sentences of the form x \in a \Leftrightarrow \bigvee_{b \in a} x = b, where “x = b” is an abbreviation for the \mathcal L_M-formula defining b. (Think of how every hereditarily finite set is definable in \mathcal L_{\omega,\omega}.)

Then T is definable over M by a \Sigma_1 formula \tau(x). The point of including the infinitary \in-diagram of M in T is that it ensures that any model of T must end-extend M.

Now suppose towards a contradiction that there is no model of T + V = L. Thus, T \models V \ne L. So by the Barwise completeness theorem we get that T \vdash V \ne L is true in M. (This is where we use the assumption that M is countable.) Similar to how ordinary proofs in first-order logic can only use finitely many axioms, infinitary proofs can only use set-many axioms. So M thinks that there is a proof of V \ne L from the axioms of T which only uses set-many axioms. A bit more formally, M satisfies that there is a set \Phi so that every x \in \Phi has \tau(x) and there is an infinitary proof of \bigwedge \Phi \Rightarrow V \ne L. Stare at that for a moment and convince yourself that this is a \Sigma_1 assertion (because it is \Sigma_1 to say that there is an infinitary proof of such and such).

By Shoenfield, we get that L^M satisfies the same thing. And in L^M we have that \tau(x) defines the \mathcal L_{L^M}-theory whose axioms are \mathsf{ZF} and the infinitary \in-diagram of L^M. Call this theory T'. So we get that there is T_0 \subseteq T' with T_0 \in L^M so that T_0 \models V \ne L. But this is impossible, since L^M \models T_0 + V=L. So our original assumption that T + V = L has no model must be false, so M has an end-extension to a model of \mathsf{ZFC} + V=L.

Let me put a horizontal rule here to indicate that you should pause for a moment to appreciate the beauty of Barwise’s proof.

Why isn’t this theorem paradoxical? Suppose we started with, say, a countable transitive model of \mathsf{ZFC} + 0^\sharp exists, where this model has the real 0^\sharp. How could we possibly end-extend to a model of V = L? Wouldn’t that contradict the well-known fact that 0^\sharp is not in L?

The answer is that the end-extension Barwise gives us must, in this case, be nonstandard. Our end-extension sees the real 0^\sharp and thinks that it is constructible, but it only shows up in L_\alpha for some ersatz, ill-founded ‘ordinal’ \alpha. As a consequence, the end-extension does not recognize that the set we externally can see is 0^\sharp really is 0^\sharp. It thinks it’s just some constructible real. Similarly, we could start with a model which has measurable cardinals, or supercompact cardinals, or any other creature of the higher infinite, and the end-extension will think that all the witnessing measures are constructible (but appearing at some nonstandard stage in the construction of L).

So what Barwise gives us is another example of the nonabsoluteness phenomenon for nonstandard models. The classical example of this is provability, where end-extending a model of arithmetic can change what is provable. The standard model thinks that there is no proof of 0=1 from the axioms of Peano arithmetic, but if we end extend to the right nonstandard model we can get such a ‘proof’. Or phrased in terms of Turing machines: the TM which searches for a proof of 0=1 from the axioms of PA doesn’t halt. But it can halt if we wait a nonstandard amount of time (in the right model). And in light of Koepke’s work on the connection between infinite time&space Turing machines and constructibility, the Barwise phenomenon can also be phrased in terms of computability: While 0^\sharp is not computable (from finitely many ordinal parameters) by a Turing machine with <\mathrm{Ord} time and space, it does become ‘computable’ if we allow a nonstandard amount of time and space (in the right model).

Finally, let me remark that Barwise’s theorem also holds for countable ill-founded models. But the proof requires going through the admissible cover. This is a rather fantastic piece of machinery (also due to Barwise), but expositing it would be too much for this blog post. See the appendix to Barwise’s Admissible Sets and Structures for facts about the admissible cover, as well as a proof for the ill-founded version of his theorem.


The structure of models of second-order set theories

This is my PhD dissertation.

[PDF] [arXiv] [CUNY Academic Works (forthcoming)] [bibTeX]

Abstract. This dissertation is a contribution to the project of second-order set theory, which has seen a revival in recent years. The approach is to understand second-order set theory by studying the structure of models of second-order set theories. The main results are the following, organized by chapter. First, I investigate the poset of T-realizations of a fixed countable model of ZFC, where T is a reasonable second-order set theory such as GBC or KM, showing that it has a rich structure. In particular, every countable partial order embeds into this structure. Moreover, we can arrange so that these embedding preserve the existence/nonexistence of upper bounds, at least for finite partial orders. Second I generalize some constructions of Marek and Mostowski from KM to weaker theories. They showed that every model of KM plus the Class Collection schema “unrolls” to a model of ZFC with a largest cardinal. I calculate the theories of the unrolling for a variety of second-order set theories, going as weak as GBC + ETR. I also show that being T-realizable goes down to submodels for a broad selection of second-order set theories T. Third, I show that there is a hierarchy of transfinite recursion principles ranging in strength from GBC to KM. This hierarchy is ordered first by the complexity of the properties allowed in the recursions and second by the allowed heights of the recursions. Fourth, I investigate the question of which second-order set theories have least models. I show that strong theories—such as KM or \Pi^1_1-CA—do not have least transitive models, while weaker theories—from GBC to GBC + ETROrd—do have least transitive models.



author = {Kameryn J Williams},
title = {The structure of models of second-order set theories},
school = {The Graduate Center, The City University of New York},
year = {2018},
eprint = {1804.09526},
archivePrefix ={arXiv},
primaryClass = {math.LO},
url = {},

Forcing classes to have the same size

Work in second-order set theory. If Global Choice holds, then all proper classes have the same size. There is a bijection between V and \mathrm{Ord} so by restricting that bijection to A \subseteq V we get a bijection between A and a proper-class sized subclass of \mathrm{Ord}, which is of course in bijection with \mathrm{Ord}. But if Global Choice fails then there can be classes of different size. For example, consider an inaccessible cardinal \kappa so that V_\kappa does not have a definable global well-order. Then V_\kappa equipped with its definable subsets as classes gives a model of Gödel–Bernays set theory (without Global Choice) whose \mathrm{Ord} (= \kappa) is not in bijective correspondence with its V (= V_\kappa).

Suppose we start out with Global Choice failing, and hence there being classes of different size. What happens if we try to force classes to have the same size?

Let’s start with a warm-up.

Proposition: Work in \mathsf{GB}^-, i.e. Gödel–Bernays set theory with neither Global Choice nor Powerset. If C \subseteq \mathrm{Ord}^M is generic for the forcing to add a Cohen-generic subclass of \mathrm{Ord}, then from C can be defined (in a first-order way) a global well-order of ordertype \mathrm{Ord}. In particular, all classes have the same size in the Cohen-extension.

Some remarks before the proof. First, to be clear, the Cohen poclass consists of set-sized partial functions from \mathrm{Ord} to 2, ordered by reverse inclusion. Second, in the absence of Powerset the various formulations of Global Choice are not equivalent. The version obtained from a Cohen-generic subclass of \mathrm{Ord} is the strongest. Having a global well-order of ordertype \mathrm{Ord} (equivalently, having a bijection from \mathrm{Ord} to V) is stronger than having a global well-order (of any ordertype), stronger than cardinal comparability for classes, and stronger than the existence of a global choice function. Whereas with Powerset they are all equivalent.

Proof: Every set is coded as a set of ordinals. This is because we can code a set x by taking an isomorphic copy of \mathord{\in} \upharpoonright \mathrm{TC}(\{x\}) as a set of pairs of ordinals. Since we have a definable pairing function for ordinals, we can code a set of pairs of ordinals as a set of ordinals. Now observe that by genericity every set of ordinals is coded into a Cohen-generic subclass of \mathrm{Ord}: if p is a condition in the forcing then extend p by adding a copy of (the characteristic function for) the set of ordinals starting above \sup \mathrm{dom}(p). So we can define a global well-order of order-type \mathrm{Ord} by saying that x < y if the first place in the generic C where x is coded comes before the first place in the generic where y is coded. ∎

The upshot of this proposition is that once you add a Cohen-generic subclass of \mathrm{Ord}, you’ve forced every class to have the same size. So if you want classes of different sizes you cannot add Cohen-generic subclasses of \mathrm{Ord}.

Let’s consider a more direct way to force two classes to have the same size. Let X and Y be proper classes. Define the partially-ordered class \mathbb B(X,Y) to consist of all set-sized partial injections from X to Y, ordered by reverse inclusion. By genericity, if B is generic for \mathbb B(X,Y) then every member of X is in its domain and every member of Y is in its range. So B will be a bijection between X and Y, forcing them to have the same size.

Before saying something about this \mathbb B(X,Y) forcing, I need a definition.

Definition: A proper class A is amorphous if there is no way to decompose A into a disjoint union of two proper classes.

This is modeled upon the definition of an amorphous set, i.e. an infinite set which cannot be decomposed into a disjoint union of two infinite sets. (Of course, a fragment of choice rules out the existence of amorphous sets.) Indeed, we can get models with amorphous classes by considering amorphous sets. Work in a universe with amorphous subsets of H_{\omega_1}. Then, (H_{\omega_1}, \mathcal P(H_{\omega_1})) is a model of \mathsf{GB}^- - \mathrm{Choice} which has amorphous classes.

Proposition: Suppose that the proper class Y is not amorphous. Then forcing with \mathbb B(\mathrm{Ord},Y) adds a Cohen-generic subclass of \mathrm{Ord}. Put as a slogan: forcing a non-amorphous class to be the same size as \mathrm{Ord} forces all classes to have the same size.

Proof: Let Y_0 and Y_1 be disjoint proper classes whose union is Y. We will use them to extract a Cohen-generic subclass of \mathrm{Ord} from a generic B for \mathbb B(\mathrm{Ord},Y). Specifically, define a function C : \mathrm{Ord} \to 2 as C(\alpha) = i iff B(\alpha) \in Y_i. More generally, any condition b \in \mathbb B(\mathrm{Ord},Y) defines a condition p(b) in the Cohen poclass; namely for \alpha \in \mathrm{dom}(b) define p(b)(\alpha) = i iff b(\alpha) \in Y_i. Because Y_0 and Y_1 are both proper classes this map b \mapsto p(b) is onto the Cohen poclass.

Let us see that this C is Cohen-generic. Take any dense subclass D of the Cohen poclass. Let D' = \{ b \in \mathbb B(\mathrm{Ord},Y) : \exists p \in D\ p = p(b) \}. This D' is a dense subclass of \mathbb B(\mathrm{Ord},Y). Otherwise, there would be b \in \mathbb B(\mathrm{Ord},Y) with no extension in D'. But then p(b) would have no extension in D, contradicting the density of D. Thus, since B meets D', we get that C meets D. As D was arbitrary, C is generic for the Cohen poclass. ∎

We can generalize this result. Instead of considering the class \mathrm{Ord} we can consider any class X \supseteq \mathrm{Ord}. We then work similarly, but define p(b) by first restricting b to \mathrm{Ord} and then checking whether b(\alpha) is in Y_0 or Y_1. And it clearly doesn’t matter which coordinate is first or second. So forcing with \mathbb B(X,Y) for either X \supseteq \mathrm{Ord} or Y \supseteq \mathrm{Ord} (and both non-amorphous) forces all classes to have the same size.

In summary, for a large collection of classes we would like to force to have the same size, doing so via the obvious poclass has the effect of making all classes have the same size. Does this always happen, even if neither class contains \mathrm{Ord}?

Question: Over \mathsf{GB}^-, must \mathbb B(X,Y) always force all classes to have the same size?

I’m not 100% clear on the role of amorphous classes here. I needed that my classes were not amorphous, but I suspect that this comes for free in my context. I strongly suspect the following question has a positive answer, but don’t have the choiceless set theory know-how to easily see a proof.

Question: Does \mathsf{GB}^- prove that there are no amorphous classes? That is, does having the axiom of choice for sets imply there are no amorphous classes?

A positive answer would be analogous to the ZF fact that countable choice implies there are no amorphous sets.

Forcing over arithmetic: a second-order approach

This will the inaugural talk in the CUNY Models of Peano Arithmetic seminar for the Spring 2018 semester. It will be Wednesday, February 7. See the temporary webpage for the seminar for more precise details.

Continuing a theme of previous talks in this seminar, I will talk about forcing over models of arithmetic. I will present a framework for forcing over models of \mathsf{ACA}_0, generalizing the approach (as seen in e.g. Kossak and Schmerl’s book) of looking at definable sets over a model of PA. This is analogous to the approach within set theory of developing class forcing in GBC, rather than using definable classes over ZFC. The main result I will present is that forcing preserves the axioms of \mathsf{ACA}_0 and, indeed, \Pi^1_k\text{-}\mathsf{CA}.

This is part of joint work with Corey Switzer about generalizing Kossak and Schmerl’s results about perfect generics. Stay tuned for further talks this semester.

Beta-models of ATR_0

This will be a talk for the CUNY MoPA seminar on Wednesday, November 29.

Recall that \mathsf{ATR}_0 is the subsystem of second-order arithmetic axiomatized by (basic axioms plus) arithmetical comprehension plus arithmetical transfinite recursion. Also recall that a beta-model of arithmetic is a model (\omega,\mathcal{X}) of second-order arithmetic which is correct about which of its set relations are well-founded. I will present a theorem, due to Simpson, that the intersection of all beta-models of \mathsf{ATR}_0 is the omega-model whose sets are the hyperarithmetical sets.

Killing truth

It is not difficult to construct models of \mathsf{ZFC} whose truth predicate is not strongly amenable, where X \subseteq M is strongly amenable if the structure (M,X) satisfies the Collection and Separation schemata in the expanded language. Namely, this can be accomplished by considering a pointwise definable model of \mathsf{ZFC}, such as the Shepherdson–Cohen least transitive model. The truth predicate for the model M reveals that it is countable, allowing one to define a surjection \omega^M \to M. This witnesses a failure of Replacement (in the expanded language).

On the other hand, one can find models whose truth predicate is strongly amenable. If (M,\mathcal X) \models \mathsf{GBC} contains the truth predicate for M then its truth predicate must be strongly amenable, due to the Class Replacement and Class Comprehension axioms of \mathsf{GBC}. In particular, if (M,\mathcal X) satisfies Kelley–Morse set theory (or any other second-order set theory which proves the existence of the truth predicate) then truth will be strongly amenable for M.

Let’s consider those models whose truth is strongly amenable. If we have a \mathsf{GBC}-realization for such a model can we always add more classes  (but not sets!) to expand it to a \mathsf{GBC} model which contains the truth predicate?

The answer is no. For countable models we can kill truth with the right \mathsf{GBC}-realization, so that no matter what new classes we add we cannot have the truth predicate without violating Class Replacement.

Proposition: Let M \models \mathsf{ZFC} be a countable \omega-model. Then there is a \mathsf{GBC}-realization \mathcal X \subseteq \mathcal P(M)  for M so that no \mathsf{GBC}-realization \mathcal Y \supseteq \mathcal X can contain the truth predicate for M.

The purpose of requiring M to have a well-founded \omega is the Krajewski phenomenon that countable \omega-nonstandard models of set theory which admit ‘truth predicates’ which measure the truth of all—internal, possibly nonstandard—formulae (full satisfaction classes, to use the jargon) admit continuum many different ones. So in such case there is not a unique object to kill off (indeed, it’s not sensible to speak of the truth predicate for M in the absence of an already-fixed second-order part) and the situation becomes much trickier.

But more on that later. Let’s see why this proposition is true.

Proof: Suppose that truth is strongly amenable for M. Otherwise, no \mathsf{GBC}-realization for M can contain the truth predicate and there is nothing to prove. We will produce the desired \mathcal X by adding a carefully constructed Cohen-generic subclass of \mathrm{Ord}. Let \mathbb C be this class forcing, i.e. the partially ordered class consisting of set-sized partial functions \mathrm{Ord} \to 2, ordered by reverse inclusion. This forcing is \kappa-closed and \kappa-distributive for every cardinal \kappa so it does not add new sets.

Claim: There is a sequence \langle D_i : i \in \mathrm{Ord} \rangle of definable dense subclasses of \mathbb C which is (1) definable from the truth predicate for M and (2) meeting every D_i is sufficient to guarantee a filter is generic over M.

It is clear that the collection of dense subclasses of \mathbb C is definable from the truth predicate; the truth predicate allows one to see whether \varphi(x,a) defines a dense subclass of \mathbb C and so the whole collection can be indexed by (\varphi, a). The trick is to extract a sequence of ordertype \mathrm{Ord}. This is trivial if M has a definable global well-order, but in general this may not be true. In such case, use that \mathbb C is \kappa-distributive for every \kappa. So given a set-sized collection of dense subclasses we can find a single dense subclass below all of them. So we get the D_is as in the claim by taking D_i to be below all dense subclasses definable from parameters in V_i.

We will now use this \langle D_i : i \in \mathrm{Ord} \rangle to define a Cohen-generic subclass C of \mathrm{Ord}. Externally to the model, fix an \omega-sequence cofinal in \mathrm{Ord}^M. Think of this sequence as an \mathrm{Ord}^M-length binary sequence \langle b_i : i \in \mathrm{Ord} \rangle, consisting mostly of zeros with the rare one. This sequence is amenable over M, since its initial segments have only finitely many ones. On the other hand, it is not strongly amenable since from this sequence can be defined a cofinal map \omega \to \mathrm{Ord}, contradicting an instance of Replacement.

We build C in \mathrm{Ord}^M steps. Start with c_0 = \emptyset. Given c_i let c_{i+1}' = c_i {}^\smallfrown \langle b_i \rangle and then extend c_{i+1}' to c_{i+1} meeting D_i, where we require the extension to be minimal in length to meet D_i. (If there is more than one way to meet D_i of minimal length, choose between them arbitrarily.) At limit stages take unions of the previous stages. Finally, set C = \bigcup_{i \in \mathrm{Ord}} c_i. Then C is generic over M since it meets every D_i. But hidden within C is this bad sequence \langle b_i \rangle.

I claim now that from both C and the truth predicate for M one can define \langle b_i \rangle. This is done inductively. We know b_0 because it is the first bit of C. From the truth predicate we know the minimal amount we have to extend \langle b_0 \rangle in order to meet D_0, because the sequence \langle D_i \rangle is definable from the truth predicate. So we can recover c_1. We now repeat this process, discovering b_2 as the first bit of C after c_1 and thereby can define c_2 by knowing the minimal length we had to extend to meet D_2. And so on we define b_i and c_i for all i \in \mathrm{Ord}^M. So if we have access to both C and the truth predicate then we can define the sequence \langle b_i \rangle.

But if we can define the bad sequence then our model must fail to satisfy Class Replacement. Thus, there can be no \mathsf{GBC}-realization for $M$ which contains both C and the truth predicate for M. So \mathrm{Def}(M;C) is a \mathsf{GBC}-realization for M which cannot be extended to a \mathsf{GBC}-realization which contains the truth predicate, as desired. (To see (M,\mathrm{Def}(M;C)) \models \mathsf{GBC} observe that every Cohen-generic subclass of \mathrm{Ord} codes a global well-order by comparing where each set is first coded into the generic.) ∎

As mentioned above, Kelley–Morse proves the existence of the truth predicate for the first-order part, as do many much weaker theories. As a consequence we get \mathsf{GBC} models which cannot be expanded by adding classes to get a model of \mathsf{KM}, even if the first-order part has some other \mathsf{KM}-realization.

Corollary: Let M \models \mathsf{ZFC} be any countable \omega-model. Then M has a \mathsf{GBC}-realization which cannot be extended to a \mathsf{KM}-realization. The same is true if \mathsf{KM} is replaced by \mathsf{GBC} plus Elementary Transfinite Recursion, or even \mathsf{GBC} + \mathsf{ETR}_\omega.

What this result suggest is that it matters how one builds up one’s classes. It is not difficult to see that, say, \mathsf{KM} proves there exist classes of ordinals which are Cohen-generic over the definable classes. (The truth predicate lets us list the definable dense subclasses of the forcing, so they can be met one at a time.) So if we want to build up a model of \mathsf{KM} from a fixed universe of sets we must add Cohen-generics at some point. The above shows that it matters which generics we pick. One wrong step along the way and we stumble off the narrow path leading to paradise.

Observe that the proposition relativizes. Fixing a possible class X \subseteq M if X can be put in any \mathsf{GBC}-realization for M then there is a \mathsf{GBC}-realization for M containing X which cannot be extended to one containing the truth predicate relative to the parameter X. As a consequence, one can find \mathsf{GBC}-realizations for any strong enough countable \omega-model M which contain an iterated truth predicate of length \Gamma but which cannot be extended to a \mathsf{GBC}-realization containing an iterated truth prediacte of length \Gamma + 1.

As a coda, let me return \omega-nonstandard models. Here, things go badly. As mentioned earlier, Krajewski showed that if a countable \omega-nonstandard model of set theory admits a ‘truth predicate’ (full satisfaction class) then it admits continuum many different ones. So killing off one possible truth predicate will not immediately ensure that the classes cannot be expanded to include truth; perhaps some other full satisfaction class can be added to the classes to be truth. But a version of the above argument does show that we can kill off individual full satisfaction classes. (A strongly amenable full satisfaction class will tell us about dense subclasses of the Cohen-forcing which are ‘defined’ using a nonstandard formula, but it will also tell us about all the really definable dense subclasses, so it is good enough.) Can we kill off all the full satisfaction classes? I don’t (yet?) know!

Question: If M \models \mathsf{ZFC} is countable and \omega-nonstandard must it be the case that there is a \mathsf{GBC}-realization \mathcal X for M so that no matter how we expand \mathcal X we never get \mathcal Y so that (M,\mathcal Y) satisfies \mathsf{GBC} plus “there is a truth predicate for first-order truth”?