Нормализация выражений 

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

> x^2-(x+1)*(x-1)-1;
normal(%);
 

 

`+`(`*`(`^`(x, 2)), `-`(`*`(`+`(x, `-`(1)), `*`(`+`(x, 1)))), `-`(1))
0
 

> 1/x+x/(x+1);
normal(%);
 

 

`+`(`/`(1, `*`(x)), `/`(`*`(x), `*`(`+`(x, 1))))
`/`(`*`(`+`(`*`(`^`(x, 2)), x, 1)), `*`(x, `*`(`+`(x, 1))))
 

> (f(x)^2-1)/(f(x)-1);
normal(%);
 

 

`/`(`*`(`+`(`*`(`^`(f(x), 2)), `-`(1))), `*`(`+`(f(x), `-`(1))))
`+`(f(x), 1)
 

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

> 1/x+x/(x+1);
normal(%);
normal( %%, expanded );
 

 

 

`+`(`/`(1, `*`(x)), `/`(`*`(x), `*`(`+`(x, 1))))
`/`(`*`(`+`(`*`(`^`(x, 2)), x, 1)), `*`(x, `*`(`+`(x, 1))))
`/`(`*`(`+`(`*`(`^`(x, 2)), x, 1)), `*`(`+`(`*`(`^`(x, 2)), x)))