; (s 0) represents 1, (s (s 0)) represents 2, etc. (infer (sum 0 X X)) (infer (sum (s X) Y (s Z)) from (sum X Y Z)) (infer (prod 0 X 0)) (infer (prod (s X) Y Z) from (prod X Y W) (sum Y W Z)) ; division (infer (quotient X Y Z) from (prod Y Z X)) ; comparisons (infer (lessthan 0 (s I))) (infer (lessthan (s I) (s J)) from (lessthan I J)) (infer (equal 0 0)) (infer (equal (s I) (s J)) from (equal I J)) (infer (lessthanequal I J)from (equal I J)) (infer (lessthanequal I J)from (lessthan I J)) ; generation of numbers in a closed interval (infer (generate I J K) from (lessthanequal I K) (lessthan K J)) (infer (generate I J K) from (lessthanequal I K) (equal K J))