# What is the difference between the words "variables", "constants", "parameters" and "arguments"?

This has been nagging me for a while and then I saw a question on English SE asking what the difference is between variables and parameters.

In the context of mathematics, what is the difference between

1. variables
2. constants
3. parameters
4. arguments

I get 1. and 2. confused because, for example the general form of the quadratic function is often expressed $$f(x)=ax^2+bx+c, a \neq 0$$ and $$x$$ is the variable so what does that make a,b and c? I assume since math is so rigorous with precise definitions, these have one, but it is also a valid answer that as words they do not have a single precise definition.

• This is actually a pretty nice question as this may be one of the very few things than mathematicians seem not to have defined precisely! Commented Dec 16, 2020 at 13:30

In your example, I'd call $x$ an unknown. :) - But seriously, there is no absolute difference, it's more a matter of perspective. If you consider a single instance $f(x)=ax^2+bx+c$ of a quadratic, then $a,b,c$ are considered constants, but if you want to consider all quadratics, they are variables (or, as you sort of index the quadratics by them, parameters)

• $a,b$ and $c$ are also called coefficients in this case, just to add to the mix. Commented Oct 18, 2016 at 8:01
• @Arthur Yes, that would be by their role in the expression. I aimed merely for the subjective and varying degree of constantness/variability implied by the suggested words ... Commented Oct 18, 2016 at 8:03

Variables, parameters and constants roughly differ in their degree of "fixedness".

In the context of equations as in the examples you gave:

A variable, in principle, is an atomic term that can take an arbitrary value.

On can distinguish between independent variables, whose value can be freely chosen within a given domain, and dependent variables, which can in principle take any value but have that value depend on the values of other terms.

A parameter is a special kind of variable whose value is arbitrary but fixed. This means that the value of a parameter is constant for the case currently under consideration but may vary between different contexts.
For instance, the braking distance $$s$$ is given by $$s = f \cdot v^2$$, where $$v$$ is a variable denoting the vehicle's speed and $$f$$ is a parameter denoting influencing factors such as the constitution of the pavement and the tires. Once this parameter is fixed, it remains constant in the equation for any value of the speed, but the parameter could be set to a different value in a different context, e.g. a different type of car or road.

A constant is a term which represents a specific value that is the same across all contexts.
For instance, $$2$$ is a constant which always means the number $$2$$, $$\pi$$ is a constant which always means $$3.14 \ldots$$, etc.

An argument is one of the inputs to a function. In a function definition, the arguments are represented by variables; when the function is applied, its arguments can be arbitrary terms, either unknown variables such as $$x$$ leaving the value partially unknown, atomic constants such as $$2$$, or complex terms such as $$\sqrt{2+5}$$.

Since this question has been linked from Variables vs. Constants, how are they defined in ZFC, and how they differ? , the concepts are a bit different in symbolic logic.

In propositional logic, a propositional variable is an atomic proposition which denotes a truth value, assigned by a valuation function.

In first-order logic, an individual variable is an atomic term which denotes an object from the domain, assigned by a variable assignment function. A variable may undergo different assignments and thus take different values within the same structure. A variable is like a pronoun; the referent of "it" depends on which object one is pointing at and which situation one is in.

In first-order logic, an individual constant is an atomic term which denotes an object from the domain, assigned by an interpretation function. The interpretation of a constant is fixed within a structure, but may vary between different structures. A constant is like a proper name; the referent of "John" is always the same person within one situation but may take different referents in different situations.

In formal logic, a parameter is a special kind of constant used in certain kinds of proof systems, such as natural deduction analytic tableaux for first-order logic. There is an unlimited number of so-called parameters available to choose in an instantiation of some quantified statement, which act as names for objects but without but don't have a concrete interpretation.

In first-order logic, an argument is an input to a function or predicate symbol. Arguments can be individual variables, individual constants or complex terms such as $$+(4,x)$$.

Thus "constants" in first-order logic perhaps come closer to what one would otherwise call a parameter, in the sense that their interpretation is fixed in a given context (structure) but may vary between different contexts, whereas there is no pendant of true constant terms that have the same interpretation across any structure in first-order logic.

And there are yet other kinds of variables, e.g. random variables in statistics.

If one has a function $f:\mathbb{R}\rightarrow \mathbb{R}:x\mapsto x^2+3$, then $x$ is called a variable. A function tells you what to do with this variable. If $x$ is $4$, then $f(x)=x^2+3=4^2+3=19$. The value $3$ in the expression $f(x)=x^2+3$ is called a constant since that is what it is. It is three and will not change no matter what $x$ is.

One could consider the family of functions $f_a:\mathbb{R}\rightarrow \mathbb{R}:x\mapsto x^2+a$. For each value of $a$, one obtains a function $f_a$. Here $f_3$ is the function given in the first example. One refers to $a$ as a parameter since there is a family depending on it. One the parameter is fixed though, one again refers to it as a constant.

The argument of a function is usually the input in the function. Thus $x$ is the argument of $f(x)$, or $4x^3$ is the argument of $f(4x^3)$. However, the word argument is not reserved for such a meaning. I'm not claiming that these are the only ways to use these words, but I believe most people do agree with this terminology.

The word parameter is used in college mathematics when one studies parametric form of equations of a circle/parabola. $x=a\cos t, y=a\sin t$. Here $t$ is technically a variable. A curve instead of being a locus of points whose two co-ordinates satisfy a relation, has the more remarkable property that its co-ordinates are functions of new third variable. Perhaps this called for a new term, parameter in this context. (In algebraic geometry availability of parametric form means the curve is a rational curve).

A real variable sometimes means its value quantifies something (big and small means something here). A real parameter might mean just that different real values lead to different objects. See the answer by Hagen von Eitzen, the real numbers that are coefficients are parameters for quadratic equations; we don't intend to say one quadratic equation is bigger than another just because the corresponding coefficients are bigger).

Even constants are not always constants. There are absolute constants, and variable constants! To cite an example from physics you can write equation of a free falling body which will involve the constant $g$, acceleration due to gravity. Of course this constant will be different if you are a martian creature instead of an earthling.

As for argument, it is more commonly used in programming. There we have functions (does any one use the word subroutine now?). Functions have inputs they are called arguments. They could be of any data type (could be a file pointer, or a string). I think the word variable is avoided as one might think of real values when we hear of the word variables.