Ask HN: Resources on how to improve abstract thinking skills? - mezod
======
songzme
This is not quite related, but I learned something yesterday. My wife tells me
that she wants to be smarter so while we were walking I was trying to teach
her mental chess so we can play chess while we walk. And she didn't want to
because she was mentally exhausted (perhaps from all my talking, which is
totally okay).

Some of the smartest people I know don't actively seek out to improve their
thinking skills. Its simply a by-product of thinking more about anything and
everything. When it comes to thinking, depth first is the way to go. Start
asking questions about everything you see (why is Louis Vuitton always on the
first floor in a shopping mall? If I spilled my drink, how long does it take
before it gets cleaned up?)

Perhaps the best way to improve abstract thinking skills is to increase your
mental endurance and start thinking about things more. Eventually, you are
going to start connecting things and the abstraction will start to happen.

Also, perhaps increasing your creativity might also help. Every morning I
shuffle a deck of cards and I memorize the order (timed. I started this year
at 15 mins, now it takes about 1min 30s). To memorize a deck of cards, you
must create a story out of your ass and it helps with your creativity.

~~~
jlongr
You memorize the order of an entire deck of cards every day?

~~~
nefitty
Although I'm not as intentional about it as the parent commenter, I try to
play with my memory palaces when I get the chance. I'll get a list of 12
random words and memorize them with the technique. This helps me get better
and quicker at the process, and it feels good to impress myself every so
often.

~~~
DelightOne
How do you check you didn't forget some of them?

------
imh
Study higher level math! Category theory is a brainfuck that exercises that
skill well. This book [https://mitpress.mit.edu/books/category-theory-
sciences](https://mitpress.mit.edu/books/category-theory-sciences) doesn't
have any real mathy prereqs but is fun.

Added benefit from studying math is that its a foundation for a whole bunch of
other cool stuff.

~~~
travmatt
I was going to recommend “How to Prove It”, if someone doesn’t know proofs
already.

~~~
bor0
Very good suggestion. Here's is a similar but free book:
[http://people.uleth.ca/~dave.morris/books/proofs+concepts.ht...](http://people.uleth.ca/~dave.morris/books/proofs+concepts.html)

------
ganzuul
Suspension of judgment was the very first step I discovered, I clearly
remember, from when I was quite little. Perhaps I started out especially daft,
but I kept making discoveries ever since.

Something which served me well a long time was a mental game of following
logic to extreme conclusions and then asking myself "what if this is true, and
my premise was wrong?"

One of the most powerful methods I use now when approaching a new subject is
to create my own narrative to the best of my understanding. Then as needed I
can refine my narrative. - Apparently a lot of people have a _thing_ where
they become deeply and personally invested in the first narrative they
discover, and it does not serve them well. - Don't be dogmatic.

Coming up with counter-examples gives you great analytical abilities. It can
also earn you enemies, so don't be too hard on the friends you have chosen.

When you encounter something seemingly paradoxical, you have an opportunity to
find a new perspective which resolves the paradox. - Here you have further
opportunities to observe yourself as you are making observations. Once you are
able to do this, you should be self-sufficient in improving your intelligence.

Don't spend all your time pondering! All this work lets you see and experience
life more deeply, so it is a waste if you don't choose to have a good time.

~~~
aryamaan
Could you please elaborate and give an example of these techniques.

~~~
ganzuul
I can try. Suspension of judgment: say a provocative crime has been committed
and a news outlet reports on a suspect. - You should be emotionally prepared
that new information could arise which explains even if not forgiving the
actions of the suspect. e.g. A parent kidnapping their own child, and then it
turns out that the other parent was abusing the child.

For taking stuff to the Xtreme, taxes is an approachable subject. Say if you
have 100% tax rate, you might be looking at communism, but you might also look
at a pirate ship where the captain divvies up the booty. Another example would
be the mental exercise of trying to figure out that maximum possible current
through a conductor. Even superconductors suffer from magnetic pinching, but
if you have ever seen a plasma globe at a science fair you might discover the
magnetohydrodynamic phenomena of Alfven waves. - The taxes example is more
direct than these about current, but I'd argue the physics discoveries are
more interesting.

I very often see dogmatic beliefs in science. The mistake of 'taking the map
for the terrain' is common. People will for example pick a favorite
interpretation of quantum mechanics and then with complete conviction deny
that effects predicted by other interpretations are worth looking for, because
their interpretation excludes it. - Why try to travel around the globe? You
will fall off the edge! Figuring out that someone is making this mistake can
be frustrating and time-consuming.

Counter-example takes the most creativity, and can be constructed to be too
impenetrable. Recently I argued that if the cost of healthcare in the US would
best represent the optimum quality, then countries with just as good service
and universal healthcare too would be bankrupt.

For paradoxes, you can apparently find a very long list on Wikipedia. I don't
remember ever having gone out specifically looking for paradoxes. I have
encountered them during sessions of deep pondering as apparent contradictions
where I expected none, so to me they are nameless.

Hope this helps! I might turn these two posts into an article... :o)

~~~
mezod
please make sure I hear about such article at mezood @ gmail :)

