Let *M* be a structure. **Definable closure** and **algebraic closure** are two closure operators on *M*. If *S* is a subset of *M*, and *a* is an element (or finite tuple) from *M*, then

*a*is in the definable closure of*S*if the singleton set {*a*} is definable over*S*. An equivalent condition is that*a*=*f*(*b*) for some 0-definable function*f*and some*b*∈*S*.*a*is in the algebraic closure of*S*if*a*is an element of some finite*S*-definable set.

The definable closure of *S* is denoted dcl(*S*) and the algebraic closure is denoted acl(*S*). Sometimes we want dcl(*S*) and acl(*S*) to be subsets of *M*, in which case we take dcl(*S*) and acl(*S*) to be the sets of *singletons* in the definable closure and algebraic closure of *S*, respectively. There is not a very big distinction, because it turns out that a tuple *a* is in dcl(*S*) or acl(*S*) if and only if each coordinate of *a* is in dcl(*S*) or acl(*S*), respectively.

Both dcl(-) and acl(-) are finitary closure operators on *M*, meaning that

*S*⊆ dcl(*S*) and*S*⊆ acl(*S*)- If
*S*⊆*T*, then dcl(*S*) ⊆ dcl(*T*) and acl(*S*) ⊆ acl(*T*) - dcl(dcl(
*S*)) = dcl(*S*) and acl(acl(*S*)) = acl(*S*) - If
*a*is in dcl(*S*) or acl(*S*), then*a*is in dcl(*S*_{0}) or acl(*S*_{0}) for some finite subset*S*_{0}of*S*.

Also, in general one has dcl(*S*) ⊆ acl(*S*).

A set *S* is **algebraically closed** if *S* = acl(*S*), and **definably closed** if *S* = dcl(*S*).

Like most good concepts in model theory, these notions behave well under elementary extensions. Specifically, if is an elementary extension of *M*, and *S* ⊆ *M*, then dcl(*S*) computed inside *N* is the same as dcl(*S*) computed inside *M*. The same holds for acl(*S*).

