This article addresses the problem of maintaining and retrieving first-order predicate calculus terms in context of automatic reasoning. A new indexing technique that accelerates the speed of the basic retrieval operations, such as finding complementary literals in resolution theorem proving or finding critical pairs during completion is presented. Subsumption and reduction are also supported. Moreover, the new index not only provides maintenance and efficient retrieval of terms but also of idempotent substitutions. Substitution trees achieve maximal search speed paired with minimal memory requirements in various experiments and outperform traditional techniques such as path indexing, discrimination tree indexing and abstraction trees by co...