# Boolean-valued model

In mathematical logic, a **Boolean-valued model** is a generalization of the ordinary Tarskian notion of structure from model theory. In a Boolean-valued model, the truth values of propositions are not limited to "true" and "false", but instead take values in some fixed complete Boolean algebra.

Boolean-valued models were introduced by Dana Scott, Robert M. Solovay, and Petr Vopěnka in the 1960s in order to help understand Paul Cohen's method of forcing. They are also related to Heyting algebra semantics in intuitionistic logic.

## Definition

Fix a complete Boolean algebra *B*^{[1]} and a first-order language *L*; the signature of *L* will consist of a collection of constant symbols, function symbols, and relation symbols.

A Boolean-valued model for the language *L* consists of a universe *M*, which is a set of elements (or * names*), together with interpretations for the symbols. Specifically, the model must assign to each constant symbol of

*L*an element of

*M*, and to each

*n*-ary function symbol

*f*of

*L*and each

*n*-tuple <a

_{0},...,a

_{n-1}> of elements of

*M*, the model must assign an element of

*M*to the term

*f*(a

_{0},...,a

_{n-1}).

Interpretation of the atomic formulas of *L* is more complicated. To each pair *a* and *b* of elements of *M*, the model must assign a truth value ||*a*=*b*|| to the expression *a*=*b*; this truth value is taken from the Boolean algebra *B*. Similarly, for each *n*-ary relation symbol *R* of *L* and each *n*-tuple <a_{0},...,a_{n-1}> of elements of *M*, the model must assign an element of *B* to be the truth value ||*R*(a_{0},...,a_{n-1})||.

## Interpretation of other formulas and sentences

The truth values of the atomic formulas can be used to reconstruct the truth values of more complicated formulas, using the structure of the Boolean algebra. For propositional connectives, this is easy; one simply applies the corresponding Boolean operators to the truth values of the subformulae. For example, if φ(*x*) and ψ(*y*,*z*) are formulas with one and two free variables, respectively, and if *a*, *b*, *c* are elements of the model's universe to be substituted for *x*, *y*, and *z*, then the truth value of

is simply

The completeness of the Boolean algebra is required to define truth values for quantified formulas. If φ(*x*) is a formula with free variable *x* (and possibly other free variables that are suppressed), then

where the right-hand side is to be understood as the supremum in *B* of the set of all truth values ||φ(*a*)|| as *a* ranges over *M*.

The truth value of a formula is sometimes referred to as its probability. However, these are not probabilities in the ordinary sense, because they are not real numbers, but rather elements of the complete Boolean algebra *B*.

## Boolean-valued models of set theory

Given a complete Boolean algebra *B*^{[1]} there is a Boolean-valued model denoted by *V ^{B}*, which is the Boolean-valued analogue of the von Neumann universe

*V*. (Strictly speaking,

*V*is a proper class, so we need to reinterpret what it means to be a model appropriately.) Informally, the elements of

^{B}*V*are "Boolean-valued sets". Given an ordinary set

^{B}*A*, every set either is or is not a member; but given a Boolean-valued set, every set has a certain, fixed "probability" of being a member of

*A*. Again, the "probability" is an element of

*B*, not a real number. The concept of Boolean-valued sets resembles, but is not the same as, the notion of a fuzzy set.

The ("probabilistic") elements of the Boolean-valued set, in turn, are also Boolean-valued sets, whose elements are also Boolean-valued sets, and so on. In order to obtain a non-circular definition of Boolean-valued set, they are defined inductively in a hierarchy similar to the cumulative hierarchy. For each ordinal α of *V*, the set *V ^{B}_{α}* is defined as follows.

*V*^{B}_{0}is the empty set.*V*is the set of all functions from^{B}_{α+1}*V*to^{B}_{α}*B*. (Such a function represents a "probabilistic" subset of*V*; if^{B}_{α}*f*is such a function, then for any*x*∈*V*,^{B}_{α}*f*(*x*) is the probability that*x*is in the set.)- If α is a limit ordinal,
*V*is the union of^{B}_{α}*V*for β<α^{B}_{β}

The class *V ^{B}* is defined to be the union of all sets

*V*.

