Максима: как заменить общие подвыражения на символы

Предположим, у меня есть выражение вроде (на самом деле мое гораздо более сложное, тысячи символов)

expr:a+b*c+b*c*d;

и я хочу заменить внутреннее подвыражение на символ (полезно, чтобы избежать повторного вычисления общих подвыражений), скажем,k на местеb*c:

subst(b*c=k,expr);

возвращается

k+b*c*d+a

Как я могу заставить Maxima вычислить «правильную» замену так, чтобы она возвращалась (кроме упрощения obviuos, здесь)

k+k*d+a

?

Ответы на вопрос(2)

Ваш ответ на вопрос