A theoretical framework for reasoning about program construction based on extensions of rewrite systems - Loría-Sáenz, Carlos (1993)