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

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

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

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

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

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

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

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

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

 – те же, что и 

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

, и покажем, что она сходится к некоторой функции, обладающей требуемыми свойствами.
Сначала строим на отрезке 
![$ [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) функции в однажды построенных точках сопряжения мы не трогаем. 
Процесс построения функций 

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

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

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

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

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

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

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

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