Principia Mathematica is modern and insightful (okmij.org)
268 points by matt_d a day ago
tristramb 11 hours ago
"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)
bazoom42 7 hours ago
Have someone refactored it into a more concise and modern version?
jonjacky 6 hours ago
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.
theonemind 6 hours ago
It seems like a frontier model LLM could probably do it in day, probably less. Someone would have to read and correct it, though
danilafe 8 hours ago
This was my first thought when I saw the article.
WillAdams 20 hours ago
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:
hasley 16 hours ago
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).
eternauta3k 15 hours ago
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...
igravious 15 hours ago
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.
jhbadger 10 hours ago
bramadityaw 9 hours ago
new comics recommendation! thanks!
zote 17 hours ago
similarly the work itself is available here: https://people.umass.edu/klement/pom/
pngwen 9 hours ago
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.
scoofy an hour ago
As a former analytic philosophy student, it's always a bit strange and encouraging for me to see stuff like this show up in CS/Tech forums. We need more philosophy now that we are dealing with the implication of "intelligent" machines.
radford-neal 8 hours ago
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...layer8 6 hours ago
In what way do you think this is useful over parentheses?
radford-neal 3 hours ago
It's better visually. No dot, ., :, :., ::, ::., :::, etc. have increasing visual weight, which shows which are the more top-level operators without having to match up parentheses.
layer8 an hour ago
glimshe 21 hours ago
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.
gumby 21 hours ago
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.
steppi 19 hours ago
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...
gumby an hour ago
jibal 17 hours ago
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.
robobro 18 hours ago
That's not how to spell Ludwig Wittgenstein!
steppi 17 hours ago
voxadam 21 hours ago
>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.
m-hodges 20 hours ago
analog31 20 hours ago
scubbo 20 hours ago
sorokod 16 hours ago
suslik 18 hours ago
annzabelle 18 hours ago
eru 17 hours ago
sergevar 18 hours ago
Interestingly, there was a Show HN last year formalizing PM in Lean (https://news.ycombinator.com/item?id=43797256), and the Principia Rewrite project (https://www.principiarewrite.com) verified all 189 propositional logic theorems (sections 1-5) in Coq against the original proof sketches
troutwine 7 hours ago
I believe the Principia Rewrite is at https://principia-rewrite.org/.
sergevar 5 hours ago
kjellsbells 20 hours ago
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?
WillAdams 20 hours ago
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.
karmakurtisaani 16 hours ago
inigyou 20 hours ago
apocryphally a typesetter saw "make x as small as possible" at the end of a math problem to be typeset, and did exactly that
gjm11 8 hours ago
taneq 18 hours ago
keltor 20 hours ago
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.
tristramb 11 hours ago
You might be thinking of Russell's Principles of Mathematics which is a bit easier going.
derrida 20 hours ago
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.
rramadass 18 hours ago
nimih 19 hours ago
mathisfun123 20 hours ago
mathisfun123 19 hours ago
link the syllabi for the classes
debo_ 18 hours ago
jonjacky 6 hours ago
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
nitsuaeekcm 16 hours ago
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.
emil-lp 15 hours ago
The foundation of math is (mostly) ZFC.
igravious 14 hours ago
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
qbit42 14 hours ago
ogogmad 8 hours ago
sergius 6 hours ago
This book is an interesting approach to The Principia:
Magnificent Principia (2013), by Colin Pask
https://devontrevarrowflaherty.com/2014/08/26/book-review-pr...
layer8 6 hours ago
The article is about Russell and Whitehead’s Principia, not Newton’s.
sergius 5 hours ago
Oops wrong principia :-)
1vuio0pswjnm7 3 hours ago
Domainname optional
lordleft 11 hours ago
It blows my mind that Russell invented (formalized) types. Such an elemental concept, but so useful.
layer8 6 hours ago
Russell’s types aren’t really the same notion as types in programming: https://planetmath.org/russellstheoryoftypes
zual 6 hours ago
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)
titanomachy 5 hours ago
"traduce" doesn't have the same meaning in English as it does in Spanish. The translation of "traducir" is "to translate".
black_knight 14 hours ago
I miss modernism!
d4rkp4ttern 11 hours ago
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]
voidhorse 20 hours ago
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.
igravious 14 hours ago
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
TimorousBestie 19 hours ago
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).
js8 16 hours ago
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.
leonidasrup 15 hours ago
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...
jerf 8 hours ago
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.
js8 7 hours ago
TimorousBestie 7 hours ago
> 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/
js8 6 hours ago
zmgsabst 9 hours ago
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.
js8 7 hours ago
fn-mote 9 hours ago
> 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.
TimorousBestie 7 hours ago
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.
vixen99 11 hours ago
Tangential but for those who don't know it, Whitehead's Science and the Modern World (1925) is a fascinating read.
makerdiety 17 hours ago
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.
bulbar 16 hours ago
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.
makerdiety 11 hours ago
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?
bulbar 2 hours ago
gjm11 7 hours ago
asimpletune 7 hours ago
data_maan 16 hours ago
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.
laichzeit0 16 hours ago
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.
firmretention 10 hours ago
>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.
futune 12 hours ago
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?