"Principia Mathematica is an odd book, worth looking into from a historical point of view as well as a mathematical one. It was written around 1910, and mathematical logic was still then in its infancy, fresh from the transformation worked on it by Peano and Frege. The notation is somewhat obscure, because mathematical notation has evolved substantially since then. And many of the simple techniques that we now take for granted are absent. Like a poorly-written computer program, a lot of Principia Mathematica's bulk is repeated code, separate sections that say essentially the same things, because the authors haven't yet learned the techniques that would allow the sections to be combined into one."
Possibly pertinent: Principia Mathematica Maps and Table Site (PM-MATS):
https://principia.lib.uiowa.edu/about.html - more description in my top-level
comment in this page.
Of you prefer an even more entertaining approach and a very gentle introduction into the topic, I recommend the comic "Logicomix" which tells Russel's journey (though not historically correct all the time for story telling reasons).
Logicomix is novel, and done well, but flawed … it's deficiencies lie in what it leaves out which may come across as an unfair charge but in this case the charge is warranted. There is a more historically correct and less orthodox work waiting in the wings for whosoever should attempt it.
"The goal of this project is to make clear structural connections between different parts of Principia and to make analyzable data about the theorems, definitions, and primitive postulates in its text. We do this by providing three digital tools ..."
For example here is their take on the celebrated proof in PM that 1 + 1 = 2
You might be interested in Kurt Goedel’s extended book review wherein he proves that Principia cannot do what it sets out to do, nor can any such system.
I do teach PM when I teach theory of computation, but largely to tell the story of how we discovered the limits to computation.
The notation for avoiding parentheses is interesting, and I've thought that it might be useful in programming languages.
To illustrate, suppose you have a non-associative operator $. Rather than write a$(b$c), you can write a$.b$c - the . makes the $ before it be lower precedence on the right side. More dots make things be even lower precedence.
So, for example,
a$b .$: x$y .$. p$q
means
(a$b) $ ((x$y) $ (p$q))
At least, that's my recollection. It's been over fifty years since I read (significant parts of) it...
If you can read this book cover-to-cover, you're an absolute hero. Sometimes I wonder if they inserted a big logical error in the middle just to troll people under the assumption nobody would bother to read it.
This is commonly believed, but Gödel didn't identify a logical error at the heart of the whole enterprise, he proved astonishing theorems revealing limitations of any sufficiently powerful formal system. One can kind of think of the Principia as a science experiment to find the extent to which known mathematics could be proven from foundational axioms that could be thought of as "laws of logic". To make their system work, Russell and Whitehead themselves had to add extralogical axioms, such as their Axiom of Reducibility [0] and the Axiom of Infinity, giving empirical evidence (but not a proof) that "laws of logic" alone were not enough. They were also aware of limitations in their own system, such as the inability to define the cardinal $\aleph_\omega$ [1].
Like the article says, what they did was ahead-of-its-time, and a monumental influence on all subsequent work on formal systems, including Gödel's work, regardless of whether Russell and Whitehead achieved their initial aims.
Utter nonsense ... there is no known logical error in PM. Gödel proved that Russell and Whitehead's goal was unachievable but that's a totally different matter.
OTOH, Russell found a logical error at the heart of Frege's work, and PM fixed it by introducing the theory of types.
Interestingly, there was a Show HN last year formalizing PM in Lean (https://www.principiarewrite.com) verified all 189 propositional logic theorems (sections 1-5) in Coq against the original proof sketches
I used to wonder how likely it was that the printers made some typesetting errors. Who among us could, say, type a thousand pages of APL symbols without introducing a bug?
There's a reason mathematics was known as "penalty copy" and was notoriously difficult to typeset and even more difficult to turn a profit on.
For a deep dive into both ends of that, see the history of publication of Knuth's TAoCP where the text was originally published traditionally by setting metal type on a composition machine (to the extent possible), then compositors would add the additional characters and spacing material necessary to compose the equations and so forth so as to lay out a galley (which would then be proofed/corrected) --- a successive edition was then typeset using an early imagesetter, which looked so ghastly that DEK considered giving up, but when informed that the imagesetter was controlled by a computer declared, "I am a computer scientist, I can fix that." and expected to knock out a typesetting system over his next sabbatical....
Roughly a decade later, TeX 1.0 was released.... the current version is 3.141592653 (with new versions adding another decimal place as the version tends towards \pi) --- while we're still waiting on the full publication of Vol. 4, it is widely considered that TeX was worth the delay.
EDIT: source: took logic as undergrad + wrote on the tractatus which required a lot of pre-reqs to understand. 0 chance a course at undergrad level ever assigns principia mathematica. I don't care if you went to yale or oxford or ecole normale ... 0 chance. Most charitable interepretation: some pages of it + was on a bibliography. not required reading.
if feel embarrassed, that is the consequence for lieing. There is such a thing as intellectual honesty.
For those who aren't familiar with the great but tragic story of Principia and Russell's quest for the foundation of math (spoiler: there is none), there's a really great graphic novel called Logicomix https://en.wikipedia.org/wiki/Logicomix
I haven't read it in probably ten years, but it's one of those books and stories I spend an inordinate amount of time thinking about, for whatever reason.
An interesting fact I learned while reading The Dream Machine[1], is that Principia was the basis of Newell, Simon and Shaw’s Logic Theorist (1956), considered to be the “first AI program”. Amusing and amazing to see this in the context of today’s Erdos-slaying LLMs.
Logic Theorist is a computer program completed in 1956 by Allen Newell, Herbert A. Simon, and Cliff Shaw.[1] It was the first program deliberately engineered to perform automated reasoning, and has been described as "the first artificial intelligence program".[1][a] Logic Theorist proved 38 of the first 52 theorems in chapter two of Whitehead and Bertrand Russell's Principia Mathematica, and found a new and shorter proof for Theorem 2.85.[3]
I have a copy and like it much. However, i was always partial to Frege's Begriffschrift. His notation was really creative. It's a shame Russel's deflation of that project has sentenced it to the rubbish heap of history.
The Begriffschrift has in no way been consigned to the rubbish heap of history. What gave you that impression? It is seminal. That it had one unresolved paradox in its set-theoretic foundations does not scupper the philosophical insights, nor the creative notation, nor the more-or-less novel approach of conjoining mathematical functions and logic to give us predicate logic (apologies for this brutally simplified sketch)
i like to think of Frege and the Begriffschrift like this
Boole: logic + algebra = algebraic logic
Frege: logic + functions = predicate logic
ergo, if Boole is rightly deified then so should Frege regardless of minor infelicities (which prompted type theory anyhow) -- again, apologies if this is totally misleading
Instead of spending time beating one’s head against Russell and Whitehead, I would advise reading Homotopy Type Theory (aka the HoTT Book). Dependent types are cool and mind-expanding, but higher inductive types are downright mind-altering.
The Little Schemer/Typer could be used as a preparatory text to gear one up for HoTT.
It also has the advantage of being a bit more applicable to functional programming languages, maybe even more so than Mac Lane’s Categories for the Working Mathematician (which I sometimes see suggested to mathematically-inclined Haskell novices).
I tried to read HoTT. First chapter on type theory is great and pretty easy to follow. The second chapter, I got completely lost. I don't remember why, maybe they fixed it since.
But I find univalence axiom intriguing. I am interested in different approach to types, using triage calculus, which is more "materialist" than "structuralist" - type is given by the structure of the (quoted) term in normal form (unlike lambda calculus, triage calculus makes quoting easy). And I feel like univalence is related to quoting, something like if the two quoted terms are equal under "standard self-interpreter", then they are equal.
I would highly recommend "PROGRAM = PROOF" by Samuel Mimram.
It covers everything from pure lambda calculus through dependent type theory up to homotopy type theory. In comparison to the HoTT book, the book "PROGRAM = PROOF" is oriented less towards mathematicians more towards programmers. It contains also a short introduction to OCaml and Agda.
The book can downloaded from the authors web page:
This is probably a reasonable example of a case where an AI can really help out as an endlessly patient assistant to answer your personal questions in a conversational format.
It is possible it may get something wrong but as long as you keep beating on the wrongness you should eventually be able to work out what it is, and in its own way that would become possibly the best learning exercise there is. And of course, with the math proofs coming through from AIs lately, I wouldn't guarantee you'll see that much wrong stuff. I expect it would be at a low enough rate to keep you learning... after all, anyone who has had serious math education knows the human teachers aren't always completely correct either and there is the occasional impromptu exercise of everyone staring at the board and trying to figure out what went wrong with the demonstration.
> I am interested in different approach to types, using triage calculus, which is more "materialist" than "structuralist" - type is given by the structure of the (quoted) term in normal form (unlike lambda calculus, triage calculus makes quoting easy).
Univalence says that equality is equivalent to equivalence, ie, formalizing the notion of when we can use equivalence rather than equality as a step in a proof. In practice, we often only care about proofs “up to equivalence”.
A way to think about this:
- equality is an identity map
- equivalence is an isomorphism
For example, 2 in Z and 2 in R do not have an identity map between them — but do have an isomorphism.
I think the key insight of univalence is not collapsing equivalence into equality — but allowing it to remain a second truth relation.
We don’t want 2 in Z to be equal to 2 in R (because we collapse type distinction), but we do want them to be equivalent — so we can do equivalent reasoning about arithmetic in R to reach conclusions about Z.
> maybe even more so than Mac Lane’s Categories for the Working Mathematician (which I sometimes see suggested […])
FWIW, I am very against this recommendation. That book is needlessly opaque. I don’t know a good recommendation for category theory, but that isn’t it.
David Spivak (no relation to Calculus Spivak) wrote a book called _Category Theory for the Sciences_ that could totally serve as the basis for a one-semester undergrad course with some work.
He really likes working in informal categories (like his “ologs”) but I haven’t taught from it yet so I’m not sure if it is more or less confusing to introduce categories that way.
So... the ancient childish attempt to prove mathematics using mathematics (Gödel's Incompleteness slew the challenger) can be used to help me be a better TypeScript programmer? I learned something new today.
Yikes, guys/girls. I got downvoted to -4 points for a misunderstanding or something. Because the author of the website would probably agree with my simple point that although the Principia Mathematica tried to do the impossible, there is still utility for its value as a programming self-teaching resource for serious students of computer science.
Wow. Yeah. You guys ironically didn't just throw out the baby with the bath water thing. You burned me at the stake like a witch for heresy. Due to your cognitive biases and distortions.
You guys are Imperium of Mankind coded or something?
Two thoughts on someone who went out of their way to learn math:
1. If you can already program, the worst thing you can do is think of mathematics as learning a programming language. It is not, and you will waste your time being frustrated with things like syntax and notation. You get “used to” mathematics by doing it, and it’s something on its own. Just go with it. It’s ok to be confused.
2. Do the exercises, and stop asking for “solution manuals”, the point is to get you thinking and the struggle is most important part, not whether you got it “right”. Again, I think this is a programmer centric way of looking at things: “how do I know it’s
right if I can’t compile it”.
Maybe that’s why programmers like the foundations of mathematics. Like if somehow they could just go to the bottom of things, the assembler/machine code of sorts, the whole enterprise would make sense. Counterintuitively, the really great mathematicians of yore, did mathematics before it was anywhere close to formalized.
>Again, I think this is a programmer centric way of looking at things: “how do I know it’s right if I can’t compile it”.
I would argue this would only be true for those without formal education. Writing your code on paper is very common in CS courses. You get used to not being able to compile it.
I think your latter comment is kind of analogous to people writing python (or any high-level language) without understanding assembly. I think maybe that reduces the mystery a bit?
"Principia Mathematica is an odd book, worth looking into from a historical point of view as well as a mathematical one. It was written around 1910, and mathematical logic was still then in its infancy, fresh from the transformation worked on it by Peano and Frege. The notation is somewhat obscure, because mathematical notation has evolved substantially since then. And many of the simple techniques that we now take for granted are absent. Like a poorly-written computer program, a lot of Principia Mathematica's bulk is repeated code, separate sections that say essentially the same things, because the authors haven't yet learned the techniques that would allow the sections to be combined into one."
- Mark Dominus (https://blog.plover.com/math/PM.html)
Have someone refactored it into a more concise and modern version?
Possibly pertinent: Principia Mathematica Maps and Table Site (PM-MATS): https://principia.lib.uiowa.edu/about.html - more description in my top-level comment in this page.
It seems like a frontier model LLM could probably do it in day, probably less. Someone would have to read and correct it, though
This was my first thought when I saw the article.
For an accessible introduction before beginning this, consider his _Introduction to Mathematical Philosophy_:
https://en.wikipedia.org/wiki/Introduction_to_Mathematical_P...
and for ease of reading see the various PDF versions at:
https://people.umass.edu/klement/imp/
Of you prefer an even more entertaining approach and a very gentle introduction into the topic, I recommend the comic "Logicomix" which tells Russel's journey (though not historically correct all the time for story telling reasons).
https://en.wikipedia.org/wiki/Logicomix
Just got this from the library, it's a real page turner. Heard about it in this excellent interview: https://www.typetheoryforall.com/episodes/goedel-s-incomplet...
Logicomix is novel, and done well, but flawed … it's deficiencies lie in what it leaves out which may come across as an unfair charge but in this case the charge is warranted. There is a more historically correct and less orthodox work waiting in the wings for whosoever should attempt it.
1 reply →
new comics recommendation! thanks!
similarly the work itself is available here: https://people.umass.edu/klement/pom/
Principia Mathematica Maps and Table Site (PM-MATS):
https://principia.lib.uiowa.edu/about.html
"The goal of this project is to make clear structural connections between different parts of Principia and to make analyzable data about the theorems, definitions, and primitive postulates in its text. We do this by providing three digital tools ..."
For example here is their take on the celebrated proof in PM that 1 + 1 = 2
https://principia.lib.uiowa.edu/?n=110.643&n=110
You might be interested in Kurt Goedel’s extended book review wherein he proves that Principia cannot do what it sets out to do, nor can any such system.
I do teach PM when I teach theory of computation, but largely to tell the story of how we discovered the limits to computation.
The notation for avoiding parentheses is interesting, and I've thought that it might be useful in programming languages.
To illustrate, suppose you have a non-associative operator $. Rather than write a$(b$c), you can write a$.b$c - the . makes the $ before it be lower precedence on the right side. More dots make things be even lower precedence.
So, for example,
means
At least, that's my recollection. It's been over fifty years since I read (significant parts of) it...
In what way do you think this is useful over parentheses?
If you can read this book cover-to-cover, you're an absolute hero. Sometimes I wonder if they inserted a big logical error in the middle just to troll people under the assumption nobody would bother to read it.
You mean you don’t have a framed, signed, bug-bounty cheque from Alfred North Whitehead on your wall??
More seriously, there is indeed a huge logical error at the heart of the whole enterprise but it was not discovered until much later by Kurt Gödel.
This is commonly believed, but Gödel didn't identify a logical error at the heart of the whole enterprise, he proved astonishing theorems revealing limitations of any sufficiently powerful formal system. One can kind of think of the Principia as a science experiment to find the extent to which known mathematics could be proven from foundational axioms that could be thought of as "laws of logic". To make their system work, Russell and Whitehead themselves had to add extralogical axioms, such as their Axiom of Reducibility [0] and the Axiom of Infinity, giving empirical evidence (but not a proof) that "laws of logic" alone were not enough. They were also aware of limitations in their own system, such as the inability to define the cardinal $\aleph_\omega$ [1].
Like the article says, what they did was ahead-of-its-time, and a monumental influence on all subsequent work on formal systems, including Gödel's work, regardless of whether Russell and Whitehead achieved their initial aims.
[0] https://en.wikipedia.org/wiki/Axiom_of_reducibility [1] https://www.gutenberg.org/files/78255/78255-h/78255-h.htm#Pa...
Utter nonsense ... there is no known logical error in PM. Gödel proved that Russell and Whitehead's goal was unachievable but that's a totally different matter.
OTOH, Russell found a logical error at the heart of Frege's work, and PM fixed it by introducing the theory of types.
That's not how to spell Ludwig Wittgenstein!
1 reply →
>there is indeed a huge logical error at the heart of the whole enterprise but it was not discovered until much later by Kurt Gödel.
Which leads us to our next borderline impenetrable book, Gödel, Escher, Bach by Douglas Hofstadter.
27 replies →
Interestingly, there was a Show HN last year formalizing PM in Lean (https://www.principiarewrite.com) verified all 189 propositional logic theorems (sections 1-5) in Coq against the original proof sketches
I believe the Principia Rewrite is at https://principia-rewrite.org/.
1 reply →
I used to wonder how likely it was that the printers made some typesetting errors. Who among us could, say, type a thousand pages of APL symbols without introducing a bug?
There's a reason mathematics was known as "penalty copy" and was notoriously difficult to typeset and even more difficult to turn a profit on.
For a deep dive into both ends of that, see the history of publication of Knuth's TAoCP where the text was originally published traditionally by setting metal type on a composition machine (to the extent possible), then compositors would add the additional characters and spacing material necessary to compose the equations and so forth so as to lay out a galley (which would then be proofed/corrected) --- a successive edition was then typeset using an early imagesetter, which looked so ghastly that DEK considered giving up, but when informed that the imagesetter was controlled by a computer declared, "I am a computer scientist, I can fix that." and expected to knock out a typesetting system over his next sabbatical....
Roughly a decade later, TeX 1.0 was released.... the current version is 3.141592653 (with new versions adding another decimal place as the version tends towards \pi) --- while we're still waiting on the full publication of Vol. 4, it is widely considered that TeX was worth the delay.
4 replies →
apocryphally a typesetter saw "make x as small as possible" at the end of a math problem to be typeset, and did exactly that
2 replies →
It was required reading for my Logics class in undergrad. Pretty sure it was also on the optionals (aka required) for my Set Theory class as well.
It's also pretty typically a part of History Of Mathematics and Philosophy of Mathematics courses.
You might be thinking of Russell's Principles of Mathematics which is a bit easier going.
No it's not.
No it wasn't.
And you did not read it.
EDIT: source: took logic as undergrad + wrote on the tractatus which required a lot of pre-reqs to understand. 0 chance a course at undergrad level ever assigns principia mathematica. I don't care if you went to yale or oxford or ecole normale ... 0 chance. Most charitable interepretation: some pages of it + was on a bibliography. not required reading.
if feel embarrassed, that is the consequence for lieing. There is such a thing as intellectual honesty.
32 replies →
link the syllabi for the classes
1 reply →
This book is an interesting approach to The Principia:
Magnificent Principia (2013), by Colin Pask
https://devontrevarrowflaherty.com/2014/08/26/book-review-pr...
The article is about Russell and Whitehead’s Principia, not Newton’s.
Oops wrong principia :-)
For those who aren't familiar with the great but tragic story of Principia and Russell's quest for the foundation of math (spoiler: there is none), there's a really great graphic novel called Logicomix https://en.wikipedia.org/wiki/Logicomix I haven't read it in probably ten years, but it's one of those books and stories I spend an inordinate amount of time thinking about, for whatever reason.
The foundation of math is (mostly) ZFC.
It is not. The foundation of math is contested -- but afaik it is widely held that HoTT is the, erm, hottest contender to the throne https://en.wikipedia.org/wiki/Homotopy_type_theory
5 replies →
it seems that someone wants to traduce the PM in lean here : https://github.com/l-pommeret/Principia-Mathematica (probably with the use of llms)
"traduce" doesn't have the same meaning in English as it does in Spanish. The translation of "traducir" is "to translate".
It blows my mind that Russell invented (formalized) types. Such an elemental concept, but so useful.
Russell’s types aren’t really the same notion as types in programming: https://planetmath.org/russellstheoryoftypes
I miss modernism!
An interesting fact I learned while reading The Dream Machine[1], is that Principia was the basis of Newell, Simon and Shaw’s Logic Theorist (1956), considered to be the “first AI program”. Amusing and amazing to see this in the context of today’s Erdos-slaying LLMs.
Quoting from Wikipedia:
https://en.wikipedia.org/wiki/Logic_Theorist
Logic Theorist is a computer program completed in 1956 by Allen Newell, Herbert A. Simon, and Cliff Shaw.[1] It was the first program deliberately engineered to perform automated reasoning, and has been described as "the first artificial intelligence program".[1][a] Logic Theorist proved 38 of the first 52 theorems in chapter two of Whitehead and Bertrand Russell's Principia Mathematica, and found a new and shorter proof for Theorem 2.85.[3]
[1] https://press.stripe.com/the-dream-machine
I have a copy and like it much. However, i was always partial to Frege's Begriffschrift. His notation was really creative. It's a shame Russel's deflation of that project has sentenced it to the rubbish heap of history.
The Begriffschrift has in no way been consigned to the rubbish heap of history. What gave you that impression? It is seminal. That it had one unresolved paradox in its set-theoretic foundations does not scupper the philosophical insights, nor the creative notation, nor the more-or-less novel approach of conjoining mathematical functions and logic to give us predicate logic (apologies for this brutally simplified sketch)
i like to think of Frege and the Begriffschrift like this
Boole: logic + algebra = algebraic logic
Frege: logic + functions = predicate logic
ergo, if Boole is rightly deified then so should Frege regardless of minor infelicities (which prompted type theory anyhow) -- again, apologies if this is totally misleading
Tangential but for those who don't know it, Whitehead's Science and the Modern World (1925) is a fascinating read.
Instead of spending time beating one’s head against Russell and Whitehead, I would advise reading Homotopy Type Theory (aka the HoTT Book). Dependent types are cool and mind-expanding, but higher inductive types are downright mind-altering.
The Little Schemer/Typer could be used as a preparatory text to gear one up for HoTT.
It also has the advantage of being a bit more applicable to functional programming languages, maybe even more so than Mac Lane’s Categories for the Working Mathematician (which I sometimes see suggested to mathematically-inclined Haskell novices).
I tried to read HoTT. First chapter on type theory is great and pretty easy to follow. The second chapter, I got completely lost. I don't remember why, maybe they fixed it since.
But I find univalence axiom intriguing. I am interested in different approach to types, using triage calculus, which is more "materialist" than "structuralist" - type is given by the structure of the (quoted) term in normal form (unlike lambda calculus, triage calculus makes quoting easy). And I feel like univalence is related to quoting, something like if the two quoted terms are equal under "standard self-interpreter", then they are equal.
I would highly recommend "PROGRAM = PROOF" by Samuel Mimram.
It covers everything from pure lambda calculus through dependent type theory up to homotopy type theory. In comparison to the HoTT book, the book "PROGRAM = PROOF" is oriented less towards mathematicians more towards programmers. It contains also a short introduction to OCaml and Agda.
The book can downloaded from the authors web page:
https://www.lix.polytechnique.fr/Labo/Samuel.Mimram/teaching...
https://www.lix.polytechnique.fr/Labo/Samuel.Mimram/publicat...
This is probably a reasonable example of a case where an AI can really help out as an endlessly patient assistant to answer your personal questions in a conversational format.
It is possible it may get something wrong but as long as you keep beating on the wrongness you should eventually be able to work out what it is, and in its own way that would become possibly the best learning exercise there is. And of course, with the math proofs coming through from AIs lately, I wouldn't guarantee you'll see that much wrong stuff. I expect it would be at a low enough rate to keep you learning... after all, anyone who has had serious math education knows the human teachers aren't always completely correct either and there is the occasional impromptu exercise of everyone staring at the board and trying to figure out what went wrong with the demonstration.
1 reply →
> I am interested in different approach to types, using triage calculus, which is more "materialist" than "structuralist" - type is given by the structure of the (quoted) term in normal form (unlike lambda calculus, triage calculus makes quoting easy).
Interesting, dropping this link here for others: https://treecalcul.us/
1 reply →
HoTT distinguishes equality from equivalence.
Univalence says that equality is equivalent to equivalence, ie, formalizing the notion of when we can use equivalence rather than equality as a step in a proof. In practice, we often only care about proofs “up to equivalence”.
A way to think about this:
- equality is an identity map
- equivalence is an isomorphism
For example, 2 in Z and 2 in R do not have an identity map between them — but do have an isomorphism.
I think the key insight of univalence is not collapsing equivalence into equality — but allowing it to remain a second truth relation.
We don’t want 2 in Z to be equal to 2 in R (because we collapse type distinction), but we do want them to be equivalent — so we can do equivalent reasoning about arithmetic in R to reach conclusions about Z.
1 reply →
> maybe even more so than Mac Lane’s Categories for the Working Mathematician (which I sometimes see suggested […])
FWIW, I am very against this recommendation. That book is needlessly opaque. I don’t know a good recommendation for category theory, but that isn’t it.
David Spivak (no relation to Calculus Spivak) wrote a book called _Category Theory for the Sciences_ that could totally serve as the basis for a one-semester undergrad course with some work.
He really likes working in informal categories (like his “ologs”) but I haven’t taught from it yet so I’m not sure if it is more or less confusing to introduce categories that way.
[dead]
So... the ancient childish attempt to prove mathematics using mathematics (Gödel's Incompleteness slew the challenger) can be used to help me be a better TypeScript programmer? I learned something new today.
Why the belittling language? You actually can prove the completeness and consistency of portions of mathematics.
While axioms were known in ancient times, only Hilbert started the whole "prove Mathematics" thing.
How else would you prove mathematics and why would that be childish to use math? The limitations discovered were quite surprising back then.
Yikes, guys/girls. I got downvoted to -4 points for a misunderstanding or something. Because the author of the website would probably agree with my simple point that although the Principia Mathematica tried to do the impossible, there is still utility for its value as a programming self-teaching resource for serious students of computer science.
Wow. Yeah. You guys ironically didn't just throw out the baby with the bath water thing. You burned me at the stake like a witch for heresy. Due to your cognitive biases and distortions.
You guys are Imperium of Mankind coded or something?
2 replies →
It always amazes me how a random dump of someone who read the first 40 pages of PM attracts dozens comments on HN.
This really must be a very math-starved community of people who wanted to learn math but never quite could.
Two thoughts on someone who went out of their way to learn math:
1. If you can already program, the worst thing you can do is think of mathematics as learning a programming language. It is not, and you will waste your time being frustrated with things like syntax and notation. You get “used to” mathematics by doing it, and it’s something on its own. Just go with it. It’s ok to be confused.
2. Do the exercises, and stop asking for “solution manuals”, the point is to get you thinking and the struggle is most important part, not whether you got it “right”. Again, I think this is a programmer centric way of looking at things: “how do I know it’s right if I can’t compile it”.
Maybe that’s why programmers like the foundations of mathematics. Like if somehow they could just go to the bottom of things, the assembler/machine code of sorts, the whole enterprise would make sense. Counterintuitively, the really great mathematicians of yore, did mathematics before it was anywhere close to formalized.
>Again, I think this is a programmer centric way of looking at things: “how do I know it’s right if I can’t compile it”.
I would argue this would only be true for those without formal education. Writing your code on paper is very common in CS courses. You get used to not being able to compile it.
I think your latter comment is kind of analogous to people writing python (or any high-level language) without understanding assembly. I think maybe that reduces the mystery a bit?
2 replies →