En calculabilité et complexité, trouver des mappages entre des problèmes qui permettent de résoudre un problème en utilisant une solution d'un autre. Pour la réduction de la théorie du langage de programmation (par exemple la réduction bêta), voir [lambda-calcul] ou [term-rewriting].