On Program Synthesis Knowledge. AIM-306