General problem solving with category theory
  This paper proposes a formal cognitive framework for problem solving based on
category theory. We introduce cognitive categories, which are categories with
exactly one morphism between any two objects. Objects in these categories are
interpreted as states and morphisms as transformations between states.
Moreover, cognitive problems are reduced to the specification of two objects in
a cognitive category: an outset (i.e. the current state of the system) and a
goal (i.e. the desired state). Cognitive systems transform the target system by
means of generators and evaluators. Generators realize cognitive operations
over a system by grouping morphisms, whilst evaluators group objects as a way
to generalize outsets and goals to partially defined states. Meta-cognition
emerges when the whole cognitive system is self-referenced as sub-states in the
cognitive category, whilst learning must always be considered as a
meta-cognitive process to maintain consistency. Several examples grounded in
basic AI methods are provided as well.
