For the curious, I suggest reading Philp Wadler's "Theorems for free!" which explains how to derive a theorem for a given type. Practically, this helps compilers make certain optimizations based on the theorems it derives from the types.
I disagree, it depends on the kind of programming you do. Build fancy typeclasses to do black magic in Haskell? Then _perhaps_. Write kernel modules for custom functionality in C? Then learning ct is like a fish learning to climb a tree.
The mathematician Paul Erdős often referred to "The Book" in which God keeps the most elegant proof of each mathematical theorem. He once said "You don't have to believe in God, but you should believe in The Book."
Pretty sure it wasn't piracy. For instance see this[0] book (not affiliated), at the bottom left it says "Restricted! For sale only in India, Bangladesh, Nepal, Pakistan, Sri Lanka & Bhutan"
“The safest general characterization of the European philosophical tradition is that it consists of a series of footnotes to Plato” - Alfred North Whitehead
Reminds me of Russell's quote - “Mathematics, rightly viewed, possesses not only truth, but supreme beauty—a beauty cold and austere, like that of sculpture, without appeal to any part of our weaker nature, without the gorgeous trappings of painting or music, yet sublimely pure, and capable of a stern perfection such as only the greatest art can show.”
Mathematics, at its core, is about tangible and easily perceptible stuff like counting things and measuring space. Through the introduction of layers of notational and conceptual abstractions, many dependencies can be discovered and many claims can be made. They are just "there", but we are seeing them through the lens of our own man-made abstractions.
> Mathematics, at its core, is about tangible and easily perceptible stuff like counting things and measuring space.
I think that it depends on what you mean by 'core'. This is certainly the historical core of mathematics—where things started, and so around which all later developments have accreted—and I suspect it characterises a large part of most 'users'' interactions with mathematics, but I think that there are many mathematicians who would not describe your characterisation as the core of what they do professionally.
(It happens that I can't substantiate that even by a flimsy appeal to my own work, because there is a reasonable sense in which counting things is at the heart of my work (even though it's not combinatorics); but there are other fields that I think don't have that sort of connection informing their everyday work, even though it is of course always there historically.)
> but I think that there are many mathematicians who would not describe your characterisation as the core of what they do professionally.
Those mathematicians are certainly doing something much more intellectually-challenging than counting things and measuring space, but I would argue that those basic activities represent the basic problems upon which most of the low-level math abstractions are built. "Serious" math is about operating at much higher abstraction levels, but it is not disconnected from those low-level foundations.