Nella computabilità e complessità, trovare mappature tra problemi che consentono di risolvere un problema usando una soluzione di un altro. Per la riduzione della teoria del linguaggio di programmazione (ad es. Riduzione beta), vedere [lambda-calcolo] o [riscrittura dei termini].