Question: Of types and properties

These two results seem contradictory:

  1. The first one means the type real doesn't exist, which can be easily verified by looking to the help(type) page, 
  2. Given the definition of '::' ( from help(coloncolon`) 'The  "::" operator serves several purposes in Maple, all related to types.') the second one suggests that real is a known type (for there is no error returned).
restart
f := x -> `if`(x::real, x, I*x):
f(3)
Error, (in f) type `real` does not exist
g := x -> is(x::real);
g(3), g(3*I)
                              true, false

Does assuming transforming "real" into a property in function g explains why it returns true?

Thank in advance for your explanations

(
Bulk questions:

Why doesn't real type exist, whereas complex type does?
From help(complex):
General complex numbers are numbers of the form x + I*y, where x and y are integers, rationals, or floats. In the general complex number case, if either x or y is a floating-point number, then an automatic conversion takes place, coercing both x and y into type float.
seems to mean that the complex is built upon floats and not reals.
But the dictionnary says
complex: adj. 1. of, involving, or of the form of a complex number, consisting of a real and an imaginary part, either of which may be zero. 2.- n. another term for a simplicial complex. Sometimes, however, less is required of a complex than of a simplicial complex. 3. (Group theory) an archaic term for a subset of a group.
real: adj.  1. involving or consisting of real numbers alone, having no imaginary part, or imaginary part equal to zero.  2. (as substantive) a real number.
The dictionnary doesn't mention floating point number but real ones, whereas the help pages do the opposite.

Why some numbers are considered as types whereas others are properties?
For instance, help(property) says that property rational is related to parent property real, but rational is also a type.
)

Please Wait...