A (interactive) proof system for a language $\mathcal{L}$ is defined by two algorithms $\mathcal{P}$, a prover, and $\mathcal{V}$, an efficient verifier, with the following requirements:
- Completeness: For $x\in \mathcal{L}$, $\Pr[\mathcal{V}(x, \mathcal{P(x)}) = 1] \geq c$, for some fix constant $c \in (0,1]$.
- Soundness: For $x\notin \mathcal{L}$, $\Pr[\mathcal{V}(x, \mathcal{P(x)}) = 1] \leq s$, for some fix constant $s\in [0,1)$ such that $c-s = \delta>0$.
Note that $\mathcal{V}$ does not necessarily run $\mathcal{P}$ as a subroutine.
It is generally stated that soundness and completeness can be "amplified" by running the proof system on the same instance $x$ multiple times.
Most of the time, the case of soundness is illustrated by saying that the probability that $\mathcal{V}$ outputs $1$ on all $n$ instances will be $s^n$, which to me makes sense in the case we have, for completeness, $x\in \mathcal{L}$, $\Pr[\mathcal{V}(x, \mathcal{P(x)}) = 1] = 1$. Since we know that for $x\in \mathcal{L}$, $\mathcal{V}$ is always going to output $1$ and when $x\notin \mathcal{L}$, with probability $1-s^n$, $\mathcal{V}$ will output $0$.
However, when $0<c<1$, how does repeating the process will help amplify the soundness? and how can it also amplify the completeness given that when $x\in \mathcal{L}$, it is still possible for $\mathcal{V}$ to output $0$.