The following expression looks incorrect in Part 4, section 6.16.32 FACT, Semantics:
F(0) = F(1) = 1.
F is a parameter, not a function. This should probably be:
FACT(0) = FACT(1) = 1.
As proposed.