On homomorphisms, simulations,correctness and subroutines for programs and program schemesJ.A. Goguen1972SWAT 1972