The Maths necessary to understand Logic, Model theory and Set theory to a very high level I am studying Philosophy but most of my interests have to do with the philosophy of Maths and Logic. I would like to be able to have a very high level of competence in the topics mentioned in the title, and I was wondering, given that I don't have a mathematical background beyond basic school level maths, what particular branches of pure mathematics will help me to go deeper in my study of Logic, Model theory and Set theory? Calculus? Group theory? I hope you can give me some suggestions.
 A: I would say that if you get hold of three books titled respectively "Mathematical Logic", "Model Theory" and "Axiomatic Set Theory" then that is pretty much all you need. Some or all of them should probably have the word "Introduction" in the title too.
I do not believe that calculus would be much help (but I understand that the elements of abstract algebra would be.)
If you want more precise recommendations for books, I am sure we can help there too.
A: It depends of course what you mean by "a very high level of competence"! Being able to understand high-level work in logic, model theory, set theory (and you should certainly add computability theory to the list) is one thing, being able to do frontiers-of-research mathematical work in such areas is another thing. If you are interested in the philosophy of maths and logic, then it is definitely the first which is crucial. And it is certainly possible to gain a very good advanced understanding of the areas you mention without having a very wide and rich mathematical background.
So I would say that, at least for the present, you should concentrate on logic (broadly construed) and set theory etc., and pick up other mathematical knowledge as you go along, on a need-to-know basis. When you when you come across references to some background mathematical idea that seems to be important (i.e. features in more than a dispensable example), you can always check out Wikipedia (often good) or get a fellow student to explain over a pint of beer: that could very well be enough for your initial purposes, though you could find yourself intrigued enough to want to delve a bit deeper. [Speaking for myself, it only when I started teaching myself some category theory that I found myself struggling a bit because of the lack of a wide knowledge of modern abstract pure maths, having done the maths tripos so long ago and then specializing in applied.] 
Still, having said that, why not sit in on a maths course or two at your university? That can be a relatively painless way of picking up more mathematical ideas! Start perhaps with the intro Analysis course. (Though since modern Analysis courses can put things set-theoretically at the outset, that can be potentially misleading about the supposed role of set theory as a foundation for mathematics. So maybe also try to an elementary course on Combinatorics or Number Theory,)
Finally, as it happens, I'm in the middle of writing a Teach Yourself Logic guide – I mean annotated reading list – for philosophy students who want to get to a high level of competence. So far it is only partly done, but you can find the current version here: http://www.logicmatters.net/tyl
A: This is a bit tangential to your question, but if your ultimate interest is in the philosophy of mathematics, I would believe that some knowledge of category theory, as a possible alternative to set theory as a foundation for mathematics, would be important.  The texts by Steve Awodey (Category Theory) or F. W. Lawvere and Stephen Schanuel (Conceptual Mathematics) may serve as useful introductions.
A: Apart from actually learning logic, set theory and model theory you would probably benefit from some basic understanding in


*

*Abstract algebra (group theory, ring theory, etc.)

*General topology

*Some basic measure theory

*Computability and complexity


While these things are not necessary per se in order to gain understanding in logic, or set theory (although model theory deals a lot with actual mathematics, so you can't escape it there); in order to fully understand set theory I think that one has to see "usual" mathematical theories and understand them at a basic level. If not for anything else, then in order to understand what makes set theory special.
It seems, if so, that the better part of an undergrad degree in mathematics is needed. But then again, it is needed if you wish to understand any mathematical theory in depth.
