I have a simple function that is supposed to only accept numeric values (i.e. complex/real numbers and constant symbols e.g. Pi, E). $$f(a,b,c)=a+b+c$$ **Edit**: I should have chosen a less simple function for this question as there might be approaches that will work for this simple function but not for functions in general (1-see end of question). Please think of a more complicated function, such as $$f(a,b,c)=a^2 sin(b) log(c)$$ when you're thinking of an answer. I know that one can use [_?NumericQ][1] for each parameter such that only numeric values of that parameters are entered into the function (click [here][2] for more information on putting constrains on patterns). Clear[f1] f1[a_?NumericQ, b_?NumericQ, c_?NumericQ] := a + b + c f1 @@@ {{1, 2, 3}, {x, y, z}, {1, y, z}, {x, 2, z}, {x, y, 3}} (* {6, f[x, y, z], f[1, y, z], f[x, 2, z], f[x, y, 3]} *) However, for functions with more than 1 variables, I'm way too lazy to add NumericQ after each parameter. Using /; at the end of the function definition works, but I feel it's still too long and I have to retype the name of the parameters (a,b,c) at the end. Clear[f2, f3] f2[a_, b_, c_] := a + b + c /; And @@ (NumericQ[#] & /@ {a, b, c}) f3[a_, b_, c_] := a + b + c /; VectorQ[{a, b, c}, NumericQ] Is there any way to express the condition only once, and without having to type the list of parameters one more time? I know that this is a frivolous question borne out of sheer laziness but I'd love to hear your ideas. (1) such as using the [double underscore (BlankSequence)][3] to apply NumericQ to any number of arguments passed to Plus (per Kuba's helpful suggestion). This is because these arguments have identical hierarchy in the function--thus having no need for parameters with different names to represent them--and because Plus can take any number of arguments. Clear[f4] f[a__?NumericQ] := Plus[a] f @@@ {{1, 2, 3}, {x, y, z}, {1, y, z}, {x, 2, z}, {x, y, 3}} (* {6,f[x,y,z],f[1,y,z],f[x,2,z],f[x,y,3]} *) [1]: http://support.wolfram.com/kb/3820 [2]: http://reference.wolfram.com/mathematica/tutorial/PuttingConstraintsOnPatterns.html [3]: http://reference.wolfram.com/mathematica/ref/BlankSequence.html