[ library(linearize) | Reference Manual | Alphabetic Index ]

polyrenorm(+PolyOld, -PolyNew)

Renormalize a polynomial form
PolyOld
Possibly denormal polynomial form
PolyNew
Normalized polynomial form

Description

See polynorm/3 for the definition of the polynomial form. Such a form can become denormalized due to unifications (instantiation or variable-variable aliasing). This predicate renormalizes it.

Examples

    ?- polynorm(3*(X+Y),  Poly1, []), writeln(Poly1),
	Y = 3,
	polyrenorm(Poly1, Poly2), writeln(Poly2).

    [[[3, X], [3, Y]]]
    [[[9]], [[3, X]]]
    

See Also

polynorm / 3, polydenorm / 2