As stated in namespace.std#6:
Let F denote a standard library function ... Unless F is designated an addressable function, the behavior of a C++ program is unspecified (possibly ill-formed) if it explicitly or implicitly attempts to form a pointer to F. ...
Which means for the following program:
#include <cctype>
auto f = &std::tolower; // bad
the behavior is unspecified, and the program is possibly ill-formed. (std::tolower is not an addressable function).
However, is the following program well-formed and/or is the behavior specified?
#include <cctype>
using u = decltype(&std::tolower); // good?
Here, the forming of the pointer to the function is done in an unevaluated context, and so it seems reasonable that I could just get the type of the function pointer. In this case, I expect u to just be int (*) (int) noexcept. Is this valid?