→ L e from the vertices and edges, respectively, into suitable non-empty label sets L v and L e . Vertex labels designate atom types and edge labels designate bond types. We admit optional loops with labels that annotate information about the electronic state of a atom such as a net charge, oxidation number, or unpaired electron, while vertex labels are reserved for atom types. In that manner, all changes of electron distributions in a molecule are encoded by edges and their labels. While this separation of atom type and electronic state of an atom is not necessary, it simplifies some aspects of the presentation by avoiding the need to explicitly discuss changes of vertex labels in the course of a reaction.