  If A and B are structures of signature K with dom(A) a subset of dom(B), and the interpretations in A of the symbols in K are just the restrictions of their interpretations in B, then we say that A is a substructure of B and conversely B is an extension of A. If moreover B has some elements that are not in A, we say that A is a proper substructure of B and B is an proper extension of A. If B is a structure and X is a nonempty subset of dom(B), then there is a unique smallest substructure of B whose domain contains all of X. It is known as the substructure of B generated by X, and we find it by first adding to X all the elements cB where c are individual constants of K, and then closing off under the functions FB where F are function symbols of K.