Self-learning mathematics - help needed! First, I apologise for the nebulous nature of my title but I can't adequately explain myself concisely.
I am about to start an MSc in pure maths after a fairly shaky undergraduate degree. I am very passionate about maths but I have several problems with self-learning which I can't seem to cure (even after 4 years of trying hard!) and they are extremely detrimental to my progress. I would be delighted to receive any advice for this (admittedly very particular) set of circumstances or to hear from anyone who is somewhat similar in nature but has found a way through. For brevity's sake I will just list the problems I have:


*

*I seem to be obsessed with understanding "the basics"; that is, whenever trying to learn something new, say a first course on modular forms, I go back and try to systematize and relearn all the undergraduate complex analysis I did, which, in turn, leads me to go back and relearn all the undergraduate real analysis I did, which, in turn, takes me back to some naive set theory etc. This really slows progress (pretty much to a stop) but it just feels so wrong not to understand the basics first.

*Often, when I learn a new subject, I have several different treatments of it at my disposal, each of which, naturally, takes its own perspective on the material. As such, I proceed to read the corresponding chapters of each the 5 or 6 (say) expositions and try to order the material optimally or put it in the most general setting (i.e. in categorical language). This is often very difficult (and, again, very time-consuming) and so I use LaTeX in an attempt to make "re-ordering without re-writing" easier but then I get a bit obsessed with the layout and formatting...

*I am very pedantic about proofs. For example, I really dislike proofs which appeal to geometry (in the naive sense i.e. plane geometry) because there seem to be so many special cases to check and texts always seem to dismiss such things as obvious or relegate them to exercises. Also, "tedious" details such as "this map is obviously continuous" or "we can clearly assume wlog..." really bog me down. I find that, often, to give a careful proof of such things can be quite intricate.
There are definitely a few more points/clarifications I could make but this post is quite lengthy as it is and so I'll stop there for now.
As I say, any help would be greatly appreciated - I have asked many people and read many articles over the past years to try to overcome these difficulties but I just can't crack it.
Many thanks!
 A: I have majored in Computer Science and minored in math, which I hope to continue to learn and develop.    Since graduating college, when I'm not programming; I study math for fun.  
You should first know that there really is no right or wrong way to learn mathematics.  From an algorithmic perspective, you could look at going deep into a subject as a depth first search algorithm of learning, and what you seem to be doing now more of a breadth first search algorithm of learning.  Perhaps, you could toggle back and forth between the two strategies to satisfy your current dilemma.    
It is good at times to dwell in the subtle intricacies of math, but in order to get real work done you're definitely going to need to learn to abstract the layers, but first here's an analogy.
When a skilled carpenter reaches for their hammer, they do not first reach for a plastic hammer that they first played with.  The carpenter uses the tool that gets the task completed for them, so they can quickly move onto to the next task.  
You are a young and aspiring mathematician, and therefore your tools that you have available to you are theories, lemmas, corollaries, logic, etc.  What ever task you need to complete, you must focus upon which tools are going to help you complete that task.  Perhaps you need to prove something.  You should be able to get an idea of what tools you're going to need to accomplish the task.  
What if the tool doesn't exist? you may wonder.  A machinist is a person who builds tools for various applications and machines.  The analogy being, there may be times when you need to create the tool to complete the task, that is, you need to create a more basic theory, lemma, etc. to aid you in completing the task of proving the proof.
Abstraction
I think that if you grasp this, then it will help you dig deeper into your math subjects, that is, without getting bogged down with essential yet extraneous details.  
When programmers write code in todays age; it gets compiled from high level language such as java or c++ into byte code, that ultimately runs on a processor or a virtual machine.  If programmers today were to spend all their time dwelling over every byte code of an application, there would be no software getting pushed out onto the market.  The high level languages are considered abstractions of the technical details of the byte-codes that are generated when compiling.
You could look at a theorem as a high level abstraction, and when you apply that theorem in your proof you don't need to worry about all the byte code (in your case the intricacies of elementary, naive set theory, and so on).  The theorem will do what you need it to do, because someone has already taken the time to prove it, and therefore it would be more efficient to trust the theorem and apply it, then go back and understand every single detail about it.
The After Math
The pun is intended by the way.  Once you become more efficient in determining what is relevant, and what is not relevant to complete a particular task.  You will start accomplishing alot more.  Now, you can set aside some spare time to dwell deeply in the intricacies and philosophies of mathematics to your uttermost delight.   Prove 1=1, determine if truth really exists, find an alternative to Zermelo–Fraenkel set theory; the entire world is your oyster.
A: What you're talking about seems much less like a mathematical or academic complaint than a psychological one. Here's what I read in your post:


