In this book, Paulo Guilherme Santos studies diagonalization in formal mathematics from logical aspects to everyday mathematics. He starts with a study of the diagonalization lemma and its relation to the strong diagonalization lemma. After that, Yablo's paradox is examined, and a self-referential interpretation is given. From that, a general structure of diagonalization with paradoxes is presented. Finally, the author studies a general theory of diagonalization with the help of examples from mathematics.