Arbitrary constant of integration

In calculus, the indefinite integral of a given function (i.e. the set of all antiderivatives of the function) is always written with a constant, the constant of integration. This constant expresses an ambiguity inherent in the construction of antiderivatives. If a function f is defined on an interval and F is an antiderivative of f, then the set of all antiderivatives of f is given by the functions F(x) + C, with C an arbitrary constant.
Where does the constant come from?
The derivative of any constant function is zero. Once one has found one antiderivative F, adding or subtracting a constant C will give us another antiderivative, because (F + C)' = F' + C' = F' . This means that every function has many different antiderivatives. The constant is a way of expressing this fact.
For example, suppose one wants to find antiderivatives of cos(x). One such antiderivative is sin(x). Another one is sin(x)+1. A third is sin(x)π. Each of these has derivative cos(x), so they are all antiderivatives of cos(x).
It turns out that adding and subtracting constants is the only flexibility we have in finding different antiderivatives of the same function. That is, all antiderivatives are the same up to a constant. To express this fact for cos(x), we write:
 <math>\int \cos(x)\,dx = \sin(x) + C.<math>
Replacing C by a number will produce an antiderivative. By writing C instead of a number, however, a compact description of all the possible antiderivatives of cos(x) is obtained. C is called the constant of integration. It is easily determined that all of these functions are indeed antiderivatives of cos(x):
 <math>{d\over dx}(\sin(x) + C) = {d\over dx}(\sin(x)) + {d\over dx}(C) = \cos(x) + 0 = \cos(x).<math>
Why is the constant necessary?
At first glance it may seem that the constant is unnecessary, since it can be set to zero. Even better, when evaluating definite integrals using the Fundamental theorem of calculus, the constant will always cancel.
However, trying to set the constant equal to zero doesn't always make sense. For example, 2sin(x)cos(x) can be integrated in two different ways:
 <math>\int 2\sin(x)\cos(x)\,dx = \sin^2(x) + C =  \cos^2(x) + 1 + C<math>
 <math>\int 2\sin(x)\cos(x)\,dx = \cos^2(x) + C = \sin^2(x)  1 + C.<math>
So setting C to zero can still leave a constant. This means that, for a given function, there is no "simplest antiderivative".
Another problem with setting C equal to zero is that sometimes one wants to find an antiderivative that has a given value at a given point. For example, to obtain the antiderivative of cos(x) that has the value 100 at x=π, then only one value of C will work (in this case C=100).
This restriction can be rephrased in the language of differential equations. Finding an indefinite integral of a function f(x) is the same as solving the differential equation dy/dx = f(x). Any differential equation will have many solutions, and each constant represents the unique solution of a wellposed initial value problem. Imposing the condition that our antiderivative takes the value 100 at x=π is an initial condition. Each initial condition corresponds to one and only one value of C, so without C it would be impossible to solve the problem.
There is another justification, coming from abstract algebra. The space of all (suitable) realvalued functions on the real numbers is a vector space, and the differential operator
 d/dx
is a linear operator. The operator d/dx maps a function to zero if and only if that function is constant. Consequently, the kernel of d/dx is the space of all constant functions. The process of indefinite integration amounts to finding a preimage of a given function. There is no canonical preimage for a given function, but the set of all such preimages forms a coset. Choosing a constant is the same as choosing an element of the coset. In this context, solving an initial value problem is interpreted as lying in the hyperplane given by the initial conditions.
Why is a constant the only difference between two antiderivatives?
This result can be formally stated in this manner: Let F:R→R and G:R→R be two everywhere differentiable functions. Suppose that F'(x) = G'(x) for every real number x. Then there exists a real number C such that F(x)  G(x) = C for every real number x.
To prove this, notice that (F(x)  G(x))' = 0. So F can be replaced by FG and G by the constant function 0, making the goal to prove that an everywhere differentiable function whose derivative is always zero must be constant:
Choose a real number a, and let C = F(a). For any x, the fundamental theorem of calculus says that
 <math>0 = \int_a^x 0\,dx = F(x)F(a) = F(x)C,<math>
which implies that F(x)=C. So F is a constant function.
Two facts are crucial in this proof. First, the real line is connected. If the real line were not connected, we would not always be able to integrate from our fixed a to any given x. For example, if we were to ask for functions defined on the union of intervals [0,1] and [2,3], and if a were 0, then it would not be possible to integrate from 0 to 3, because the function is not defined between 1 and 2. Here there will be two constants, one for each connected component of the domain. In general, by replacing constants with locally constant functions, we can extend this theorem to disconnected domains.
Second, F and G were assumed to be everywhere differentiable. If F and G are not differentiable at even one point, the theorem fails. As an example, let F(x) be the Heaviside step function, which is zero for negative values of x and one for nonnegative values of x, and let G(x)=0. Then the derivative of F is zero where it is defined, and the derivative of G is always zero. Yet it's clear that F and G do not differ by a constant.
Even if it is assumed that F and G are everywhere continuous and almost everywhere differentiable the theorem still fails. As an example, take F to be the Cantor function and again let G = 0.