3.3.2 Recursive Definition and Specification Principles