Is the theory of categories decidable? There are a lot of theorems in basic homological algebra, such as the five lemma or the snake lemma, that seem like they'd be more easily proven by computer than by hand.  This led me to consider the following question: is the theory of categories decidable?
More specifically, I was wondering whether or not statements about abelian categories can be determined true or false in finite time.  Also, if they can be determined to be false, is it possible to explicitly describe a counterexample?  If it is known to be decidable, is anything known about the complexity?  (Other decidable theories often have multiply-exponential time complexities.)  If it is known to be undecidable, say by embedding the halting problem, then can I change my assumptions a bit and make it decidable?  (For example, maybe I shouldn't be looking at abelian categories after all.)
Thanks in advance.
Edit: It appears a clarification is needed.  My goal was to consider the minimal theory that could state things like the five lemma, but not necessarily prove them.  For example, I want to say:

If in an abelian category, you have a bunch of maps $0\to A \to B \to C\to 0$ and $0\to A' \to B' \to C'\to 0$ which make up two short exact sequences and some more maps $a:A\to A'$, $b:B\to B'$, $c:C\to C'$ which commute with the previous maps, and $a$ and $c$ are isomorphisms, then $b$ is an isomorphism, too.

Sentences of this form would be inputs to a program, which decides if this statement is in fact true in ZFC (or your other favorite axiomatization of category theory).  The point here is that I am restricting the sentences one can input into the program, but keeping ZFC or whatnot as my framework.
I hoped (perhaps naively) that if I restricted the class of sentences, it might be decidable whether or not these statements were true.  For example, I imagined that every such theorem is either proven by diagram chasing, or it is possible to find a concrete example of maps among, say, R-modules that contradict the result.
 A: Thanks for clarifying your question. The formulation that
you and Dorais give seems perfectly reasonable. You have a
first order language for category theory, where you can
quantify over objects and morphisms, you can compose
morphisms appropriately and you can express that a given
object is the initial or terminal object of a given
morphism. In this language, one can describe various finite
diagrams, express whether or not they are commutative, and
so on. In particular, one can express that composition is
associative, etc. and describe what it means to be a
category in this way.
The question now becomes: is this theory decidable? In
other words, is there a computable procedure to determine,
given an assertion in this language, whether it holds in
all categories?
The answer is No.
One way to see this is to show even more: one cannot even
decide whether a given statement is true is true in all
categories having only one object. The reason is that group
theory is not a decidable theory. There is no computable
procedure to determine whether a given statement in the
first order language of group theory is true in all groups.
But the one-point categories naturally include all the
groups (and we can define in a single statement in the
category-theoretic language exactly what it takes for the
collection of morphisms on that object to be a group).
Thus, if we could decide category theory, then we could
decide the translations of the group theory questions into
category theory, and we would be able to decide group
theory, which we can't. Contradiction.
The fundamental obstacle to decidability here, as I
mentioned in my previous answer (see edit history), it the
ability to encode arithmetic. The notion of a strongly
undecidable
structure
is key for proving various theories are undecidable. A
strongly undecidable theory is a finitely axiomatizable
theory, such that any theory consistent with it is
undecidable. Robinson proved that there is a strongly
undecidable theory of arithmetic, known as Robinson's Q. A
strongly undecidable structure is a structure modeling a
strongly undecidable theory. These structures are amazing,
for any theory true in a strongly undecidable structure is
undecidable. For example, the standard model of arithmetic,
which satisfies Q, is strongly undecidable. If A is
strongly undecidable and interpreted in B, then it follows
that B is also strongly undecidable. Thus, we can prove
that graph theory is undecidable, that ring theory is
undecidable and that group theory is undecidable, merely by
finding a graph, a ring or a group in which the natural
numbers is interpreted. Tarski found a strongly undecidable
group, namely, the group G of permutations of the integers
Z. It is strongly undecidable because the natural numbers
can be interpreted in this group. Basically, the number n
is represented by translation-by-n. One can identify the
collection of translations, as exactly those that commute
with s = translation-by-1. Then, one can define addition as
composition (i.e. addition of exponents) and the divides
relation is definable by: i divides j iff anything that
commutes with si also commutes with
sj. And so on.
I claim similarly that there is a strongly undecidable
category. This is almost immediate, since every group can
be viewed as the morphisms of a one-object category, and
the group is interpreted as the morphisms of this category.
Thus, the category interprets the strongly undecidable
group, and so the category is also strongly undecidable. In
particular, any theory true in the category is also
undecidable. So category theory itself is undecidable.
A: This answer builds on those of F. G. Dorais and Joel David Hamkins to answer your "specific question", the question left open by them, namely whether the theory of abelian categories is decidable.
The answer is still no.
Even the following more limited family of problems is undecidable:

Given words $r, r_1,\ldots,r_m$ in $x_1,\ldots,x_n$ (i.e., each $r_i$ is a finite product of the $x_i$ and their inverses), decide whether it is true that whenever the $x_i$ are interpreted as automorphisms of an object $M$ in an abelian category, $r_1=\cdots=r_m=1_M$ implies $r=1_M$.

If the answer to the corresponding instance of the word problem for finitely presented groups is yes, then the answer to this abelian category question is yes.
Conversely if the answer to the word problem instance is no, then we can construct the finitely presented group $G = \langle x_1,\ldots,x_n | r_1,\ldots,r_m \rangle$, form the group ring $\mathbb{Z}G$, and let $M$ be $\mathbb{Z}G$ as a module over itself, which shows that the answer to the abelian category question is no too.
So if there were an algorithm to decide this family of abelian category problems, there would also be an algorithm to decide the word problem for finitely presented groups.  But P. S. Novikov proved in 1955 that the latter algorithm does not exist.
A: The theory of categories is undecidable. By the theory of categories I mean the theory with two types Ob (objects) and Ar (arrows) together with operations dom:Ar → Ob, cod:Ar → Ob, 1:Ob → Ar, and o:Ar×Ar→Ar (possibly partial composition), and the obvious axioms. 
One way to see this is to interpret the theory of groups — which is undecidable by a beautiful theorem of Trakhtenbrot — within the theory of pointed categories, that is categories with a distinguished object * (which is an inessential extension). Indeed, the definable set of invertible arrows from * to * form a group, and every group can be interpreted as the set of arrows in a category with * as its only object. I suspect that the theory of Abelian categories is not decidable either, but I haven't tried to prove that (yet).
