double decomposition: a chemical reaction between two compounds in which parts of each are interchanged to form two new compounds (AB+CD=AD+CB)
one-dimensional language: a programming language whose expressions are represented by strings of characters