**labels**: --> Lisp Core - Assume

declare(rrr,real)

declare(zzz,complex)

featurep(x,real) => false (!!)

With domain=real, should be true.

featurep(%i,imaginary) => false (!!)

Should be true.

featurep(cabs(zzz),real) unnecessarily asks whether

SQRT(REALPART(zzz)^2+IMAGPART(zzz)^2) is positive

or zero; similarly for sqrt(abs(x)+abs(y)).

Though featurep(sqrt(x),real) asks x pos/neg/z and

gives correct results, featurep(sqrt(x),imaginary) doesn't

ask the questions and returns false.

---------------

Note that (as best I understand its semantics), featurep

*correctly* gives featurep(rrr,complex)=>true, etc. I

believe that featurep is supposed to report whether the

range of values of an expression is a subset of the set

defined. Since rrr is real, and the reals are a subset of

the complexes, 3 is also complex.