L’invariante di rappresentazione di Poly
// OVERVIEW: un Poly è un polinomio a
// cofficienti interi non modificabile
// un tipico Poly: c0 + c1*x + c2*x2 + ...
private int[] termini; // la rappresentazione
private int deg; // la rappresentazione
// la funzione di astrazione
// a(c) = c0 + c1*x + c2*x2 + ... tale che
// ci = c.termini[i] se 0 <= i < c.termini.size()
// l’invariante di rappresentazione:
// I(c) = c.termini != null e
// c.termini.length >= 1 e
// c.deg = c.termini.length-1 e
// c.deg > 0 ==> c.termini[deg] != 0