Computer-Aided Specification Techniques by E. Knuth & J. Demetrovics