Semantics And Algebraic Specification by Jens Palsberg