^{B}_{α}It is also possible to relativize this entire construction to some transitive model *M* of ZF (or sometimes a fragment thereof). The Boolean-valued model *M*^{B} is obtained by applying the above construction *inside* *M*. The restriction to transitive models is not serious, as the Mostowski collapsing theorem implies that every "reasonable" (well-founded, extensional) model is isomorphic to a transitive one. (If the model *M* is not transitive things get messier, as *M'*s interpretation of what it means to be a "function" or an "ordinal" may differ from the "external" interpretation.)

Once the elements of *V*^{B} have been defined as above, it is necessary to define *B*-valued relations of equality and membership on *V ^{B}*. Here a

*B*-valued relation on

*V*is a function from

^{B}*V*×

^{B}*V*to

^{B}*B*. To avoid confusion with the usual equality and membership, these are denoted by ||

*x*=

*y*|| and ||

*x*∈

*y*|| for

*x*and

*y*in

*V*. They are defined as follows:

^{B}- ||
*x*∈*y*|| is defined to be ∑_{t∈Dom(y)}||*x*=*t*|| ∧*y*(*t*) ("*x*is in*y*if it is equal to something in*y*"). - ||
*x*=*y*|| is defined to be ||*x*⊆*y*||∧||y⊆*x*|| ("*x*equals*y*if*x*and*y*are both subsets of each other"), where - ||
*x*⊆*y*|| is defined to be ∏_{t∈Dom(x)}*x*(*t*)⇒||*t*∈*y*|| ("*x*is a subset of*y*if all elements of*x*are in*y*")

The symbols ∑ and ∏ denote the least upper bound and greatest lower bound operations, respectively, in the complete Boolean algebra *B*. At first sight the definitions above appear to be circular: || ∈ || depends on || = ||, which depends on || ⊆ ||, which depends on || ∈ ||. However, a close examination shows that the definition of || ∈ || only depends on || ∈ || for elements of smaller rank, so || ∈ || and || = || are well defined functions from *V ^{B}*×

*V*to

^{B}*B*.

It can be shown that the *B*-valued relations || ∈ || and || = || on *V ^{B}* make

*V*into a Boolean-valued model of set theory. Each sentence of first order set theory with no free variables has a truth value in

^{B}*B*; it must be shown that the axioms for equality and all the axioms of ZF set theory (written without free variables) have truth value 1 (the largest element of

*B*). This proof is straightforward, but it is long because there are many different axioms that need to be checked.

## Relationship to forcing

Set theorists use a technique called forcing
to obtain independence results and to construct models of set theory for other purposes. The method was originally developed by Paul Cohen but has been greatly extended since then. In one form, forcing "adds to the universe" a generic subset of a poset, the poset being designed to impose interesting properties on the newly-added object. The wrinkle is that (for interesting posets) it can be proved that there simply *is* no such generic subset of the poset. There are three usual ways of dealing with this:

**syntactic forcing**A*forcing relation*is defined between elements*p*of the poset and formulas φ of the*forcing language*. This relation is defined syntactically and has no semantics; that is, no model is ever produced. Rather, starting with the assumption that ZFC (or some other axiomatization of set theory) proves the independent statement, one shows that ZFC must also be able to prove a contradiction. However, the forcing is "over*V*"; that is, it is not necessary to start with a countable transitive model. See Kunen (1980) for an exposition of this method.**countable transitive models**One starts with a countable transitive model*M*of as much of set theory as is needed for the desired purpose, and that contains the poset. Then there*do*exist filters on the poset that are generic*over M*; that is, that meet all dense open subsets of the poset that happen also to be elements of*M*.**fictional generic objects**Commonly, set theorists will simply*pretend*that the poset has a subset that is generic over all of*V*. This generic object, in nontrivial cases, cannot be an element of*V*, and therefore "does not really exist". (Of course, it is a point of philosophical contention whether*any*sets "really exist", but that is outside the scope of the current discussion.) Perhaps surprisingly, with a little practice this method is useful and reliable, but it can be philosophically unsatisfying.

### Boolean-valued models and syntactic forcing

Boolean-valued models can be used to give semantics to syntactic forcing; the price paid is that the semantics is not 2-valued ("true or false"), but assigns truth values from some complete Boolean algebra. Given a forcing poset *P*, there is a corresponding complete Boolean algebra *B*, often obtained as the collection of regular open subsets of *P*, where the topology on *P* is generated by *cones* (sets of the form {*q*|*q*≤*p*}, for fixed *p*). (Other approaches to constructing *B* are discussed below.)

Now the order on *B* (after removing the zero element) can replace *P* for forcing purposes, and the forcing relation can be interpreted semantically by saying that, for *p* an element of *B* and φ a formula of the forcing language,

where ||φ|| is the truth value of φ in *V*^{B}.

This approach succeeds in assigning a semantics to forcing over *V* without resorting to fictional generic objects. The disadvantages are that the semantics is not 2-valued, and that the combinatorics of *B* are often more complicated than those of the underlying poset *P*.

### Boolean-valued models and generic objects over countable transitive models

One interpretation of forcing starts with a countable transitive model *M* of ZF set theory, a partially ordered set *P*, and a "generic" subset *G* of *P*, and constructs a new model of ZF set theory from these objects. (The conditions that the model be countable and transitive simplify some technical problems, but are not essential.) Cohen's construction can be carried out using Boolean-valued models as follows.

- Construct a complete Boolean algebra
*B*as the complete Boolean algebra "generated by" the poset*P*. - Construct an ultrafilter
*U*on*B*(or equivalently a homomorphism from*B*to the Boolean algebra {true, false}) from the generic subset*G*of*P*. - Use the homomorphism from
*B*to {true, false} to turn the Boolean-valued model*M*of the section above into an ordinary model of ZF.^{B}

We now explain these steps in more detail.

For any poset *P* there is a complete Boolean algebra *B* and a map *e* from *P* to *B*^{+} (the non-zero elements of *B*) such that the image is dense, *e*(*p*)≤*e*(*q*) whenever *p*≤*q*, and *e*(*p*)*e*(*q*)=0 whenever *p* and *q* are incompatible. This Boolean algebra is unique up to isomorphism. It can be constructed as the algebra of regular open sets in the topological space of *P* (with underlying set *P*, and a base given by the sets *U*_{p} of elements *q* with *q*≤*p*).

The map from the poset *P* to the complete Boolean algebra *B* is not injective in general. The map is injective if and only if *P* has the following property: if every *r*≤*p* is compatible with *q*, then *p*≤*q*.

The ultrafilter *U* on *B* is defined to be the set of elements *b* of *B* that are greater than some element of (the image of) *G*. Given an ultrafilter *U* on a Boolean algebra, we get a homomorphism to {true, false}
by mapping *U* to true and its complement to false. Conversely, given such a homomorphism, the inverse image of true is an ultrafilter, so ultrafilters are essentially the same as homomorphisms to {true, false}. (Algebraists might prefer to use maximal ideals instead of ultrafilters: the complement of an ultrafilter is a maximal ideal, and conversely the complement of a maximal ideal is an ultrafilter.)

If *g* is a homomorphism from a Boolean algebra *B* to a Boolean algebra *C* and *M ^{B}* is any

*B*-valued model of ZF (or of any other theory for that matter) we can turn

*M*into a

^{B}*C*-valued model by applying the homomorphism

*g*to the value of all formulas. In particular if

*C*is {true, false} we get a {true, false}-valued model. This is almost the same as an ordinary model: in fact we get an ordinary model on the set of equivalence classes under || = || of a {true, false}-valued model. So we get an ordinary model of ZF set theory by starting from

*M*, a Boolean algebra

*B*, and an ultrafilter

*U*on

*B*. (The model of ZF constructed like this is not transitive. In practice one applies the Mostowski collapsing theorem to turn this into a transitive model.)

We have seen that forcing can be done using Boolean-valued models, by constructing a Boolean algebra with ultrafilter from a poset with a generic subset. It is also possible to go back the other way: given a Boolean algebra *B*, we can form a poset *P* of all the nonzero elements of *B*, and a generic ultrafilter on *B* restricts to a generic set on *P*. So the techniques of forcing and Boolean-valued models are essentially equivalent.

## Notes

- ↑
^{1.0}^{1.1}*B*here is assumed to be*nondegenerate*; that is, 0 and 1 must be distinct elements of*B*. Authors writing on Boolean-valued models typically take this requirement to be part of the definition of "Boolean algebra", but authors writing on Boolean algebras in general often do not.

## References

- Bell, J. L. (1985)
*Boolean-Valued Models and Independence Proofs in Set Theory*, Oxford. ISBN 0-19-853241-5 - {{#invoke:citation/CS1|citation

|CitationClass=citation }}

- {{#invoke:citation/CS1|citation

|CitationClass=book }}

- {{#invoke:citation/CS1|citation

|CitationClass=book }}

- {{#invoke:citation/CS1|citation

|CitationClass=book }} Contains an account of Boolean-valued models and applications to Riesz spaces, Banach spaces and algebras.

- {{#invoke:citation/CS1|citation

|CitationClass=book }} Contains an account of forcing and Boolean-valued models written for mathematicians who are not set theorists.

- {{#invoke:citation/CS1|citation

|CitationClass=book }}