An *abstract logic* $\mathcal{L}$ consists of a pair $(S,T)$ where, given a vocabulary $\tau$, $S$ defines the class of *sentences* of $\mathcal{L}$ in the vocabulary $\tau$, and $T$ defines the *satisfaction relation* between $\tau$-structures and members of $S$. We usually say simply "a logic" instead of "abstract logic", abuse notation by writing e.g. $\varphi \in \mathcal{L}$ instead of $S(\varphi)$, and write $\mathcal{M} \models_{\mathcal{L}} \varphi$ instead of $T(\mathcal{M},\varphi)$. We may consider *formulas* with free variables by adding constant symbols to the vocabulary.