Мне кажется, что теорема неверна.
Построим функцию

удовлетворяющую условиям задачи, но не являющуюся многочленом.
Сначала отметим известный факт, что существует функция

, которая является плоской в нуле, т.е. все её производные равны нулю. С её помощью нетрудно построить для всякого многочлена

гладкую функцию

, которая будет иметь в нуле те же производные, что и

. Если постараться, можно сконструировать функцию

, которая в точке

принимает те же значения, что и многочлен

со всеми его производными, а в точке

– те же, что и

.
Построим последовательность функций

, и покажем, что она сходится к некоторой функции, обладающей требуемыми свойствами.
Сначала строим на отрезке
![$ [0,1] $ $ [0,1] $](https://dxdy-04.korotkov.co.uk/f/f/4/5/f454eee9ec773a1a2aea6011d8bf1ffd82.png)
некоторую исходную бесконечно гладкую функцию

типа

обращающуюся на концах интервала в нуль со всеми производными.
Затем строим функцию

. Для этого на средней трети отрезка заменим исходную функцию

многочленом

, (проще всего линейной функцией), с учетом соблюдения непрерывности, оставляя пока на
![$ [0,1/3] $ $ [0,1/3] $](https://dxdy-01.korotkov.co.uk/f/0/7/0/0707c2450302d36e181ec03e4c6660b182.png)
и
![$ [2/3,1] $ $ [2/3,1] $](https://dxdy-01.korotkov.co.uk/f/8/d/c/8dc807fd59ea7cdb8c2a789330740f2882.png)
величину

неизменной.
После этого на отрезке
![$ [1/3-\epsilon, 1/3] $ $ [1/3-\epsilon, 1/3] $](https://dxdy-02.korotkov.co.uk/f/5/b/1/5b10cffd71ea68cbc2d6b830b2ae730082.png)
c некоторым подходящим

заменим исходную функцию

также на функцию типа

, но потребуем, чтобы значения её и всех её производных на концах интервала слева – совпадали с функцией

, а справа – совпадали с их значениями для локального многочлена

.
На правом интервале
![$ [2/3, 2/3+\epsilon] $ $ [2/3, 2/3+\epsilon] $](https://dxdy-04.korotkov.co.uk/f/7/6/3/763ac29a7e19ca649b961ef7b9146b5282.png)
достроим

, также потребовав равенства всех производных справа и слева.
Строим далее функцию

. Для этого на каждом из двух интервалов
![$ [0,1/3] $ $ [0,1/3] $](https://dxdy-01.korotkov.co.uk/f/0/7/0/0707c2450302d36e181ec03e4c6660b182.png)
и
![$ [2/3,1] $ $ [2/3,1] $](https://dxdy-01.korotkov.co.uk/f/8/d/c/8dc807fd59ea7cdb8c2a789330740f2882.png)
, где

не есть многочлен, вырезаем среднюю часть и снова заменяем на них функцию

локальными многочленами. Соединим многочлены и участки гладких функций новыми кусками гладких функций на участках (длины
![$\epsilon) : [1/9 - \epsilon, 1/9], [2/9, 2/9+\epsilon], [7/9-\epsilon, 7/9], [8/9, 8/9+\epsilon] $ $\epsilon) : [1/9 - \epsilon, 1/9], [2/9, 2/9+\epsilon], [7/9-\epsilon, 7/9], [8/9, 8/9+\epsilon] $](https://dxdy-03.korotkov.co.uk/f/6/4/d/64da34b8b9c07557135ecb072f65f90a82.png)
, выбирая их с условием совпадения всех производных на концах интервалов. При этом, как легко видеть, росток (germ) функции в однажды построенных точках сопряжения мы не трогаем.
Процесс построения функций

может быть неограниченно продолжен.
Нетрудно видеть, что, при

будет существовать предельная функция

. Любая точка из области определения

будет либо принадлежать окрестности, в которой функция локально равна некоторому многочлену, образованному при построении некоторой

, и больше не меняющемуся с увеличением

, либо будет концевой точкой области определения этого (локального) многочлена. Поскольку на каждом этапе построения (для каждого

) в концевых точках функция

будет обладать всеми производными, совпадающими с производными многочлена, то же будет справедливо и для предельной функции.
Требуемая функция получена.