 Likewise, Kripke-style techniques can be applied to produce an interpretation for a truth predicate, starting with a classical language \(\mathcal{L}_0\) not containing a truth predicate. Again, an extension and anti-extension are assigned to \(\Tr\). Whereas Kripke’s original construction had the extension and anti-extension disjoint but not exhausting the domain, in this case we allow the extension and anti-extension to overlap, but suppose that the two together exhaust the domain of the model. This implements the idea of gluts, as the earlier version implemented the idea of gaps. Related techniques to Kripke’s can then be used to build an extension and anti-extension for \(\Tr\). The result is again an interpretation where \(A\) and \(\Tr(\left\ulcorner A\right\urcorner)\) get the same truth value in the model.