[proofplan]
The deletion formula follows directly from the definition of deletion: deleting $e$ does not change which subsets of $E \setminus \{e\}$ are independent. For contraction, we split into the two possible rank values of the singleton $\{e\}$. If $e$ is a loop, contraction agrees with deletion and the formula reduces to the deletion formula; if $e$ is not a loop, independent sets in $M/e$ are exactly the sets whose union with $\{e\}$ is independent in $M$, so the rank is the largest size of such a set, namely $r_M(A \cup \{e\}) - 1$.
[/proofplan]
[step:Compare independent subsets after deleting $e$]
Let $\mathcal{I}_M$ denote the collection of independent subsets of $E$ in $M$. By definition, the independent sets of $M \setminus e$ are precisely
\begin{align*}
\mathcal{I}_{M \setminus e} = \{I \subset E \setminus \{e\} : I \in \mathcal{I}_M\}.
\end{align*}
Fix a subset $A \subset E \setminus \{e\}$. The independent subsets of $A$ in $M \setminus e$ are therefore exactly the independent subsets of $A$ in $M$. Since rank is the maximum cardinality of an independent subset, we get
\begin{align*}
r_{M \setminus e}(A) = \max\{|I| : I \subset A,\ I \in \mathcal{I}_{M \setminus e}\}
= \max\{|I| : I \subset A,\ I \in \mathcal{I}_M\}
= r_M(A).
\end{align*}
[/step]
[step:Handle contraction when $e$ is a loop]
Assume first that $e$ is a loop of $M$. Then $\{e\}$ is not independent, so the largest independent subset of $\{e\}$ is $\varnothing$, and hence
\begin{align*}
r_M(\{e\}) = 0.
\end{align*}
By the definition of contraction by a loop, $M/e = M \setminus e$. Therefore, for every subset $A \subset E \setminus \{e\}$, the deletion formula gives
\begin{align*}
r_{M/e}(A) = r_{M \setminus e}(A) = r_M(A).
\end{align*}
Since $e$ is a loop, adjoining $e$ to any subset does not increase rank: an independent subset of $A \cup \{e\}$ cannot contain $e$, and every independent subset of $A$ is also a subset of $A \cup \{e\}$. Thus
\begin{align*}
r_M(A \cup \{e\}) = r_M(A).
\end{align*}
Combining these equalities with $r_M(\{e\}) = 0$ gives
\begin{align*}
r_{M/e}(A) = r_M(A \cup \{e\}) - r_M(\{e\}).
\end{align*}
[/step]
[step:Relate independent sets in the contraction to independent sets containing $e$]
Assume now that $e$ is not a loop. Then $\{e\}$ is independent, so
\begin{align*}
r_M(\{e\}) = 1.
\end{align*}
By the definition of contraction by a nonloop, the independent sets of $M/e$ are precisely
\begin{align*}
\mathcal{I}_{M/e} = \{I \subset E \setminus \{e\} : I \cup \{e\} \in \mathcal{I}_M\}.
\end{align*}
Fix a subset $A \subset E \setminus \{e\}$. Therefore
\begin{align*}
r_{M/e}(A) = \max\{|I| : I \subset A,\ I \cup \{e\} \in \mathcal{I}_M\}.
\end{align*}
[guided]
Now assume that $e$ is not a loop. This means exactly that the singleton $\{e\}$ is independent in $M$. Since the only independent subset of $\{e\}$ with largest size is then $\{e\}$ itself, we have
\begin{align*}
r_M(\{e\}) = 1.
\end{align*}
The definition of contraction by a nonloop is designed to record independence after forcing $e$ to be present. Thus a subset $I \subset E \setminus \{e\}$ is independent in $M/e$ precisely when $I \cup \{e\}$ is independent in $M$. In symbols,
\begin{align*}
\mathcal{I}_{M/e} = \{I \subset E \setminus \{e\} : I \cup \{e\} \in \mathcal{I}_M\}.
\end{align*}
After restricting to a fixed subset $A \subset E \setminus \{e\}$, the rank of $A$ in $M/e$ is therefore the maximum size of a subset $I \subset A$ satisfying this condition:
\begin{align*}
r_{M/e}(A) = \max\{|I| : I \subset A,\ I \cup \{e\} \in \mathcal{I}_M\}.
\end{align*}
This formula is the bridge between the contraction rank and the original rank function. The remaining task is to identify this maximum with $r_M(A \cup \{e\}) - 1$.
[/guided]
[/step]
[step:Compute the contraction rank from a basis of $A \cup \{e\}$ containing $e$]
Let $B \subset A \cup \{e\}$ be an independent subset of $M$ containing $e$ with maximum possible cardinality among independent subsets of $A \cup \{e\}$ that contain $e$. Such a set exists because $\{e\}$ is independent and $E$ is finite.
We claim that $B$ has cardinality $r_M(A \cup \{e\})$. If not, there exists an independent subset $C \subset A \cup \{e\}$ with
\begin{align*}
|C| > |B|.
\end{align*}
By the augmentation axiom for matroids, applied to the independent sets $B$ and $C$, there exists an element $c \in C \setminus B$ such that $B \cup \{c\}$ is independent. Since $B$ already contains $e$, the element $c$ lies in $A$. This contradicts the maximality of $B$ among independent subsets of $A \cup \{e\}$ containing $e$. Hence
\begin{align*}
|B| = r_M(A \cup \{e\}).
\end{align*}
Define $I_B := B \setminus \{e\}$. Then $I_B \subset A$ and $I_B \cup \{e\} = B$ is independent in $M$, so $I_B$ is independent in $M/e$. Therefore
\begin{align*}
r_{M/e}(A) \ge |I_B| = |B| - 1 = r_M(A \cup \{e\}) - 1.
\end{align*}
Conversely, if $I \subset A$ and $I \cup \{e\}$ is independent in $M$, then $I \cup \{e\} \subset A \cup \{e\}$, so
\begin{align*}
|I| + 1 = |I \cup \{e\}| \le r_M(A \cup \{e\}).
\end{align*}
Thus
\begin{align*}
|I| \le r_M(A \cup \{e\}) - 1.
\end{align*}
Taking the maximum over all such $I$ gives
\begin{align*}
r_{M/e}(A) \le r_M(A \cup \{e\}) - 1.
\end{align*}
Combining the two inequalities yields
\begin{align*}
r_{M/e}(A) = r_M(A \cup \{e\}) - 1.
\end{align*}
Since $r_M(\{e\}) = 1$ in the nonloop case, this is exactly
\begin{align*}
r_{M/e}(A) = r_M(A \cup \{e\}) - r_M(\{e\}).
\end{align*}
[/step]
[step:Combine the loop and nonloop cases]
For a loop $e$, we proved
\begin{align*}
r_{M/e}(A) = r_M(A \cup \{e\}) - r_M(\{e\}).
\end{align*}
For a nonloop $e$, we proved the same formula using the definition of contraction and the augmentation axiom. Together with the deletion formula already established, this proves that for every $A \subset E \setminus \{e\}$,
\begin{align*}
r_{M \setminus e}(A)=r_M(A)
\end{align*}
and
\begin{align*}
r_{M/e}(A)=r_M(A\cup\{e\})-r_M(\{e\}).
\end{align*}
[/step]