Can logic be defined in terms of sets? Can sets be defined using logic?

If both answers are positive, is one reduction preferable to the other? In what sense?

The short answer is no. If you read any text on formal logic or axiomatic set theory, *even if the text is not assuming the other as given*, you will inevitably find that the author necessarily appeals to "intuitive logic" and "naive set theory".

I once asked the same question you did, and I once thought that, to "do all of mathematics", one first needed to develop first-order logic, so that one could formulate axiomatic set theory in all its glory, and start proving theorems from there. I then audited a course in mathematical logic, and it was then that I first noticed the inevitable use of intuitive, human logic (not to mention naive set theory) used for develop formal logic. It made me realize that you're not going to get something from nothing. You have to start somewhere. And hence I decided to accept on faith (i) intuitive logic and (ii) naive set theory. As Samuel says "neither logic nor sets are defined, but rather just taken for granted to exist."

The beauty of this, however, was that, if I now just accept that I can take logic and set theory on faith, I can now begin developing any branch of mathematics I want without first having to go through the first-order logic->axiomatic set theory route and not feel as if I am leaving out all the "low-level details".

Now, instead of viewing mathematical logic as a field of mathematics set apart from the rest of mathematics in the sense that, somehow, it needs to be done "first", I view it on the same level as the rest of mathematics. For example, in the same way that other branches of mathematics are created for the purpose of mathematically modeling our intuitive idea of, for example, plane geometry, mathematical logic is a branch of mathematics created for the purpose mathematically modeling our intuitive idea of logic.

Hope this sorts out your philosophical dilemma =)

Logic consists of formal manipulations of strings of symbols. It is taken for granted that we, humans, know how to parse and manipulate these. We add the axioms of set theory, which are strings involving variables and a relation $\in$. The strings of symbols and the variables have no intrinsic meaning, but we, humans, interpret the variables as sets and the strings as statements about these sets. We simply denote the objects which logic speaks about as "sets". Thus, neither logic nor sets are defined, but rather just taken for granted to exist.