1. Algorithmic Language and Program Development;Bauer,1981
2. An introduction to the theory of lists;Bird,1987
3. Derivation of invariant assertions during program development by transformation;Broy;ACM Transactions on Programming Languages and Systems,1980
4. Specification-based testing with quickcheck;Claessen,2003
5. A Discipline of Programming;Dijkstra,1976