*

*You seem to be insecure about your understanding of higher-level topics, so you continuously and obsessively revisit lower-level topics, despite that this is probably not necessary: really, if you got into a program for an M.Sc in Mathematics, you probably don't need to re-read books on naive set theory.

*You seem to be obsessively pedantic about details. This is the way most beginning mathematicians start out --- making sure that all their proofs are definitely watertight --- and as they progress, they allow themselves a little more leeway in the rigor of their proofs: certain statements just become obvious and don't feel worth the time to prove. Now, you are clearly not a beginning student, so this is a fairly atypical behavior.

*The two points above, in combination, more or less waste a great deal of time for you, and paralyze your learning.


This actually reads like a textbook case of a particular type of procrastination to me. In particular, your pedantic attention to detail (even regarding comparatively unimportant aspects, like the layout and formatting of your notes) is commensurate with perfectionist  behavior. Indeed, to me this reads like perfectionist procrastinator-type behavior: you try to perfect every aspect of the less important tasks (taking notes, revisiting the most elementary set theory, etc.) and then don't have the time or energy for the more important tasks, like studying complex analysis. 
This is a very subtle and dangerous form of procrastination, because you mentally trick yourself into thinking that you're doing important work (re-reading DeMorgan's Laws, making your notes pretty) when you're really not. You're doing things you already know how to do (like proving elementary results or typing up some $\LaTeX$), which is a 'safe', comfortable activity, whereas the work that you actually should be doing is more of a challenge, which you are avoiding with this form of procrastination.
This form of procrastination is sometimes accompanied by some intellectual insecurity or anxiety.
I do not hold any formal qualifications in the field of psychology, so you should take my judgement with a grain of salt. However, I suggest the following two coping strategies:


*

*When you find yourself doing something that seems somewhat unnecessary, like looking back at elementary set theory: ask yourself if what you're currently doing is really necessary for your learning. If the answer is not a clear-cut "yes", then stop and get back to your initial task. Use self-control.

*See a psychologist or counselor about this problem. Issues like this are fairly commonplace, so you'll be in good hands.


