The Schnorr protocol is a 3-steps proof of knowledge of a discrete logarithm, whose interactive version works as follows. Let $p$ and $q$ be two public primes, such that $q \mid (p-1)$, and let $G$ be a cyclic group of order $q$, having generator $g$. The prover $P$ wants to prove knowledge of $x=\log_g(y)$ to a verifier $V$, by the following steps: 1) $P$ commits himself to randomness $r \in Z_q$, and sends $t=g^r$ $\bmod$ $q$ to $V$. 2) $V$ replies to $P$ with a challenge $c$ chosen at random in $[0,q-1]$. 3) After receiving $c$, the prover $P$ sends the response $s=r+cx$ $\bmod$ $q$ to $V$. 4) Finally, the verifier accepts if $g^s = t y^c$ $\bmod$ $q$. My question is: What is the exact reason why the response $s$ of the prover in step 3 is that one, and not another one? For example, couldn't it also work if the response were, for example, $s=r+c+x$ or $s=rc+x$, and then the verifier had to check if $g^s = t g^c y$ or $g^s = t^c y$, respectively?