Polynomial abstract data type