I want to test, for example with
MatchQ, if the argument of a function is an arbitrary expression in a single or several variables whose names can be assumed to be known. Except of these variables the expression should contain only numeric values. An approach would be to generate a list of unknowns in an expression and to compare this list to a given one. But I do not know either how to create that list for an arbitrary expression. By expression I mean a mathematical expression here.
should be matched if I require it to be an expression in
should not be matched in this case. Note that this does not mean that you can assume that the expression contains only these functions and rationals.
should evaluate only if the expression is e.g. of the first kind