The categories of models with elementary embeddings are accessible categories. (The cardinal κ is related to the size of the language via Löwenheim-Skolem; the κ-presentable, aka κ-compact, objects are models of size less than κ.) Michael Makkai and Bob Paré originally describe this idea in Accessible categories: the foundations of categorial model theory (Contemporary Mathematics 104, AMS, 1989). However, still more can be found in later works such as Adámek and Rosický, Locally presentable and accessible categories (LMS Lecture Notes 189, CUP, 1994).
More generally, abstract elementary classes can also be viewed as accessible categories. Thus accessible categories include categories of models of infinitary theories, theories with generalized quantifiers, etc. In fact, accessible categories can always be attached to such structures, but I don't know the exact characterization of the categories that arise from models of theories of first-order logic. The Yoneda embedding can sometimes be used to attach first-order models to accessible categories, such as when the accessible category is strongly categorical (Rosický, Accessible categories, saturation and categoricity, JSL 62, 1997). On the other hand, you can reformulate a lot of model theoretic concepts in general accessible categories. There are more than a few kinks along the way and not all of it has been done, but the more I learn the more I find that this is actually a very interesting and powerful way to approach model theory.
Let me try to explain the situation in greater detail. I guess the correspondences are better explained in terms of sketches. (This nLab page needs expansion; Adámek and Rosický give a nice account of sketches; another account can be found in Barr and Wells.) A sketch asserts the existence of certain limits and colimits, or just limits in the case of a limit sketch, taken together these assertions can be formulated as a sentence in L∞,∞ (sketchy details below). Like such sentences, every sketch S has a category Mod(S) of models. Sketches and accessible categories go hand in hand.
If S is a sketch, then Mod(S) is an accessible category, and every accessible category is equivalent to the category of models of a sketch.
If S is a limit sketch, then Mod(S) is a locally presentable category, and very locally presentable category is equivalent to the category of models of a limit sketch.
When translated into L∞,∞, a limit sketch becomes a theory with axioms of the form
$\forall\bar{x}(\phi(\bar{x})\to\exists!\bar{y}\psi(\bar{x},\bar{y})),$
where $\phi$ and $\psi$ are conjunction of atomic formulas (and the variable lists $\bar{x}$ and $\bar{y}$ can be infinite). When the category is locally finitely presentable, then these axioms can be stated in Lω,ω. Theories with axioms of this type are essentially characterized by the fact that Mod(T) has finite limits.
If T is a theory in Lω,ω and Mod(T) which is closed under finite limits (computed in Mod(∅)), then Mod(T) is locally finitely presentable category (and hence finitely admissible).
Every locally finitely presentable category is equivalent to a category Mod(T) where T is a limit theory in Lω,ω (i.e. with axioms as described above).
It is natural to conjecture that this equivalence continues when ω is replaced by ∞. Adámek and Rosický have shown in A remark on accessible and axiomatizable theories (Comment. Math. Univ. Carolin. 37, 1996) is that for a complete category being equivalent equivalent to a (complete) category of models of a sentence in L∞,∞ and being accessible are equivalent provided that Vopenka's Principle holds. In fact, this equivalence is itself equivalent to Vopenka's Principle. (It is apparently unknown whether accessible can be strengthened to locally presentable.)
Now, if T is a sentence in L∞,∞, then the category Elem(T) (models of T under elementary embeddings) is always an accessible category. The category Mod(T) is unfortunately not necessarily accessible. When translated into L∞,∞ sketches become sentences of a special form. A formula in L∞,∞ is positive existential if it has the form
$\bigvee_{i \in I} \exists\bar{y}_i \phi_i(\bar{x},\bar{y}_i)$
where each $\phi_i$ is a conjunction of atomic formulas. A basic sentence in L∞,∞ is conjunction of sentences of the form
$\forall\bar{x}(\phi(\bar{x})\to\psi(\bar{x}))$
where $\phi$ and $\psi$ are positive existential formulas.
- A category is accessible if and only if it is equivalent to a category Mod(T) where T is a basic sentence in L∞,∞.
It would be great if one could simply replace accessible by finitely accessible and sentence in L∞,∞ by theory in Lω,ω, as in the locally presentable case above. Unfortunately, this is simply not true. The category of models of the basic sentence $\forall x\exists y(x \mathrel{E} y)$ in the language of graphs is accessible but not finitely accessible. A counterexample in the other direction is the category of models of $\bigvee_{n<\omega} f^{n+1}(a) = f^n(a)$, which is finitely accessible but not axiomatizable in Lω,ω.
You are comparing apples and organges. Model theory should be compared with categorical logic, not category theory. Conversely, category theory should be compared with algebra, not model theory.
Model theory is the study of set-theoretic models of theories expressed in first-order classical logic. As such it is a particular branch of categorical logic, which is the study of models of theories, without insistence on set theory, first order, or classical reasoning.
Best Answer
Yes. This is the content of the final section of my paper Codensity and the ultrafilter monad. Loosely, what's shown there is:
Let me say immediately that the result is due not to me, but to the anonymous referee. In the version of the paper I submitted to the journal (and in earlier arXiv versions), the final section essentially said "it looks like we should be able to describe the ultraproduct construction as a codensity monad, but I don't see how". The referee showed how, and I've included his or her theorem in the final version of the paper.
The "standard piece of categorical machinery" is the notion of codensity monad. "Recall" that (subject to the existence of certain limits) any functor $G\colon \mathcal{B} \to \mathcal{A}$ induces a monad on $\mathcal{A}$, the codensity monad of $G$. In the case where $G$ has a left adjoint $F$, this is just the monad $GF$, but codensity monads are defined in much wider generality.
(If you don't know what a monad is, then for the purposes of this answer, you can interpret "monad on $\mathcal{A}$" as "functor $\mathcal{A} \to \mathcal{A}$", although it's rather more than that.)
Fix a category $\mathcal{E}$ with small products and filtered colimits. (In model theory, this might typically be the category of structures for some finitary signature.) Let $\mathbf{Fam}(\mathcal{E})$ be the category in which an object is a set $X$ together with a family $(S_x)_{x \in X}$ of objects $S_x$ of $\mathcal{E}$. I'll skip the definition of the maps, but you can find it in my paper.
The ultraproduct construction determines a monad on $\mathcal{E}$, as follows. Given a family $$ S = (S_x)_{x \in X} $$ of objects of $\mathcal{E}$, taking ultraproducts produces a new family $$ \Bigl( \prod\nolimits_{\mathcal{U}} S \Bigr)_{\text{ultrafilters } \mathcal{U} \text{ on } X} $$ of objects of $\mathcal{E}$, where $\prod\nolimits_{\mathcal{U}} S$ denotes the ultraproduct of $(S_x)_{x \in X}$ with respect to $\mathcal{U}$. So, it's plausible that the ultraproduct construction gives at least a functor $\mathbf{Fam}(\mathcal{E}) \to \mathbf{Fam}(\mathcal{E})$. In fact, it gives not just a functor but a monad on $\mathbf{Fam}(\mathcal{E})$, the ultraproduct monad for $\mathcal{E}$.
The theorem is that this is a codensity monad. Specifically, let $\mathbf{FinFam}(\mathcal{E})$ be the full subcategory of $\mathbf{Fam}(\mathcal{E})$ consisting of those objects $(S_x)_{x \in X}$ in which the indexing set $X$ is finite. Then:
Notice that the concept of ultrafilter isn't taken as given. Actually, the concept of ultrafilter also arises as a codensity monad. This is a 1971 theorem of Kennison and Gildenhuys (discussed in my paper):
Here $\mathbf{FinSet}$ is the category of finite sets, and the ultrafilter monad is the monad on $\mathbf{Set}$ that sends a set $X$ to the set of ultrafilters on $X$.