On the isomorphism of expressions

A problem that often arises in the context of verifying equivalence of digital circuits is: Given two expressions, are they equivalent except for a renaming of variables? (e.g., the expressions a + b and b + c are equivalent if we rename the variables as either {a → c, b→ b} or {a → b, b→ c}). In this article we attempt to characterize the complexity/simplicity of this problem. The problem of deciding isomorphism of structures has been extensively studied. In the context of graph theory, the problem has surfaced in the guise of the graph isomorphism problem , defined as follows [4]: