Programming Languages And Operational Semantics by M. Fernandez