factorial(n) := product(1 ... n);