Abstract
We say that a simply typed λ-term is a ‘pruning’ of another one if the former is obtained from the latter by replacing some subterms with dummy constants. We prove that ‘pruning’ preserves observational behaviour of a simply typed λ-term if it does not modify the type nor the context (assignment of types to free variables) of the term. This result is used to define a map Fl: {simply typed λ-terms} → {simply typed λ-terms} removing redundant code in functional programs. In the rest of the paper we prove some property of Fl interesting from a computational viewpoint. An algorithm to compute Fl is included in the Appendix.

This publication has 0 references indexed in Scilit: