We have to recall the statement of the Theorem :
First incompleteness theorem (Gödel). Any ω-consistent formal system S within which a "certain amount" of elementary arithmetic can be carried out is incomplete with regard to statements of elementary arithmetic : i.e.there are such statements which can neither be proved, nor disproved in S.
The argument of Gödel's first incompleteness theorem is a little bit complex.
In addition, the condition of ω-consistency is a little bit "convoluted"; thus starting from Wiki's exposition, we will develop a "simple" argument, assuming the soundness of the system S [i.e.the system S does not prove false sentences; by the way, soundness implies consistency].
We have to start with :
1) Arithmetization of syntax :The main problem [is] to construct a statement p that is equivalent to " p cannot be proved" [...] Gödel's ingenious technique is to show that statements can be matched with numbers (often called the arithmetization of syntax in such a way that "proving a statement" can be replaced with "testing whether a number has a given property" [here we need the property of system S to include a "certain amount" of arithmetic: the system S must have enough capabilities in order to "express" the syntactic relations and properties of the system itself].
2) Construction of a statement about "provability" : Having shown that in principle the system can indirectly make statements about provability, by analyzing properties of those numbers representing statements it is now possible to show how to create a statement that actually does this.
Therefore there is a statement form Bew(y) that uses this arithmetical relation to state that a Gödel number of a proof of y exists:
Bew(y) = ∃ x ( y is the Gödel number of a formula and x is the Gödel number of a proof [in S] of the formula encoded by y).
Last step is :
Diagonalization : The next step in the proof is to obtain a statement that says it is unprovable. Although Gödel constructed this statement directly, the existence of at least one such statement follows from the diagonal lemma, which says that for any sufficiently strong formal system and any statement form F there is a statement p such that the system [S] proves :
p ↔ F(G(p)).
By letting F be the negation of Bew(x), we obtain the theorem
p ↔ ~Bew(G(p)),
and the p defined by this roughly states that its own Gödel number is the Gödel number of an unprovable formula.
The statement p [...] states that if a certain calculation is performed, the resulting Gödel number will be that of an unprovable statement. But when this calculation is performed, the resulting Gödel number turns out to be the Gödel number of p itself.
Now we can put all the ingredients together.
The reasoning in Gödel's proof is now as follows. First, if p is in fact a theorem of S, then it is provable in S that p is a theorem of S [that is : Bew(G(p)), the formula which asserts that there exists a number x which is the Gödel number of a proof in S of the formula encoded by G(p)].
The reason for this is that "being a theorem of S" is a property that can be verified by exhibiting a proof in S, and since being a proof in S is required to be a computable property of sequences of sentences, the verification can be carried out within S itself [again : S includes a "certain amount" of arithmetic ...].
Thus, if S proves p, i.e. if p is a theorem of S, then S proves also ~Bew(G(p)), by the equivalence above [recall that p is a provable fixpoint of the property of not being a theorem of S]; but it proves also Bew(G(p)), by the previous argument. So we have a contradiction.
Now consider the case that S proves ~p; by "construction" of p, it proves a sentences "saying that" p is unprovable. Now, we have two possibility .
(i) the proof of p exists : in which case S is clearly inconsistent;
(ii) the proof of p does not exists : in which case S proves a false sentence, because it proves Bew(G(p)), which assert that the proof exists. Thus, S must be unsound.
Conclusion: assuming that S is "capable" of expressing a "certain amount" of arithmetic, the system S cannot be both sound and complete.
But we stay with our "natural insight" about the soundness of arithmetic. Thus, a system "containing" arithmetic must be incomplete.
Having proved that the Gödel's sentence p is unprovable in S, due to the fact that p can be "read" as asserting its own unprovability, Gödel's proof shows that p is true. Thus, in addition to proving the existence of an unporvable sentence, Gödel's proof gives us a method to "manufacture" :
a true sentence expressible in S that is not provable in S.
See Torkel Franzén, Gödel's theorem An incomplete guide to its use and abuse (2005).