REDEPTH_CONV : (conv -> conv)
More precisely, REDEPTH_CONV c tm repeatedly applies the conversion c to all the subterms of the term tm, including the term tm itself. The supplied conversion c is applied to the subterms of tm in bottom-up order and is applied repeatedly (zero or more times, as is done by REPEATC) to each subterm until it fails. If c is successfully applied at least once to a subterm, t say, then the term into which t is transformed is retraversed by applying REDEPTH_CONV c to it.
- REDEPTH_CONV BETA_CONV (Term `(\f x. (f x) + 1) (\y.y) 2`); val it = |- (\f x. (f x) + 1)(\y. y)2 = 2 + 1 : thm
(\f x. (f x) + 1) (\y.y)
(\x. ((\y.y) x) + 1)