Consiste en un método para definir la semántica de un lenguaje de programación imperativa mediante la asignación a cada "comando" del correspondiente "transformador de predicados".