What kind of documentation? This is a little ambiguous.
The code should be obviously written to be readable and documented according to the style popular with given language -- this usually means comments or equivalent mechanism.

Should the documentation include a mathematical proof of correctness of the program?

A dissertation about the program's design and design decisions made?

Installation instructions?

-- Radomir Dopieralski, 2007-Nov-21

Yes.

-- [[YvesPiguet]], 2007-Nov-21