Major Section: ACL2-BUILT-INS
(Zip i) is logically equivalent to (equal (ifix i) 0) and is
the preferred termination test for recursion through the integers.
(Zip i) returns t if i is 0 or not an integer; it
returns nil otherwise. Thus,
i (zip i) 3 nil 0 t -2 nil 5/2 t #c(1 3) t 'abc t
(Zip i) has a guard requiring i to be an integer.
For a discussion of the various idioms for testing against 0,
see zero-test-idioms.
Zip is typically used as the termination test in recursions
through the integers. It has the advantage of ``coercing'' its
argument to an integer and hence allows the definition to be
admitted without an explicit type check in the body. Guard
verification allows zip to be compiled as a direct
=-comparision with 0.