In Bezug auf Berechenbarkeit und Komplexität finden Sie Zuordnungen zwischen Problemen, die es ermöglichen, ein Problem mithilfe einer Lösung eines anderen zu lösen. Zur Reduktion der Programmiersprachentheorie (zB Beta-Reduktion) siehe [Lambda-Kalkül] oder [Term-Rewriting].