  This article discusses the logical errors in the liar paradox, G\"odel's
incompleteness theorems, Russell's paradox, and the halting problem. In order
to avoid these errors, a redefinition of logic has been presented, which is
concluded as four principles in set-theoretic language, including 1. Don't talk
about empty; 2. Elements of set should have identity; 3. Sets should have
definitions; and 4. A total set should be defined. The new definition of logic
can eliminate all paradoxes and invalid statements, thus becoming a solid
foundation for human language and knowledge.
