A primary effort needed to accomplish automated chemical perception is defining operations between two arbitrary SMARTS patterns. We are interested in, for example, how two SMARTS are similar or different, which must be computed. To do this, we must consider both how to operate on the graphs themselves and the SMARTS primitives of the nodes and edges. Let the pair of functions (T, f) be a BESMARTS operation where T : G → H maps the nodes and edges of two graphs G and H, and let f : Z N → Z N be a bitwise operation on the SMARTS primitives from nodes u ∈ V(G), v ∈ V(H) and primitives φ(u) and φ(v) where φ ∈ Z N . Each BE-SMARTS operation produces a graph F as a function of G and H such That