En teoría de tipos , un sistema de tipos tiene la propiedad de reducción de sujeto (también evaluación de sujeto , preservación de tipo o simplemente preservación ) si la evaluación de expresiones no hace que su tipo cambie. Formalmente, si ⊢ e 1 : τ y e 1 → e 2 entonces ⊢ e 2 : τ . Intuitivamente, esto significa que a uno no le gustaría escribir una expresión, por ejemplo en Haskell , de tipo Int, y hacer que se evalúe con un valor v , sólo para descubrir que v es una cadena.
Junto con el progreso, es una propiedad metateórica importante para establecer la solidez del tipo de un sistema de tipos.
La propiedad opuesta, si Γ ⊢ e 2 : τ y e 1 → e 2 entonces Γ ⊢ e 1 : τ , se llama expansión sujeta . A menudo no se cumple, ya que la evaluación puede borrar subtérminos mal escritos de una expresión, lo que da como resultado una expresión bien escrita.