  Automata learning is a technique that has successfully been applied in
verification, with the automaton type varying depending on the application
domain. Adaptations of automata learning algorithms for increasingly complex
types of automata have to be developed from scratch because there was no
abstract theory offering guidelines. This makes it hard to devise such
algorithms, and it obscures their correctness proofs. We introduce a simple
category-theoretic formalism that provides an appropriately abstract foundation
for studying automata learning. Furthermore, our framework establishes formal
relations between algorithms for learning, testing, and minimization. We
illustrate its generality with two examples: deterministic and weighted
automata.