Good Luck!
A: There's a quip due to von Neumann: "In mathematics we don't understand things; we just get used to them."  He was famously insightful and also, apparently, somewhat introspective about his methods, so there is probably something to this idea.  What it means for you, and for anyone, is that there is a big difference between constructing mathematics as a rigorous system and comprehending it intuitively.  Your intuition will be your most powerful mathematical ability as you become more experienced, and you should cultivate it as you learn.
Your first issue is something very common, I think, though as you describe it you may be taking it to an extreme.  What's valuable is to make sure that, as you read, you understand the terms and facts being used; sometimes that will, indeed, lead you to chase them all the way back to the raw axioms.  But remember: mathematics is not practiced as an axiomatic system!  You should try to get away with as little back-referencing as you can, and understand the claims in question at the closest level of sophistication as possible.  Force yourself to produce the reasons on your own, if you can.  I have, further, found it valuable for understanding things in the long term to make a habit of mentally revisiting interesting results and reproving them just for the sake of knowing how it is done.  This brings you very close to the core techniques of a subject.
Your second issue seems like an unnecessary practice.  Though it's true that math can be produced and explained in many different ways, typically the variation among texts is somewhat superficial in the actual mathematics, and the real difference is the exposition.  Some writers are good all around, and others will never quite work for you; you should perhaps survey the options to find a book you "trust", but once you do, run with it.  If you want to gain greater understanding through comparison you can reread later, which is similar to the practice I suggested at the end of the previous paragraph.  Any book will, of course, have parts that frustrate you or where the writer dropped the ball, but you should put the burden on yourself to make sense of what you read before going for help.  The issue here really is that you are making yourself too reliant on outside aid by trying to blend the perfect teacher from half a dozen imperfect ones.
Your third issue is very understandable, even commendable.  You should consider any opaque claim as a homework exercise and work them out until you don't care anymore.  You'd be surprised how quickly you reach that point, and at the same time, acquire a good eye for sloppy reasoning.  But, if this kind of concern slows you down too much, you should adopt the practice of reading conditionally: assuming that something is true and running with the consequences.  This is important both because that's exactly how one typically does research, and also because sometimes the way the fact in question gets used will cast new light on how it was proved.
Finally, I find that it can be useful to force a text by reading it straight through without doing exercises at all: as I go, I build a mental structure of what has been said and treat the whole thing conditionally.  This is a rapid way of bringing yourself up to speed with a subject, as well as identifying the really important and interesting parts.  Then you reread, or go for depth as necessary when you use the material.  I don't know if this is only possible with a good memory, though.
A: What @Newb, @Jean has written is 100% correct.  Adding my 2 cents here.
Your point (1) implies is that you think going through basics one more time will make you understand it more and that will  automatically make you understand higher topic, higher topics are done by doing higher topics, not by doing lower topics.  If you have gone through the basics in a systematic way the first time, you know all the things from the basics that are needed to understand the higher topic but we are not using/recollecting/applying them while we are on a higher level topic.  
If you are feeling uncomfortable while on higher topic, know that learning process has started (were you comfortable the first time you sat on a bicycle? did you go back to "how to hold/grip  something?" in this case holding/gripping bicycle handles, did you go back to "how to push something with your feet?" in this case bicycle paddles) 
While on higher level topic you find/realise/discover that you don't know something that is needed and it belongs to a pre-requisite topic, what's the harm in picking it up now?
For point (2) I would say that we are already at a mental level where we know how to organise notes ( is pretty looking notes/ professional level documents your goal?), the goal is to store it in your brain using any/many popular tricks/methods known, don't waste time doing research on these tricks, use whatever is intuitive, that will be best suited for you.
Now about me, even though I haven't accomplished much in my career but I could not resist the temptation to reply to you as your question is exactly my thoughts.
It is possible to spend your entire life doing/understanding basics, you will become expert of that subject, but is that your GOAL?
You want to learn/understand/do subjects that come after that, right?, 
Do some book research by reading the reviews by others on this site or any other popular site of your liking (BTW, reviews here are fantastic!), finalise a book that suits your criteria of a good book most; some people see for more diagrams, some like more theory explanation, some go for large number of  unsolved exercise problems, I go with "Old is Gold".
Next is to believe in the author who has written that book, he has put considerable effort in writing that book, he/she knew/knows what is just enough for anyone using his/her book to proceed to next level, so resist the temptation of going outside the book, if it is must to refer to other source for a particular point, limit your time and energy to that particular point.  
believe --> effort  --> proceed-->Believe --> Effort  --> Proceed-->BELIEVE --> EFFORT  --> PROCEED
A: Difficult to add much more as I agree with the comments and observations above. Particularly the ones citing self-confidence, perfectionism and procrastination. These and your question also resonate with me. I flunked maths at high school and came back to it and did considerably better (in later life), albeit with a lot of backfilling of gaps in the basics.
I think you would benefit from sketching out the cost and outcome of your current approach. This may help act as a deterrent for you.
It seems the most deleterious of things you are doing is arguably using multiple authors. I would also recommend you hone the list down to 1 or 2 maximum and trust their treatment. 
I would recommend you read a very readable book, A Mind for Numbers by Barbara Oakley, published this year. She deals with a number of these issues. Her real bugbear is procrastination. 
