Light focusing on long distances If I have a green laser (500 nm wavelength) with initial beam diameter 3 mm, with proper lenses I can easily focus it to 1 mm or 0.5 mm for small distances like 10 cm.
My question is can I focus it from 3mm to 1 mm on long distances like 1 km or 100 m? From common sense, I feel that it is not possible from diffraction limits point of view, but I could not find exact explanation and equation how to calculate it. There are equations how to calculate maximum possible resolution for microscope/telescope, but not the minimum size of focal spot depending on the focal length/wave length of the lens.
For example, in the picture below if X is a few centimetres it looks possible, but if X is 100 meters or 1 km is it possible or not theoretically and practically?

UPDATE 1
Let's consider a simple case when I have a laser beam, which usually has Gaussian energy distribution, but for simplicity let's assume I cut sides of this Gaussian beam with the diaphragm and it almost flat (not really Gaussian). Anyway, 80% of energy is in the middle of Gaussian beam and if I cut the sides I will lose only 20%.
Or I can ask how to calculate what is the minimal Gaussian beam waist can be achieved by lens depending on focal length of the lens, beam wavelength and initial beam waist size. If I read this article, I could not find the answer as well.
UPDATE 2
For lasers there is the only way to calculate it properly is Ray Transfer matrices for Gaussian beams as written here. It depends not only on initial beam size, but on initial beam curvature (how fast it diverges in space).
I asked one professor specialized in lasers and the answer was: In reality, focusing the laser beam to small size can be achieved for several meters with some optics (lenses etc), but long distance is practically not possible.
UPDATE 3
Let's be more practical. I bought a green laser pointer 5 milliwatts from Aliexpress with 0.5 $\mu m$ (500 nm) wavelength. In a normal condition in a 1 km distance, the spot size of this laser is 10 cm. In 1 meter the spot size is 3mm.
Can I put any lens (one or many) and make the spot size 3mm in 1 km distance?
If yes, which lens should I put (what is the lens focal distance)?
I do not know anything else about this laser. If I need to do any extra measurements to do the calculations, then which measurements?
 A: A laser beam is described as a gaussian beam. A gaussian beam is described by a spot size that changes as you move along the length of the beam. This is obvious when a laser beam is being focused. The beam is big near the lens but gets smaller as you approach the focus. The equation describing the size of the spot is:
\begin{align}
w(z) =& w_0\sqrt{1+\left(\frac{z}{z_R}\right)^2}\\
z_r =& \frac{\pi w_0^2}{\lambda}
\end{align}
Here $z$ is distance along the propagation direction away from the focus, $w_0$ is the waist where the beam is smallest, $\lambda$ is the wavelength of light and $z_R$ is what is known as the Rayleigh range. Note that if the waist is small then the Rayleigh range is small and vice versa.
For $z\ll z_R$ we have that $w(z) \approx w_0$. That is, within the Rayleigh range the size of the beam is approximately constant. Consider, for example, a beam with wavelenght $\lambda \approx 1 \text{ $\mu$m}$ with waist $w_0 = 1 \text{ mm}$. The Rayleigh range would then be $z_R \approx 3 \text{ m}$. This means that for 3 meters the beam would keep a size of roughly 1 mm. However, at larger distances the beam would begin to diverge.
Looking at the equation above we see that for $z\gg z_R$ we have
$$
w(z) \approx \frac{w_0}{z_R} z
$$
That is the waist grows linearly as the beam propagates. This is what is meant by divergence of a beam. The divergence angle is given by
$$
\theta = \arctan\left(\frac{\omega_0}{z_R}\right) \approx \frac{\omega_0}{z_R} = \frac{\lambda}{\pi w_0}
$$
Where the small angle approximation holds for $\lambda \ll w_0$ which is typically the case. If $\omega \approx \lambda$ then the paraxial description of a Gaussian beam begins to break down. Notice that a beam with a smaller waist diverges more rapidly.
With these equations you see that if you know $w_0$ and $\lambda$ you can calculate the waist $w(z)$ everywhere. Alternatively, if you know $w(z)$ at some point $z$ outside the Rayleigh range as well as $\theta$ you can calculate both $w_0$ as well as the location of the waist.
One final note. I've hinted at this above but I want to say it clearly. You can see there is no such thing as a truly collimated beam. For large enough distances beams always diverge. The relevant length scale is $z_R$. If we are only concerned with the properties of a beam over short distances ($z< z_R$) then it is possible to think about the concept of a collimated beam, but we should be careful in case we get confused.
edit: To address the question, with the equation for $\theta$ as a function of $w_0$ you should be able to calculate the size of the beam at the lens for your 1 mm waist as a function of distance between the focus and the lens you are using to focus down the beam. As @flippiefanus points out, the farther away your lens is the larger the beam is going to need to be. You quickly reach technical impracticality.
A: If you make the input beam size big enough you can, but you would probably have to make the beam so large it would be impractical. 
A: One can derive an expression for the location of the waist (focus) of the Gaussian beam behind a lens, as a function the beam waist location in front of the lens. The maximum distance for the location of the waist behind the lens (sometimes refered to as beam throw) is given by the focal length plus the Rayleigh range
$$z_{\rm out} = f + z_{R,{\rm out}} = f + \frac{\pi w_{\rm out}^2}{\lambda} , $$
where $w_{\rm out}$ is the beam waist radius behind the lens. This condition is obtained when the input waist is also located at the focal length plus the input Rayleigh range from the lens. If the beam behind the lens has a large size, then the Rayleigh range would also be large. The size of the output Gaussian beam behind the lens under maximum beam throw conditions, is given by
$$ w_{\rm out} = \frac{f\lambda}{\sqrt{2} \pi w_{\rm in}} , $$
where $w_{\rm in}$ input beam waist radius in front of the lens, and the output Rayleigh range under these conditions, is given by 
$$ z_{R,{\rm out}} = \frac{f^2}{2 z_{R,{\rm in}}} , $$
where $z_{R,{\rm in}}$ is the input Rayleigh range in front of the lens.
