The paragraph describing validInstruction is wrong. It should read:
Returns true if the instruction is valid, and false if the instruction is
invalid. Instructions can be invalid if their op code is invalid (not 0-10), or
if the destination register writes to register R1.
Writing to register R0 is valid, but does not change machine state.