Post's functional completeness theorem