 To develop a model theory for a second-order language, we may still take a model \(\langle D, I\rangle\) to consist of a non-empty domain and an interpretation function. We now let an assignment \(s\) for \(\langle D, I\rangle\) to be a function that assigns a member of \(D\) to each individual variable and a set of \(n\)-tuples of members of \(D\) to each predicate variable \(X^n\). We then modify the definition of satisfaction to let a formula of the form \(\forall X^n\,B \) be satisfied in \(\langle D, I \rangle\) by an assignment \(s\) if, and only if, \(B\) is satisfied by all assignments of the form \(s[X^n/R^n]\), where \(R^n\) is a set of \(n\)-tuples of members of \(D_1\). The definitions of truth in a model and validity proceed exactly as in the first-order case.