The problem here is really that the impeccable "logical" order isn't always the clearest way of explaining something. There's a couple of ways to get around this. Suppose, for example, that your argument is of the form $$\varphi_0 \rightarrow \varphi_1 \rightarrow \cdots \rightarrow \varphi_{389} \qquad \therefore \varphi_0 \rightarrow \varphi_{389}$$

Ask yourself: how did you actually come up with this argument? Well, you probably made an educated guess that $\varphi_0 \rightarrow \varphi_{87}$, that $\varphi_{87} \rightarrow \varphi_{217}$, and that $\varphi_{217} \rightarrow \varphi_{389}.$ Then you went about filling in the details.

So there's these special intermediate $\varphi$'s that are especially simple, or interesting, or natural-looking steps toward your actual goal.

**Approach 0.** Tell the reader about these special intermediate steps ahead of time.

For example:

The proof will proceed in three sections. In the first section, we will demonstrate that $\varphi_0 \rightarrow \varphi_{87}$. In the second section...

Then put "Section X" at the beginning of each section and be sure to remind the reader of what you're doing.

**Approach 1.** Alternatively, try reducing the argument to fewer lines by interjecting technical lemmas into the proof whenever you need them, and then proving them afterward. For example:

Assume $\varphi_0$. It's clear that $\varphi_1$, from which we deduce $\varphi_2$. Hence using:

**Lemma 0.** You're beuatiful.

we deduce $\varphi_{87}$. Multiplying both sides by your chest hair demonstrates that $\varphi_{88}$. Now use:

**Lemma 1.** If two people have identical chest hair, they're equal.

to see that $\varphi_{217}$.

(etc.)

Then go and prove the lemmas afterward.

**Addendum.** Rereading my original answer, I notice it has a major deficiency that I'd like to address here. In particular, the above answer fails to mention the importance of the word "show" and phrases like:

- "we're trying to show that..."
- "hence, it is enough to show that..."

Appropriate use of such phrases is a key tool for writing clearly, not only because they clarify what it is you're doing, but also because they give you a means of beginning at the end of the proof and working backwards, which is often a lot clearer.

Let's take a look at your example:

"Consider $s$, this seemingly random object that I present to you out of nowhere. Let us work on this for the next 1-2 pages, don't ask me why ..... [1-2 pages later] .... and that proves that $s$ is true. Now by noticing this and that, we see that this implies $S$ is true. Surprise! QED"

You could rewrite this as:

Our goal is to show $S$. By Theorem (whatever), it suffices to show $s$. Rewriting to make $x$ the subject, we see that it suffices to show $s'$. Therefore ..... [1-2 pages later] .... Hence it suffices to show that $1 > 0$. But this is trivial.

Be sure not to say "we need to show ." You never *need* to show a goal, because it's not a necessary step for completing the proof, rather it's *sufficient* for completing the proof. Better to say: "it's enough to show that," etc.

Here's a bigger example of how to write in this way that you might find helpful.

**Problem.** Show that $$\forall n \in \mathbb{N} : \sum_{i = 0}^{n-1}(i+1)^2 = \frac{n(n+1)}{2}.$$

We proceed by induction. For the base case, our goal is to show that $$\sum_{i = 0}^{0-1}(i+1)^2 = \frac{0(0+1)}{2}.$$ That is, we're trying to show that $0 = 0.$ But this is trivial.

For the inductive step, assume $$\sum_{i = 0}^{n-1}i+1 = \frac{n(n+1)}{2} \tag{$*$}.$$ Our goal is to show the following $$\sum_{i = 0}^{n}i+1 = \frac{(n+1)(n+2)}{2}.$$ Since the function $t \mapsto t - a$ is injective for all $a \in \mathbb{R}$, hence by subtracting $(*)$ from both sides, we see that it is enough to show that $$\sum_{i = 0}^{n}i+1 - \sum_{i = 0}^{n-1}i+1 = \frac{(n+1)(n+2)}{2} - \frac{n(n+1)}{2}.$$

Simplifying, we deduce that it's enough to show that $$n+1 = \frac{(n+1)(n+2)}{2} - \frac{n(n+1)}{2}.$$ But this is true, by elementary algebra. This completes the proof.