Algebraic specification of data types: A synthetic approach | doi.page