Roughly in order of user friendliness and accessibility:

Puzzles can help introduce very powerful ideas without any baggage like mathematical notation. Smullyan's "Knights and Knave" style puzzles often touch very deep ideas in mathematical logic.[1] To Mock a Mockingbird[2] is probably his most famous book.

Godel, Escher, Bach has very clear, fun, and memorable descriptions of formal systems and their fascinating properties. After reading that it will be easier to view real world systems as formal systems and to understand the implications of that.[3]

Most of object-oriented programming and entity-attribute-value models can be found in the writings of Plato and Aristotle. For the purposes of abstract thinking, Plato's theory of forms[4] and Aristole's Organon[5], especially its Prior and Posterior Analytics which describe syllogistic reasoning, are probably the most important. For roughly 2000 years, this was logic. The Theaetetus[6] is also a very good introduction to epistemology and the deductive method of philosophy. In a practical sense, there is very little that programmers do in terms of modeling data or systems that does not derive more or sense directly from these two thinkers.

It's only been in the last two centuries that we've improved on Greek logic. Boole and De Morgan for propositional calculus[7], Frege and Pierce for quantification[8], which combine to create first order predicate logic[9]. From their you can either go to second-order logic or to set theory in order to begin talking about collections of things. Naive Set Theory[10] is a good introductory book, although you can jump straight in to ZFC set theory[11] for an axiomatic approach.

Relational algebra, which will be familiar in a loose sense to anyone who has ever worked with a relational database, is a formal theory that can be studied in the abstract[12]. I find the terminology (like "theta join") to be useful for thinking about advanced SQL statements. It's also very interesting to contrast relational algebra with ZFC set theory - many of the axioms are similar, but there are also crucial differences.

Lately, in the last century or so, abstract algebra[13] has proven very useful in modelling all kinds of real-world phenomena. For example, Lie groups in physics, or finite fields in cryptography. Abstract algebra basically strips down numbers to their most basic axioms and generalizes them. In group theory we study structures that have a single operation (say addition) then "rings" allow a second operation (say multiplication) and "fields" allow this second operation to be inverted. It is incredibly fruitful to model your real-world system as an abstract algebra and then to add axioms that fit your system (do your operations commute? Are the associative? Can they be reversed?) because you can then leverage a huge number of appropriate theorems.

The mother of all "abstract thinking" has to be category theory[14] which is so abstract I can hardly even describe it. Nevertheless many people find it a useful framework, with commutative diagrams[15] showing up all kinds of papers.

[1]: https://en.wikipedia.org/wiki/Raymond_Smullyan

[2]: https://en.wikipedia.org/wiki/To_Mock_a_Mockingbird

[3]: https://en.wikipedia.org/wiki/G%C3%B6del,_Escher,_Bach

[4]: https://en.wikipedia.org/wiki/Theory_of_forms

[5]: https://en.wikipedia.org/wiki/Organon

[6]: https://plato.stanford.edu/entries/plato-theaetetus/

[7]: https://en.wikipedia.org/wiki/Propositional_calculus

[8]: https://en.wikipedia.org/wiki/Quantifier_(logic)

[9]: https://en.wikipedia.org/wiki/First-order_logic

[10]: https://en.wikipedia.org/wiki/Naive_Set_Theory_(book)

[11]: https://en.wikipedia.org/wiki/Zermelo%E2%80%93Fraenkel_set_t...

[12]: https://en.wikipedia.org/wiki/Relational_algebra

[13]: https://en.wikipedia.org/wiki/Abstract_algebra

[14]: https://en.wikipedia.org/wiki/Category_theory

[15]: https://en.wikipedia.org/wiki/Commutative_diagram