# Exercise 2.87

Here is my implementation of `=zero?`

for polynomials:

```
;; inside the polynomial package
define (=zero-poly? poly)
(cond ((empty-termlist? (term-list poly)) true)
((=zero? (coeff (first-term (term-list poly))))
(=zero-poly? (make-poly (variable poly)
(rest-terms (term-list poly)))))
(else false)))
(put '=zero? '(polynomial)
(lambda (poly) (=zero-poly? poly)))
```

Now we can test it:

```
(=zero? (make-polynomial 'x (list (list 5 0)
(list 4 (make-rational 0 3))
(list 3 (make-complex-from-real-imag 0 0))
(list 2 (make-polynomial 'y '((3 0)(1 0)))))))
; => #t
```

Our procedure understand that: \(0x^{5+x}4+(0+0i)x^{3+(0y}3+0y)x^2=0\)\ As we can see our implementation is extremely powerful!