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

добавив еще одну проверку к программе
deriv
и определив соответствующие процедуры
exponentiation?
,
base
,
exponent
и
make-exponentiation
(обозначать возведение в степень можно символом
**
). Встройте правила, что любое выражение, возведенное в степень
0
, дает
1
, а возведенное в степень
1
равно самому себе.
Комментарии отсутствуют.