------
itamarst
A lot of the way experts think is actually very domain-specific. So if you
want to be good at thinking about a specific domain, might be worth reading
one of Gary Klein's books about naturalistic decision making.
[https://www.amazon.com/Power-Intuition-Feelings-Better-
Decis...](https://www.amazon.com/Power-Intuition-Feelings-Better-
Decisions/dp/0385502893/) is the most practical of the ones I've read.

More generically: learn how to write. Most hard problems won't fit in your
head. Most of the ways we think are too vague and fuzzy. Writing things down
and working through something in writing can help find the limits of your
thinking process, and help you find solutions. I review a book that explains
this very well here: [https://codewithoutrules.com/2016/06/15/writing-
book/](https://codewithoutrules.com/2016/06/15/writing-book/)

(You could alternatively take a good academic writing class at your local
university.)

~~~
mezod
thanks!

------
lefstathiou
Here are two mental frameworks that have served me well throughout my career:

I am process oriented and find that my “abstract thinking” improved
significantly when I applied a somewhat consistent mental framework / process
to questions, situations, challenges or projects (which are often just a
series of questions)

#1: the three to five “whys”

Super simple, ask why or how three to five (or as many as necessary) times to
try to unravel the root of a problem or issue. “Why did this happen, well why
did that happen, how do we know that is why that happened, etc”

#2 break problems or complex issues down into decision trees. Sales are down
X%. Well, there are probably 3-5 core events that drive sales (inbound,
outbound, retention, competition etc). Looking at the outbound tree, there are
3-5 core activities that drive outbound (phone calls, emails, in-person
meetings, conferences, etc). The more you do this on paper, the easier you do
this in your mind which is what I believe improves what others see as abstract
thinking.

Final thought: I don’t think improved abstract thinking has much to do with
memory. You encounter a problem, employ a consistent process and get to a
result. The better the process the better the result over time.

Happy to elaborate on any of this further. I was putting together examples but
it took away from the core message.

~~~
mezod
I get it though, thank you!

------
Eric_WVGG
Eno and Schmidt’s Oblique Strategies is a classic. It’s based on the idea that
creativity is based on constraints, so artificially adding new boundaries to a
problem helps the mind find new solutions.
[https://en.wikipedia.org/wiki/Oblique_Strategies](https://en.wikipedia.org/wiki/Oblique_Strategies)

Read up on “lateral thinking,” it’s sort of the gospel of graphic design.
[https://en.wikipedia.org/wiki/Lateral_thinking](https://en.wikipedia.org/wiki/Lateral_thinking)

~~~
imglorp
Interesting - there are two different takes on this question in this thread.
This comment is about generating new ideas and thinking creatively, whereas
itamarst answered in the sense of organizing thoughts in order to solve
problems and communicate them.

~~~
mezod
one of the things I love about asking random questions (I care about) on HN is
that answers never get constrained in the ways I had devised or expected :)

------
alfonsodev
If it's about programming the book How to Design Programs[1], Chapter 3 is
about Abstraction

[edit] And is more general as some other use is suggestion philosophy is
great.

I'd recommend you a podcast titled "In our Time: Philosophy" from BBC Radio
4.[2]

[1]
[http://www.ccs.neu.edu/home/matthias/HtDP2e/part_three.html](http://www.ccs.neu.edu/home/matthias/HtDP2e/part_three.html)

[2]
[http://www.bbc.co.uk/programmes/p01f0vzr/episodes/downloads](http://www.bbc.co.uk/programmes/p01f0vzr/episodes/downloads)

~~~
mezod
awesome!

------
claudiulodro
I'm just being a snarky smartass, but you could probably improve your abstract
thinking skills by trying to find the answer to this question yourself. :-)

~~~
bordercases
Yeah there's no one fix other than struggling to contextualize the skills
being built here.

------
jyu
The way people think and make decisions is prone to different types of
cognitive errors. Learn, recognize, and apply ways to overcome those classes
of errors. Then learn, recognize, and apply mental models to improve your
decision making.

------
JamesBarney
Why do you want to improve your abstract thinking skills?

I would be surprised if there is anyway to improve these skills, g(aka IQ) is
notoriously hard to improve.

But I imagine you want better abstract thinking skills for a specific reason,
and it'll probably be much more effective to skip directly to the reason you
want to improve these skills.

~~~
mezod
To be honest, there's no definite reason other than personally growing and
being able to understand more concepts. I don't know if IQ can be "improved",
but I do know that people who have battled through difficult problems develop
ways of thinking that make it easier for further difficult concepts to be
understood. Abstract thinking is very powerful and you can train it.

~~~
allhailkatt
IQ can be higher and lower during a lifetime, surprisingly, as long as you
maintain brain plasticity.

This works even better for people who think of intelligence as something
improvable, like physical skill. You might not start with great ability, but
with practice you'll get better.

------
Exo_Tartarus
Accumulate more concrete knowledge. Our brains develop abstractions when we
identify patterns in disparate phenomena. Can't identify those patterns if you
don't study the concrete phenomena themselves.

As you learn more you'll build up a toolbox of abstractions that will make
thinking and learning easier.

------
galeforcewinds
I've always understood abstract thinking to be of broad nature, generalities,
non-specific, a vastness.

The idea that abstract thinking is devoid of specifics has never struck me as
a prohibition that you can't get to abstract thinking by starting with
examples and metrics. Looking for patterns, mind mapping, and tabletop
exercises all seem like ways to take concrete thinking elements and bridge
them to the abstract.

In doing so, I think there are some specific areas to watch for, namely the
influence of cognitive bias. I'm a big fan of the Cognitive bias cheat sheet
which has been covered on HN in the past,
[https://betterhumans.coach.me/cognitive-bias-cheat-
sheet-55a...](https://betterhumans.coach.me/cognitive-bias-cheat-
sheet-55a472476b18)

I also believe that the concept of multidisciplinary approaches can be one of
abstract thinking -- when you begin your exploration of a topic from the
viewpoint of a discipline you have not mastered, your mind is more likely to
be able to explore concepts and solutions which are not bound by fact -- you
simply don't know the facts and principles of these foreign disciplines
intimately.

And just as disciplinary viewpoint can provide interesting triggers in
abstract thinking, so can applying empathy and imagination. The best books on
things like this are often written for children. Try "The Book of Think: Or
how to solve a problem twice your size" (Burns, 1976).

~~~
mezod
thank you

------
bordercases
So I'm laughing at all the examples that have made the rounds on HN
innumerable times. How about this.

"Possible Worlds: An Introduction to Logic and Its Philosophy"
[https://www.amazon.com/Possible-Worlds-Introduction-
Philosop...](https://www.amazon.com/Possible-Worlds-Introduction-Philosophy-
English/dp/091514459X/)

Analytic philosophy has produced a methodical approach to thinking about
things that we don't seem to teach as methods. Instead it trickles down into
pop-science takes on thinking which tells you a lot /about a domain/ but not
how to /use/ things in the domain.

Thinking in terms of "possible worlds" is a nice little hack that unifies a
lot of our intuitions in how we determine what is true. It also implies a lot
of nice methods that we already use implicitly, like making thought
experiments, or conceptual analysis, or testing arguments with ad absurdums,
or working with modalities (like treating what we should do differently from
what we could do). This book teaches possible worlds at an introductory level,
when typically it's considered a graduate-level topic. It also gives
exercises, which are ultimately the important bit. I don't think I've seen too
many books that teach philosophy /as a method/ beyond argument construction.

~~~
bordercases
I also like this guide:
[https://www.av8n.com/physics/thinking.htm](https://www.av8n.com/physics/thinking.htm)
"Learning, Remembering, and Thinking". I recommend checking out his other work
for a model of working through problems coming from physicists.

One more thing. Oftentimes the key step to thinking is figuring out what
you're questions are, and questions are always determined by what
uncertainties you have in a domain, as specifically relevant as you can make
them.

I'm gonna quote Venkat Rao (of Breaking Smart and Ribbonfarm fame) from an
article he deleted years ago:

> Real questions, useful questions, questions with promising attacks, are
> always motivated by the specific situation at hand. They are often about
> situational anomalies and unusual patterns in data that you cannot explain
> based on your current mental model of the situation… Real questions frame
> things in a way that creates a restless tension, by highlighting the
> potentially important stuff that you don’t know. You cannot frame a painting
> without knowing its dimensions. You cannot frame a problem without knowing
> something about it. Frames must contain situational information. There are
> two types of questions. Formulaic questions and insight questions. ….
> Formulaic questions can be asked without knowing much. If they can be
> answered at all, they can be answered via a formulaic process. …. Insight
> questions can only be asked after you develop situation awareness. They are
> necessarily local and unique to the situation.

The world is /extremely/ information rich to the point of absurdity, and what
fails is not the richness of our input data but rather our awareness of how we
ought to use it. George Polya tried to teach his students how to problem solve
in mathematics by means of getting people to ask questions. By verbalizing his
thought process he hoped to convey these principles, as well as giving them a
standard template to prompt their cycle of questions. But to adhere to a
strict plan like that is to defeat the point. The real point is to maintain a
conversation with yourself, giving yourself and refining your own questions
until insight develops, and keeping yourself talking.

Ultimately I like to take an information-theoretic approach as the basis of my
philosophy here. /Some/ information is /always/ going to be contained in /any/
comparison that I can make between two phenomena in the world. Most of this
"information" would be considered noise relative to most reference frames. But
it is always possible to extract /something/ from a situation by creating
these tensions between yourself and your uncertainties in the world.

You can muddle around questioning things for awhile, but gradually things come
up. The key is to let your uncertainty start off however it is and keep
pruning away at it until your solution is sculpted from the clay. It can and
will happen.

If you've ever tried doing Fermi Estimates (like those prescribed in
[https://www.amazon.com/Street-Fighting-Mathematics-
Educated-...](https://www.amazon.com/Street-Fighting-Mathematics-Educated-
Guessing-Opportunistic/dp/026251429X/) , [https://www.amazon.com/Art-Insight-
Science-Engineering-Compl...](https://www.amazon.com/Art-Insight-Science-
Engineering-Complexity/dp/0262526549/) ,
[https://web.archive.org/web/20160309161649/http://www.its.ca...](https://web.archive.org/web/20160309161649/http://www.its.caltech.edu/~oom/)
, [https://www.amazon.com/How-Measure-Anything-Intangibles-
Busi...](https://www.amazon.com/How-Measure-Anything-Intangibles-
Business/dp/1118539273/)), then you'll be able to perceive the mindset that
has significant transfer to many problems that have even just approximate
answers.

~~~
mezod
thank you

------
contingencies
_There are three rules for writing the novel. Unfortunately, nobody knows what
they are._ \- 'W. Somerset Maugham on enterprise architecture', Peter Hilton

 _In practice, designing seems to proceed by oscillating between sub-solution
and sub-problem areas, as well as by decomposing the problem and combining
sub-solutions._ \- Nigel Cross

 _Firmitas, utilitas, venusitas._ ("Firmness, utility, delight") - Marcus
Vitruvius, _De Architectura_ (22BCE)

Less tongue in cheek, there are quite a few decent, mature systems encouraging
thinking from different perspectives. Examples include De Bono's _hats_
system, IDEO's _mantras for innovation_ , Skillman's _englightened trial and
error_ , _99% perspiration_ (ie. just stay focused), _design for data_ ,
partitioning the problem, prioritizing simplicity and clarity, prototyping,
Alan Kay's _dream while you are awake_ , etc.

Culled from
[http://github.com/globalcitizen/taoup](http://github.com/globalcitizen/taoup)
.. there are more there :)

------
mping
Learn and do things outside of your domain, for example learn to play an
instrument. The mental gymnastic that music requires (which needs both
intuition and rational thinking) will teach you to be more creative and to
analyze things in a different way.

This is akin to telling an arts major to learn to program.

Personally, I believe it made my thinking much more visual and geometric (or
maybe it was all that Legos I played with)

------
bensochar
One of the books I still reread. Its not so much about "abstract thinking" but
its very good at teaching you to find the real problem & make a decisions.
[https://www.amazon.com/Thinkers-Toolkit-Powerful-
Techniques-...](https://www.amazon.com/Thinkers-Toolkit-Powerful-Techniques-
Problem/dp/0812928083)

------
myth_drannon
Read [https://www.farnamstreetblog.com](https://www.farnamstreetblog.com).
They have a lot useful content on the subject of thinking, mental models...

~~~
vsundar
Thanks for the pointer. That site looks very interesting.

------
jcranberry
Read literature and/or philosophy (the latter is good for understanding
abstractions, the former is good for understanding others' abstractions), do
lots of math.

------
rboyd
I do an exercise where I'll visualize geometries. Starting with a point, then
a line, then a triangle, a square, a tetrahedron, and so on. At each stage
once you really have control over it (you're able to translate/scale/rotate
your visualization) add another point to the object.

------
pimmen
I started studying economics in my free time because abstracting how humans
behave with math fascinates me and you start to understand what a complex
system really is.

Markets are very complicated and unpredictable in the short term, but you can
understand the atomic unit of the market just fine; a transaction. It’s the
same with all complex systems; try to work from the bottom and up, always
begin with what you can wrap your head around.

After a while, you see that the methodology of building abstract models that
are good enough is very similiar in most fields. You discover that it’s never
easy and you should always be careful trying to recycle a model by mapping it
to an entirely new system.

------
poat
I've been working on a project that is something like "a framework of
abstractions". I've found that studying and developing its concepts has been a
great exercise in abstract thinking. Check it out and see if it's the type of
thing you might be interested in.
[https://github.com/perspectivesonatheme/patterns](https://github.com/perspectivesonatheme/patterns)

I'd also recommend learning some Haskell and category theory. It's difficult
stuff and I won't pretend to have a solid handle on either, but what I have
learned has been eye-opening.

------
otakucode
My personal recommendation just based on personal experience would be to study
philosophy. It doesn't much matter which philosophies, but a variety that
differ fairly substantially would probably be best. When you read a very
different viewpoint you can occasionally almost feel your brain shift sideways
when you 'get' how the other viewpoint is seeing things. That leads to
questions about the exact points where your viewpoint and their actually
diverge, and considering a wider scenario where both exist or develop is
inherently a move in the abstract direction.

------
adamsea
Write, read challenging works of literature, learn an instrument and play
music, listen to art music, learn to paint or draw, or take an acting class.

Or any other art, such as woodworking or pottery.

~~~
Myrmornis
The question was posed on a site dedicated to discussion of programming and
related subjects. It therefore should be assumed that the author was
requesting advice for developing abstract reasoning skills such as are
employed in mathematics or software engineering. Your suggestions require
explanation as to why they would help this sort of abstract reasoning. As a
matter of fact, many people who are proficient in the skills you mention are
hopeless at the type of abstract thought used in math and computer
programming, so the skills you list are certainly not sufficient. Most of them
are also not necessary (all apart from writing and reading challenging
literature?).

~~~
tremens
This comment is strikingly myopic and follows a strain of insular opinion that
seems to have become more popular in recent years in tech circles ("Most of
them are also not necessary").

Music and the arts have long been documented as wonderful ways to enhance
abstract thinking. And you might become a well rounded person as an added
bonus!

~~~
Myrmornis
You might want to look up the definition of necessary!

> Music and the arts have long been documented as wonderful ways to enhance
> abstract thinking.

That is entirely consistent with them not being necessary to develop abstract
thinking :)

I was just being logical, and trying to provide some subtle humor by giving
the dry reply of a caricatured technophile rationalist to OP's evident
enthusiasm for the arts.

------
pqh
Euclid's Elements teaches geometric concepts that you're probably familiar
with, but with interesting proofs:
[https://en.wikipedia.org/wiki/Euclid%27s_Elements](https://en.wikipedia.org/wiki/Euclid%27s_Elements)

It's free, it's time tested, and probably just the right amount of rigor to
get your proof abilities up. I think the ability to prove theorems and the
ability to construct abstractions go hand-in-hand.

~~~
jotux
There's a really great mobile game called euclidea. It's basically Euclid's
Elements - The Game.

------
prostitutka
My answer to your question is math. Learn to read and write proofs. Any intro
to proofs will do: those employed in discrete math, the ones in analysis, the
diagram chasing ones, whatever...Working with math proofs will definitely
straighten out your thinking and whip your mind into shape.

Some suggestions to get you started:

Book of Proof by Richard Hammack:
[https://www.people.vcu.edu/~rhammack/BookOfProof/](https://www.people.vcu.edu/~rhammack/BookOfProof/)

Discrete Math by Susanna Epp: [https://www.amazon.com/Discrete-Mathematics-
Applications-Sus...](https://www.amazon.com/Discrete-Mathematics-Applications-
Susanna-
Epp/dp/0495391328/ref=sr_1_5?ie=UTF8&qid=1511195716&sr=8-5&keywords=discrete+math)

Mathematical Proofs: A Transition to Advanced Mathematics by Chartrand et al:
[https://www.amazon.com/Mathematical-Proofs-Transition-
Advanc...](https://www.amazon.com/Mathematical-Proofs-Transition-Advanced-
Mathematics/dp/0321797094/ref=sr_1_1?s=books&ie=UTF8&qid=1511195770&sr=1-1&keywords=transition+chartrand)

How to Think About Analysis by Lara Alcock: [https://www.amazon.com/Think-
About-Analysis-Lara-Alcock/dp/0...](https://www.amazon.com/Think-About-
Analysis-Lara-
Alcock/dp/0198723539/ref=sr_1_9?s=books&ie=UTF8&qid=1511195842&sr=1-9&keywords=analysis)

Learning to Reason: An Introduction to Logic, Sets, and Relations by Nancy
Rodgers: [https://www.amazon.com/Learning-Reason-Introduction-Logic-
Re...](https://www.amazon.com/Learning-Reason-Introduction-Logic-
Relations/dp/047137122X/ref=sr_1_1?s=books&ie=UTF8&qid=1511195907&sr=1-1&keywords=nancy+rodgers)

Mathematics: A Discrete Introduction by Edward Scheinerman:
[https://www.amazon.com/Mathematics-Discrete-Introduction-
Edw...](https://www.amazon.com/Mathematics-Discrete-Introduction-Edward-
Scheinerman/dp/0840049420/ref=sr_1_1?s=books&ie=UTF8&qid=1511195950&sr=1-1&keywords=scheinerman+discrete)

The Real Analysis Lifesaver: All the Tools You Need to Understand Proofs by
Rafi Grinberg: [https://www.amazon.com/Real-Analysis-Lifesaver-Understand-
Pr...](https://www.amazon.com/Real-Analysis-Lifesaver-Understand-
Princeton/dp/0691172935/ref=sr_1_1?s=books&ie=UTF8&qid=1511196441&sr=1-1&keywords=analysis+lifesaver)

Linear Algebra: Step by Step by Kuldeep Singh: [https://www.amazon.com/Linear-
Algebra-Step-Kuldeep-Singh/dp/...](https://www.amazon.com/Linear-Algebra-Step-
Kuldeep-
Singh/dp/0199654441/ref=sr_1_5?s=books&ie=UTF8&qid=1511196099&sr=1-5&keywords=linear+algebra)

Abstract Algebra: A Student-Friendly Approach by the Dos Reis:
[https://www.amazon.com/Abstract-Algebra-Student-Friendly-
Lau...](https://www.amazon.com/Abstract-Algebra-Student-Friendly-Laura-
Reis/dp/1539436071/ref=sr_1_3?s=books&ie=UTF8&qid=1511196182&sr=1-3&keywords=abstract+algebra)

That's probably plenty for a start.

~~~
agentultra
A more graduate-level book but one I found pleasing:

A Logical Approach to Discrete Mathematics: [https://www.amazon.com/Logical-
Approach-Discrete-Monographs-...](https://www.amazon.com/Logical-Approach-
Discrete-Monographs-Computer/dp/0387941150)

And a more pragmatic approach to the same material (with a lot of cross-over
in terms of proof-style, etc):

Programming in the 1990s:
[http://www.springer.com/gp/book/9780387973821](http://www.springer.com/gp/book/9780387973821)

But one I particularly enjoyed early on was written for liberal-arts level
students of maths (who might've been traumatized by maths in the past):

Introduction to Graph Theory: [https://www.amazon.com/Introduction-Graph-
Theory-Dover-Mathe...](https://www.amazon.com/Introduction-Graph-Theory-Dover-
Mathematics/dp/0486678709/ref=pd_sim_14_1?_encoding=UTF8&psc=1&refRID=033XBN1NVFEAHARTB6M2)

It will actually get you into writing proofs in set theory within the first
couple of chapters.

~~~
bordercases
Oh gosh the equational logic rabbit hole.

To add to the fire: [http://mathmeth.com/](http://mathmeth.com/)

------
bjourne
Do math exercises.

------
TrueSelfDao
I would recommend Elements of Programming by Alexander Stepanov and Paul
McJones.

------
pvillano
What evidence do you have that it's your general abstract thinking skills that
are lacking? You'll probably improve faster at the tasks you're interested in
if you just practice those tasks.

------
collyw
LSD according to Steve Jobs.

~~~
eip
Cubensis are also highly effective.

------
drharby
Play d and d

------
colehasson
I'm