If *a* ∈ acl(*S*), then *a* is in some finite *S*-definable set *D*. The intersection of all such *D* is still a finite *S*-definable set containing *a*, so there is a unique minimal finite *S*-definable set *D* containing *a*. The set *D* consists exactly of the realizations of tp(*a*/*S*). The elements of *D* are called the **conjugates of a over S.**

If *M* is |*S*|^{+}-saturated, then

*a*∈ dcl(*S*) if and only if tp(*a*/*S*) has a unique realization in*M*(namely*a*).*a*∈ acl(*S*) if and only if tp(*a*/*S*) has finitely many realizations in*M*.

If furthermore *M* is |*S*|^{+}-strongly homogeneous, then one gets a nice description of dcl(*S*) and acl(*S*) in terms of automorphisms:

*a*∈ dcl(*S*) if and only if*a*is fixed by Aut(*M*/*S*)*a*∈ acl(*S*) if and only if*a*has a finite orbit under Aut(*M*/*S*). This orbit consists exactly of the conjugates of*a*over*S*.

**ACF:** Let *K* be an algebraically closed field, and *S* be a subset of *K*. Then

- dcl(
*S*) is the perfect hull of the field generated by*S* - acl(
*S*) is the algebraic closure of the field generated by*S*.

In particular, in characteristic zero, dcl(*S*) is just the field generated by *S*.

**DLO:** If *M* is a dense linear order, and *S* is a subset of *M*, then acl(*S*) = dcl(*S*) = *S*. In other words, all sets are algebraically closed and definably closed.

**RCF:** If *K* is a real closed field, and *S* is a subset of *K*, then acl(*S*) and dcl(*S*) are both equal to the relative algebraic closure in *K* of the field generated by *S*.

**ACVF:** If *K* is an algebraically closed valued field, non-trivially valued, and *S* is a subset of *K*, then

- acl(
*S*) is the algebraic closure of the field generated by*S* - dcl(
*S*) is the smallest perfect henselian subfield of*K*containing*S*.

**Linearly ordered structures:** In general, if *M* is a structure with a 0-definable total ordering, then acl(-) and dcl(-) agree on *M*.

This section proves the unproven claims made above.

We asserted that *a* ∈ dcl(*S*) if and only if *a* = *f*(*b*) for some 0-definable function *f* and some tuple *b* from *S*.

*Proof*: If *a* ∈ dcl(*S*), then {*a*} is *S*-definable. So there is some formula and some tuple *b* from *S* such that

Let be the formula

In other words, asserts that not only does hold, but that no other value of *x* works.

Now holds. And for every tuple *c* from *M*, the set is either a singleton or empty. Therefore is the graph of (the transpose of) a 0-definable (partial) function *f* such that *a* = *f*(*b*).

(If we wanted a total definable function, we could set *f*(*b*) = *b* when *f*(*b*) is currently undefined, or something similar.) QED.

**Lemma**: An *n*-tuple *a* is in dcl(*S*) if and only if each coordinate of *a* is in dcl(*S*). Similarly, *a* is in acl(*S*) if and only if each coordinate of *a* is in acl(*S*).

As a consequence of this, the notions of algebraic and definable closure are determined by what they do to singletons. *Proof*: For 1 ≤ *i* ≤ *n*, let π_{i} : *M ^{n}* ->

Suppose first that *a* is in dcl(*S*). Then {*a*} is *S*-definable. So is π_{i}({*a*}) = {*a _{i}*} for each coordinate

,

so *a* is in dcl(*S*).

Next suppose that *a* is in acl(*S*). Thus *a* is in some finite *S*-definable set *D* ⊆ *M ^{n}*. For each

Conversely, suppose that *a _{i}* ∈ acl(

so *a* ∈ acl(*S*). QED.

**Finitariness:** Suppose *a* is in dcl(*S*). Then {*a*} is *S*-definable. The definition can only use a finite subset *S*_{0} ⊆ *S*. So {*a*} is *S*_{0}-definable, so *a* ∈ dcl(*S*_{0}). Similarly, if *a* is in acl(*S*), then *a* is in some finite *S*-definable set *D*. But the definition of *D* can only use finitely many elements of *S*, so *D* is *S*_{0}-definable for some *S*_{0}. Then *a* ∈ acl(*S*_{0}).

**Increasingness:** Suppose *a* ∈ *S*. Then the set {*a*} is *S*-definable, by the formula *x = a*. So *a* ∈ dcl(*S*). And {*a*} is finite, so *a* ∈ acl(*S*). Therefore *S* ⊆ dcl(*S*) and *S* ⊆ acl(*S*).

**Monotonicity:** Suppose *S* ⊆ *T*. If *a* ∈ dcl(*S*), then {*a*} is *S*-definable, hence *T*-definable, and *a* ∈ dcl(*T*). Similarly, if *a* ∈ acl(*S*), then *a* is in a finite *S*-definable set *D*. Of course *D* is *T*-definable, so *a* ∈ acl(*T*). Thus dcl(*S*) ⊆ dcl(*T*) and acl(*S*) ⊆ acl(*T*).

**Idempotence of dcl(-):** As dcl(-) is increasing, we have dcl(*S*) ⊆ dcl(dcl(*S*)). We need to show the reverse inclusion. Suppose *a* ∈ dcl(dcl(*S*)). Then for some tuple *b* from dcl(*S*) and some formula . By the Lemma above, *b* ∈ dcl(*S*). Consequently, for some tuple *c* from *S* and some formula .

Let assert that there is a unique *y* such that holds and that for this *y*, holds as well, so is the formula:

Then holds. Also, if holds for some tuple *a'* then holds, and consequently *a' = a*. So . But is 0-definable, and *c* is a tuple from *S*, so *a* ∈ dcl(*S*). Consequently, dcl(dcl(*S*)) ⊆ dcl(*S*).

**Idempotence of acl(-):** This one is hardest. Because acl(-) is increasing, we have acl(*S*) ⊆ acl(acl(*S*)). We need the reverse inclusion. Suppose that *a* ∈ acl(acl(*S*)). Then *a* is in a finite acl(*S*)-definable set *D*. Write where *b* ∈ acl(*S*). If *k* is the cardinality of *D*, we can modify the formula so that for every value of *y*, at most *k* values of *x* satisfy . Specifically, we replace with the formula

Similarly, since *b* ∈ acl(*S*), we can find a formula , a number *j*, and a tuple *c* from *S* such that holds, and such that for every value of *z*, at most *j* values of *y* satisfy .

Now let be the formula

For each value of *z*, there at at most *kj* values of *x* satisfying . So . But , so *a* ∈ acl(*S*), because *c* is from *S*.

If is an elementary extension of *M*, and *S ⊆ M*, then dcl(*S*) is the same when computed in *N* or *M*. The same holds for acl(*S*).

*Proof:* Both of these claims follow easily from the fact that if is finite, then , a general fact about elementary extensions. From the definition of elementary extension, one knows that

However, we can write a statement asserting that there are exactly values of *x* such that holds. Then , and hence . Thus . Two finite sets of the same size must be equal, if one includes the other. QED.

Suppose *a* ∈ acl(*S*), and *D* is the set of conjugates of *a* over *S*. Then *D* is exactly the set of realizations of tp(*a*/*S*).

