^J.A. Goguen; J.W. Thatcher; E.G. Wagner (1978). "An initial algebra approach to the specification, correctness and implementation of abstract data types". In R.T. Yeh (ed.). Current Trends in Programming Methodology, Vol. IV: Data Structuring. Prentice Hall. pp. 80–149.