Mathematica knows that constants such as
Pi are numeric quantities. It also knows that standard mathematical functions such as
Log and
Sin have numerical values when their arguments are numerical.
In general,
Mathematica assumes that any function which has the attribute
NumericFunction will yield numerical values when its arguments are numerical. All standard mathematical functions in
Mathematica already have this attribute. But when you define your own functions, you can explicitly set the attribute to tell
Mathematica to assume that these functions will have numerical values when their arguments are numerical.