*Proof:* Suppose *b* realizes tp(*a*/*S*). The type tp(*a*/*S*) includes the statement that *x* ∈ *D*, so *b* ∈ *D*. Conversely, suppose *b* ∈ *D*, but *b* does not realize tp(*a*/*S*). Then there is some *S*-definable set *E* containing *a* but not *b*. Then *D* ∩ *E* is a finite *S*-definable set containing *a*. By choice of *D*, *D* = *D* ∩ *E*, so *D* ⊆ *E*. But *b* ∈ *D* and *b* is not in *E*, a contradiction. QED.

**Claim:** Suppose *M* is |*S*|^{+}-saturated, and *a* is a finite tuple. Then *a* ∈ dcl(*S*) if and only if tp(*a*/*S*) has a unique realization in *M*.

*Proof:* If *a* ∈ dcl(*S*), then *D* := {*a*} is *S*-definable. The type of *a* over *S* includes the statement that *x* ∈ *D*. Consequently, any other realization of tp(*a*/*S*) must be in *D*, i.e., must equal *a*.

Conversely, suppose *a* is the unique realization of tp(*a*/*S*). Let *p(x)* be the partial type over *S* ∪ {*a*} consisting of tp(*a*/*S*) together with the statement *x ≠ a*. By assumption, there are no realizations of *p(x)* in *M*. By the saturation of *M*, it follows that *p(x)* must be inconsistent, i.e., not finitely satisfiable. So there is some formula such that

or equivalently

,

so . Since we know that . Thus . Since *b* is a tuple from *S*, we conclude that *a* ∈ dcl(*S*). QED.

**Claim:** Suppose *M* is |*S*|^{+}-saturated, and *a* is a finite tuple. Then *a* ∈ acl(*S*) if and only if tp(*a*/*S*) has finitely many realizations.

*Proof:* If *a* ∈ acl(*S*), then *a* is in a finite *S*-definable set *D*. The type of *a* over *S* includes the statement that *x* ∈ *D*. So any realization of tp(*a*/*S*) must be in *D*. Therefore tp(*a*/*S*) has finitely many realizations.

Conversely, suppose that tp(*a*/*S*) has finitely many realizations *b*_{1}, ..., *b*_{n}. Let *p(x)* be the partial type over *S* ∪ {*b*_{1}, ..., *b*_{n}} asserting that *x* satisfies tp(*a*/*S*) and *x* does not equal any *b _{i}*. By assumption,

or equivalently

So is finite. As , we know that . Therefore *a* is in a finite *S*-definable set, and consequently *a* ∈ acl(*S*). QED.

**Claim:** Suppose that *M* is |*S*|^{+}-saturated and |*S*|^{+}-strongly homogeneous. Then *a* ∈ dcl(*S*) if and only if *a* is fixed by Aut(*M*/*S*), and *a* ∈ acl(*S*) if and only if *a* has a finite orbit under Aut(*M*/*S*).

*Proof:* By strong homogeneity, the orbit of *a* under Aut(*M*/*S*) is exactly the set of realizations of tp(*a*/*S*). Now use the previous claims. QED. ::: ::: :::