It is well known that intuitive set theory (or naive set theory) is characterized by having paradoxes, e.g. Russell's paradox, Cantor's paradox, etc. To avoid these and any other discovered or undiscovered potential paradoxes, the ZFC axioms impose constraints on the existense of a set. But ZFC set theory is build on mathematical logic, i.e., first-order language. For example, the axiom of extensionality is the wff $\forall A B(\forall x(x\in A\leftrightarrow x\in B)\rightarrow A=B)$. But mathematical logic also uses the concept of sets, e.g. the set of alphabet, the set of variables, the set of formulas, the set of terms, as well as functions and relations that are in essence sets. However, I found these sets are used freely without worrying about the existence or paradoxes that occur in intuitive set theory. That is to say, mathematical logic is using intuitive set theory. So, is there any paradox in mathematical logic? If no, why not? and by what reasoning can we exclude this possibility? This reasoning should not be ZFC (or any other analogue) and should lie beyond current mathematical logic because otherwise, ZFC depends on mathematical logic while mathematical logic depends on ZFC, constituting a circle reasoning. If yes, what we should do? since we cannot tolerate paradoxes in the intuitive set theory, neither should we tolerate paradoxes in mathematical logic, which is considered as the very foundation of the whole mathematics. Of course we have the third answer: We do not know yes or no, until one day a genius found a paradox in the intuitive set theory used at will in mathematical logic and then the entire edifice of math collapse. This problem puzzled me for a long time, and I will appreciate any answer that can dissipate my apprehension, Thanks!



The sets in mathematical logic
I have been asked this question several times in my logic or set theory classes. 
The conclusion that I have arrived at is that you need to assume that we know how to deal
with finite strings over a finite alphabet. This is enough to code the countably many
variables we usually use in first order logic (and finitely or countably many constant, 
relation, and function symbols).


So basically you have to assume that you can write down things. 
You have to start somewhere, and this is, I guess, a starting point that most mathematicians
would be happy with.
Do you fear any contradictions showing up when manipulating finite strings over a finite 
alphabet? 


What mathematical logic does is analyzing the concept of proof using mathematical methods.
So, we have some intuitive understanding of how to do maths, and then we develop mathematical
logic and return and consider what we are actually doing when doing mathematics.
This is the hermeneutic circle that we have to go through since we cannot build something from nothing.


We strongly believe that if there were any serious problems with the foundations of mathematics (more substantial than just assuming a too strong collection of axioms), the problems would show up in the logical analysis of mathematics described above.


