We define a notion of morphism between combinatorial codes, making the class of all combinatorial codes into a category $\mathbf{ Code}$. We show that morphisms can be used to remove redundant information from a code, and that morphisms preserve convexity. This fact leads us to define "minimally non-convex" codes. We propose a program to characterize these minimal obstructions to convexity and hence characterize all convex codes. We implement a library of Sage code to perform computation with morphisms. These computational methods yield the smallest to-date example of a non-convex code with no local obstructions. We conclude by giving an algebraic formulation of our results.

Categories: math.CO

Morphisms of Neural Codes