Question: Some physical theories such as special theory of relativity are based on the invariance of the speed of light.  

However, is the invariance of the speed of light, in the first place, logically possible?

I'm talking about this version or its equivalence: the speed of light in vacuum is always measured to be the same value from any uniformly moving observer even if at different (but constant) velocities.

Suppose there are two uniformly moving observers at different velocities:  

An observer O moving at constant velocity **v** with respect to some observer  

Another observer (light in vacuum) L moving at constant velocity **c** with respect to the same observer  

where **c** = k \* **v** for some real number k except 1

Also consider the velocity of L with respect to each observers:  

The velocity of L with respect to O = **c** - **v**  

The velocity of L with respect to L itself = **c** - **c** 

If the invariance of the speed of light is true, those values should be identical for O and L are defined as uniformly moving observers.  

Then, we can obtain this equation:  

**c** - **v** = **c** - **c**  

But the solution **v** = **c** contradicts our definition **v** and **c** are different.

Therefore, I believe the invariance of the speed of light is untrue.  

Or is there any error in my disproof above?

Answer: 
> 
> Also consider the velocity of L with respect to each observers
> 
> 
> 

What seems obvious to us now wasn't as obvious to people at the time of Galileo. Although we are used to [Galilean transformation](https://en.wikipedia.org/wiki/Galilean_transformation) so much that we consider it trivial and obvious, it is not the only logically consistent way to transform positions and velocities. The usual formula for addition of velocities simply as vectors, ubiquitous in classical mechanics, is a corollary of Galilean transformation, which is only an approximation to the more precise [Lorentz transformation](https://en.wikipedia.org/wiki/Lorentz_transformation) used in relativistic mechanics.

When talking about speeds comparable to speed of light (or when combining any speeds with the speed of light), Galilean transformation is inadequate, and the full Lorentz transformation should be used. After you do this switch, your paradox will be resolved.
There are two related but distinct assumptions in your argument that are culprits: 

1. An object moving at the speed of light can be an observer.
2. If the velocity of an object is $\vec{u}$ w.r.t. an observer $O$ who itself moves at velocity $-\vec{v}$ w.r.t. another observer $O'$ then the velocity of the object w.r.t. $O' $ is given by $\vec{u}+\vec{v}$.

Notice that these assumptions are indeed physical assumptions. They don't follow simply out of principles of logic. Let me elaborate a bit more on both of these assumptions.

1. Logically, there are two possibilities: either the speed of light is invariant among all inertial observers or not. If it is invariant then any object moving at the speed of light cannot be an observer because an observer must be at rest w.r.t. itself which cannot be achieved without violating the condition of the invariance of the speed of light. If it isn't invariant then clearly, an object moving at the speed of light can be an observer--there is no contradiction. So, both these scenarios are internally consistent possibilities. Which of these two internally consistent possibilities are realized in nature is an empirical question. Turns out, the speed of light is invariant and correspondingly, an object moving at the speed of light cannot be an observer.
2. This assumption is true only if the Galilean transformation of coordinates holds true between inertial observers. Whether or not this is the case is an empirical question. Turns out, it doesn't hold true. The transformation of coordinates that does hold true between inertial observers is the Lorentz transformation. Under the Lorentz transformation, the law of transforming velocities between inertial observers is precisely such that the speed of light remains invariant.

---

Finally, following [this wonderful paper by Pal](https://arxiv.org/abs/physics/0302045), I would add this clear logical framing in which one can address this topic: If one assumes the following simple but physical conditions to hold 

* homogeneity of space
* homogeneity of time
* isotropy of space
* principle of relativity among inertial observers

then it mathematically follows that there must exist an invariant speed which should also be the same as the maximum speed limit--however, this speed can either be finite or infinite. Galilean relativity corresponds to the case of this invariant speed being infinite (i.e., the case of no physically meaningful invariant speed) whereas Einsteinian relativity corresponds to the case of this invariant speed being finite. Turns out that nature is, in fact, Einsteinian.