The statement to be proven
For any sequence $(a_n)_{n \in \mathbb{N}}$ in $\mathbb{R}$ and $a \in \mathbb{R}$ such that $\lim_{n\to\infty} a_n = a$:
For any sequence $(k_n)_{n \in \mathbb{N}}$ in $\mathbb{N}$ such that ( $k_{n+1} > k_n$ for any $n \in \mathbb{N}$ ):
$\lim_{n\to\infty} a_{k_n} = a$.
Step 1
For any sequence $(a_n)_{n \in \mathbb{N}}$ in $\mathbb{R}$ and $a \in \mathbb{R}$ such that $\lim_{n\to\infty} a_n = a$:
For any sequence $(k_n)_{n \in \mathbb{N}}$ in $\mathbb{N}$ such that ( $k_{n+1} > k_n$ for any $n \in \mathbb{N}$ ):
[We simply expand the given condition by definition since we cannot use it directly.]
For any $ε' > 0$:
For some $m \in \mathbb{N}$:
For any $n \in \mathbb{N}_{\ge m}$:
$| a_n - a | < ε'$.
...
For any $ε > 0$:
For some $m \in \mathbb{N}$:
For any $n \in \mathbb{N}_{\ge m}$:
$| a_{k_n} - a | < ε$.
[We need to get the above to get the next statement.]
$\lim_{n\to\infty} a_{k_n} = a$.
Step 2
For any sequence $(a_n)_{n \in \mathbb{N}}$ in $\mathbb{R}$ and $a \in \mathbb{R}$ such that $\lim_{n\to\infty} a_n = a$:
For any sequence $(k_n)_{n \in \mathbb{N}}$ in $\mathbb{N}$ such that ( $k_{n+1} > k_n$ for any $n \in \mathbb{N}$ ):
For any $ε > 0$:
[Create an $m$ given by the existential quantification using the desired $ε$.]
Let $m \in \mathbb{N}$ such that:
For any $n \in \mathbb{N}_{\ge m}$:
$| a_n - a | < ε$.
[I've renamed the "$m$" below to not conflict with the "$m$" given above.]
...
[Now we have to show that at least one $c$ satisfies the statement under "for some $c$".]
For some $c \in \mathbb{N}$:
For any $n \in \mathbb{N}_{\ge c}$:
$| a_{k_n} - a | < ε$.
[We need to get the above to get the next statement.]
$\lim_{n\to\infty} a_{k_n} = a$.
Step 3
For any sequence $(a_n)_{n \in \mathbb{N}}$ in $\mathbb{R}$ and $a \in \mathbb{R}$ such that $\lim_{n\to\infty} a_n = a$:
For any sequence $(k_n)_{n \in \mathbb{N}}$ in $\mathbb{N}$ such that ( $k_{n+1} > k_n$ for any $n \in \mathbb{N}$ ):
For any $ε > 0$:
Let $m \in \mathbb{N}$ such that:
For any $n \in \mathbb{N}_{\ge m}$:
$| a_n - a | < ε$.
[It turns out that this very $m$ satisfies the later statement we wanted!]
Let $c = m$.
[So it is enough to prove the following statement.]
For any $n \in \mathbb{N}_{\ge c}$:
...
$| a_{k_n} - a | < ε$.
$\lim_{n\to\infty} a_{k_n} = a$.
Step 4
For any sequence $(a_n)_{n \in \mathbb{N}}$ in $\mathbb{R}$ and $a \in \mathbb{R}$ such that $\lim_{n\to\infty} a_n = a$:
For any sequence $(k_n)_{n \in \mathbb{N}}$ in $\mathbb{N}$ such that ( $k_{n+1} > k_n$ for any $n \in \mathbb{N}$ ):
[(1): The induction that you mentioned can be inserted here.]
For any $ε > 0$:
Let $m \in \mathbb{N}$ such that:
(2): For any $n \in \mathbb{N}_{\ge m}$:
$| a_n - a | < ε$.
Let $c = m$.
For any $n \in \mathbb{N}_{\ge c}$:
$k_n \ge n$ [by (1)].
Thus $k_n \ge c = m$. [This is why we chose $c$.]
Thus $| a_{k_n} - a | < ε$ [by applying (2) to $k_n$].
$\lim_{n\to\infty} a_{k_n} = a$.
Comments
See if the above makes sense. It is exactly how I constructed the proof from scratch. For it to work you must understand exactly what is meant by scoping and the logical rules. Most of it should be common sense once you get used to thinking in terms of nested contexts.
There are two ways of obtaining the above proof. The first is to blindly follow the logical rules to see what we can get. In simple cases like this it would actually work since all we needed to figure out was what $c$ would work inside there.
The second way is to understand the structure of limits of sequences. A limit means that for any tolerance level, when you go far enough along the sequence, eventually all subsequent terms will be near the limit within the chosen tolerance level. This tells you immediately that you want $c$ to be at least $m$ so that the subsequence has gone far enough.
The second way is of course the preferable method, but you still need to know the logical rules so that you can rigorously check that the intuitive solution is actually valid.