20 ms·
Set Theory and Foundations of Mathematics
- sridca 7y agoRelated: Category Theory for Programmers https://github.com/hmemcpy/milewski-ctfp-pdf https://github.com/hmemcpy/milewski-ctfp-pdf
- LeanderK 7y agoI had a seminar on set theory and the foundations of mathmatics. It was very fun! But, coming from a computer science background, i found the foundations via set-theory unintuitive and a bit ackward to work with. I know there are some type-system based approaches, how do they turn out in practice? How nice are they to work with "on a low level"?
- gylterud 7y agoType theories, especially dependent type theories a la Martin-Löf, are quite natural to work with. They are easier to implement on a computer, and there are active communities around several such implementations (Agda, Coq, Lean,⋯). Most computer verified proofs are implemented in systems based on type theory, not set theory. Most of the time you do not need sets of sets of sets… You want types whose elements are the mathematical objects you care about. In fact, if you want to do set theory, you can do that inside type theory as well. You can define the type of iterative sets and define a membership relation on this. The resulting stucture will satisfy set theoretical axioms. This was first done by Aczel in the 70s.
- 0815test 7y ago"Set theory" itself is a bit of an overloaded term; most practical uses of naïve set theory in math do not make use of properties like extensionality or the global membership relation, that characterize axiomatic set theory over TT. Thus, one could also describe the sort of "more natural" systems you reference in your comment as 'structural set theory' https://ncatlab.org/nlab/show/structural+set+theory https://ncatlab.org/nlab/show/structural+set+theory It's true however that one can do material-set theory inside structural-set theory or type theory, by defining a type of material sets (not necessarily "iterative" however, that's a matter of whether you want to model the axiom of foundation!) and a membership relation on them.
- gylterud 7y agoStructural set theory, which as you say throws out the iterative structure, is more like type theory than set theory (this is pointed out in the nlab page you linked). Naïve set theory as practised in say a course in discrete mathematics certainly uses the iterative structure to construct say a pair. You will typically find the definition 〈x,y〉 ≔ {{a},{a,b}} instead of defining it through a universal property. All the axioms of material set theory take this iterative approach, not just foundation. In fact foundation is not very critical (The Axiom of Anti-foundation is just as workable), as you can always just use the class of well-founded sets and work with those.
- dwheeler 7y agoI agree that "set theory" itself is a bit of an overloaded term, as there are in fact many set theories. However, as you're probably well aware, naïve set theory can quickly lead to disaster because it leads to well-known paradoxes (like Russell's paradox). So if you're going to have foundations for mathematics (and it needs foundations!), it needs to avoid the paradoxes. ZFC does so, and in a way that many people have found satisfying enough.
- enriquto 7y ago> Most of the time you do not need sets of sets of sets… How do you construct the natural numbers, then ?
- cjfd 7y agoType theories like the one of coq support inductive definitions. Inductive nat: Set := | O: nat | S: nat -> nat However, this feels a bit like having a whole programming language for the foundations of mathematics. An alternative would be to basically do the same as is usual in set theory. That is, have an axiom that states that an infinte set exists. This is enough to construct the natural numbers. This axiom can state that there is a Set S and a function f: S -> S that is injective but not surjective.
- enriquto 7y ago> An alternative would be to basically do the same as is usual in set theory. That is, have an axiom that states that an infinte set exists. (...) I was not aware of this construction, thanks! The only thing I knew is the construction of natural numbers from the empty set, by iteratively building singletons.
- jfarmer 7y agoThe axiom of infinity ("there exists an infinite set") is what gives you permission to carry out the construction you describe. The usual construction of the naturals via set theory has us define... 1. 0 as the empty set ∅ 2. succ(n) as n ∪ {n} So you get... 0 := ∅ 1 := {0} = {∅} 2 := {0, 1} = {∅, {∅}} 3 := {0,1,2} = {∅, {∅}, {∅, {∅}}} 4 := {0,1,2,3} = {∅, {∅}, {∅, {∅}}, {∅, {∅}, {∅, {∅}}}} ... etc. ... But how do we know the following? 1. The empty set ∅ is a set 2. If T is a set then {T} is also a set 3. If T is a set then T ∪ {T} is a set 4. There exists a set X such that ∅ is in X and T ∪ {T} is in X whenever T is in X These all follow from the axioms of ZFC and (4) is actually itself one of the axioms — the Axiom of Infinity. It says that an infinite set like X exists. But you can see that the essence of it is just: "There exists a set X which includes the natural numbers." Note that this set X might contain many things beyond the set-theoretic copy of the natural numbers — the axiom just guarantees that a set containing the natural numbers exists ("some infinite set"). You can then use some of the other axioms to remove the unwanted elements, creating the unique, smallest set that satisfies this property. In other words, the axioms of ZFC were designed to be Peano-friendly. It wasn't as if we arrived at ZFC and then said, "Oh, look at that, we can represent the natural numbers as sets. What a surprise!":D
- dwheeler 7y ago>> i found the foundations via set-theory unintuitive and a bit ackward to work with. > Type theories, especially dependent type theories a la Martin-Löf, are quite natural to work with (and) are easier to implement on a computer... Whether or not type theories are "natural" is probably a matter of taste. But it's hard to argue that they are necessarily "easier to implement on a computer". Metamath is a general-purpose verifier, and its primary database (the Metamath Proof Explorer at http://us.metamath.org/mpeuni/mmset.html http://us.metamath.org/mpeuni/mmset.html ) is based on classical logic and ZFC set theory. A Metamath verifier in Mathematica is only 74 lines, while another in Python is only 350 lines. The Metamath verifier written in Rust is longer (it's written for speed), but it manages to verify about 32,000 proofs in about 0.9 seconds. It's so easy to write one that there's a long list of verifiers (see http://us.metamath.org/other.html#verifiers http://us.metamath.org/other.html#verifiers ). Metamath can handle HOL, too. I don't know of any shorter verifier that can handle the full range of mathematics. So by both code size and speed it's hard to argue that type theory is necessarily "easier" than traditional set theory on a computer. They both simply process symbols given a small set of rules. There are many possible foundations of mathematics beyond ZFC and type theory, e.g., Quine's "New Foundations" (NF) (see http://us.metamath.org/nfeuni/mmnf.html http://us.metamath.org/nfeuni/mmnf.html for a Metamath encoding of that), HOL, etc. And that's not even counting logic systems: Classical logic is the most common in mathematics (by far), but intuitionistic logic is in use (and tools like Coq are built on it), and there are many other logic systems as well (paraconsistent, minimal, etc.). That said, I believe ZFC (combined with classical logic) is by far the most commonly foundation referenced in mathematics today. Wikipedia claims: "Today, Zermelo–Fraenkel set theory, with the historically controversial axiom of choice (AC) included, is the standard form of axiomatic set theory and as such is the most common foundation of mathematics." https://en.wikipedia.org/wiki/Zermelo%E2%80%93Fraenkel_set_theory https://en.wikipedia.org/wiki/Zermelo%E2%80%93Fraenkel_set_t... That doesn't mean that other systems are "not as good" or "not mathematical" - but when people ask about mathematical foundations, ZFC is typically what people refer to first. It's probably good to at least know a little about ZFC when discussing foundations, even if you decide to do something different.
- gylterud 7y agoEDIT: It is a fair point that it is difficult to say what is easier to implement (the below expands on this). By type theory being natural I was mostly thinking of the fact that it is basically a functional programming language with a very strict compiler. Actually, Metamath is not tied to ZFC. As the name implies it is a meta-theory where you could implement a lot of different theories. That said, most Metamath developments use ZFC. I haven’t seen anyone doing type theory in Metamath, but from what I understand it may be possible. Also, this means if you are counting lines you need to include the formalisation of the logic and the axioms of ZFC inside metamath. The kernel of Coq is similarly a quite short program. Certainly there is a wealth of systems available. But the ones based on type theory, such as Coq, seem to be at least as popular as the set theory based ones (For instance the first formalised proof of the four colour theorem and Gödel’s theorems were in Coq).
- fnrslvr 7y agoSet theory as a toolkit is mostly geared towards questions of consistency/existence, size or "order" of objects, and raw mathematical explanatory power of theories or claims. It traditionally arose to explore ideas of infinity precisely, then grew to meet the needs of a mathematical community grappling with antinomies (e.g. Russell's paradox) and heated foundational divides (classicism vs intuitionism, etc). It still meets those needs well -- topics like large cardinals which chart the territory dangerously beyond the boundaries of (assumed) mathematical consistency are plied with set theory, and questions of consistency that arise in other fields tend to end up ported into set-theoretic terms. I'm not a type theorist, but I imagine the split between set theory and type theory is analogous to the way in which different models of computation appeal to researchers on different sides of the "Theory A/Theory B" split in computer science. Researchers in the "A" group who study the outer limits of what problems are/aren't tractable, how different kinds of computational resource compare in power, etc, tend to use Turing machines and RAM models and circuits, which allow computational resources to be easily measured, bounded, simulated, reduced into things, etc. Researchers in the "B" group who explore programming languages, type systems, program analysis, etc, tend to prefer models like lambda calculus which allow programs to be easily composed and annotated with types and whatnot. I don't think this is just about cultural differences -- if you try to prove time-space trade-offs with the lambda calculus or invent a new type parameterization system with Turing machines then you're going to have a bad time.
- 0815test 7y agoIronically, large-cardinals and related devices give set theory a rather type-theoretic "flavor". One can definitely explore the very same questions of 'consistency/existence, size or "order" of objects, and raw mathematical explanatory power of theories' with type-theoretic tools, and arguably do it quite more elegantly, because the related formal devices (e.g. "universes") arise more naturally in a type-theoretic context.
- The_rationalist 7y agoOne should read about standard logic, propositional logic, term logic and nth order logics before, because set theory is founded by them.
- enriquto 7y agoNot really. There are many reasonable places to start learning in the edifice of mathematics, without needing to be aware of the whole structure. For example, you can do a lot of math without knowing the definition of real number.
- rocqua 7y agoI'd say most intuition matches the reals, even if people's explanation of it would not match the definition. You just need to walk someone through 'sqrt(2) is irrational ' and 'pi is transcendental' and you essentially end up with 'I want all converging sequences in Q to have a limit'. Which gives you the reals. In some sense, the reals are the most naive number system. Just start with the natural numbers, and allow every sensible opperation.
- enriquto 7y ago> In some sense, the reals are the most naive number system. Just start with the natural numbers, and allow every sensible opperation. It is simple only in retrospect. It took a few millennia for mankind to reach the definition of the reals. Meanwhile, Archimedes, Euclid, Pythagoras, al-Kwarizmi, Newton, Fermat, Gauss, Euler, Jacobi, Newton, Galois, Bernoulli, Laplace, Lagrange, Fourier did quite a lot of things (which are very relevant for all fields of math today) without even knowing the definition of limit!
- rocqua 7y agoIt's a stretch to say that people after Newton did not know what a limit was. It's just that they did not have the formal definition of one. Newton invented limits. Only he did not have a fundamental basis for it. Hence, he saw it is a dirty trick that happened to yield correct and useful results. The formalization of limits came later when the intuitive use of a limit started failing. If I recall, this was with the Weierstrass function. I think we agree though. You can do most maths just by assuming you can do things with the rational numbers. It takes some really weird stuff before you need to properly define the 'real-numbers'.
- tempodox 7y agoThis contains some falsehoods, e.g. (A⇔B⇔C) is not the same as ((A⇔B)∧(B⇔C)) and the former doesn't imply (A⇔C) either, but the latter does.
- deleted 7y ago[deleted]
- drdeca 7y agoWhat? What do you mean by (A⇔B⇔C) then? Because I’m pretty sure I’ve basically only seen it as shorthand for the conjunction of (A⇔B) and (B⇔C), when it is understood that ⇔ is transitive.
- deleted 7y ago[deleted]
- codethief 7y agoHow do you read (A⇔B⇔C) ?
- The_rationalist 7y agoThe error comme from the use of the equivalence operator instead of the material Implication operator =>
- Buldak 7y agoSo what's the interpretation that will make one false and the other true?
- rrobukef 7y agoMy standard interpretation is ((A⇔B)⇔C). A=F,B=F,C=T differ in evaluation. * edited T to F
- __MatrixMan__ 7y ago
- thomk 7y agoQuestion: Would you use 'set theory' to find patterns of sets in a hierarchy?
- markkm 7y ago"The set theory formalism presented here differs from the traditional ZF system" Do not, I repeat, DO NOT study nonstandard theories before familiarizing yourself with the standard theory. The standard set theory (ZFC) survived for over a century for very, very good reasons. Without an exposure to the accepted standards, you will not be able to tell what is reasonable and what is not in this set of notes. It should also be noted that the author's field of concentration (geometric analysis) has nothing to do with set theory. A typical mathematician knows very little about axiomatic set theory and is prone to making imprecise statements about it.
- gylterud 7y agoWhile I agree that one could take caution when studying proposed alternative foundations of mathematics (there are a lot of dysfunctional theories out there, and the link may be one of them for all I know), I think it is unfair to presume incompetence based on the fact that the author has another field as his specialisation. ZFC is also not the one true way, there are many sensible ways to formulate set theory, and even valid criticisms of ZFC.
- jacobolus 7y agoSet theory historically exists to serve analysis. https://www.youtube.com/watch?v=hBcWRZMP6xs https://www.youtube.com/watch?v=hBcWRZMP6xs
- korpiq 7y agoTo me this looks like an interesting attempt to holistically give some overview of mathematics to lay people and could be improved if eg. those with correction proposals here would have some way to contribute back. I might immensely enjoy such a wikipedia of mathematics.
- joe_the_user 7y agoHonestly, I would suggest looking at Wikipedia proper. It's coverage of mathematical topics seems to be currently quite good. You can generally easily google the proofs and the details for topics presented without these. The web altogether is goldmine of mathematical knowledge today imo. Most things aren't explained "down to the elementary level" but anyone who spends significant time on this stuff will reach a higher level and appreciate not having the same elementary explanations repeated over and over.
- bubble-07 7y agoWhat is the first diagram on this page supposed to depict? Seems like a bunch of unrelated topics with random arrows drawn between them. Also, the author seems more than a bit arrogant and deluded: http://settheory.net/life http://settheory.net/life -- I would _not_ touch any of this stuff with a 40 foot pole.
- travisjungroth 7y agoThat link looks like the writing of someone mentally ill.
- crimsonalucard 7y agoA lot of geniuses have issues. I wouldn't use this to judge the rest of his work.
- User23 7y agoThe author is evidently far from neurotypical. Generally I find these kinds of diverse viewpoints interesting, if not appealing. Unfortunately his prose borders on unreadable. There may very well be excellent ideas here, but until he follows the commandment "omit needless words" nobody is going to wade through it.
- avinium 7y agoI think "mentally ill" is pretty unfair. Passionate, depressed, maybe even self-righteous? Sure, all of these. But his capacity for logic doesn't seem to be affected. English isn't his first language, but he still writes in full, grammatically correct sentences that are very clear. Wordy and emotional - yes. But not mentally ill. I think we should be careful not to dismiss/overlook people because we don't share their emotional perspective on the world. In other words, just because he's a unique character doesn't mean his take on set theory should be ignored. From a very brief click through (and from my own fairly superficial memory of the topic), it doesn't seem to be extremely unconventional. At the very least, it's not standing shoulder to shoulder with Timecube.
- 7y ago
- fesoliveira 7y agoI wish someone could give this a beauty treatment to make it look like Immersive Math, for instance (http://immersivemath.com/ila/index.html http://immersivemath.com/ila/index.html). This typography and formatting makes it very hard to read these notes, although the content seems to be very interesting.
- onemoresoop 7y agoI love this. I wish I started math with these tools back in the day!!
- meuk 7y agoThere are links to pdf files near the headers of the chapters, although the pdfs are called "obsolete", so I guess they are not the latest version or miss content.
- formalsystem 7y agoSeems like it's hit by the HN hug of death. Am wondering is there any way for me to help out random people who I think have good content by mirroring their content and increase scale on their behalf?
- crimsonalucard 7y agoCategory theory is an alternative view on the foundations of mathematics that literally gets rid of sets.
- rocqua 7y agoWell, there is the rather prototypical category Set. So I would not say it gets rid of sets.
- Koshkin 7y agoAlso, there are many examples of concrete sets in there. For example, "the set of morphisms from A to B" (in a locally small category).
- crimsonalucard 7y agoYeah, you are right. Maybe I should say gets rid of sets as a the foundation of mathematical theories?
- IngoBlechschmid 7y agoIt's more subtle than that. True, given any reasonable well-behaved notion of "set", there is a category Set of all sets. (Its properties will depend on the specific notion of "set" chosen.) But this observation isn't really relevant to issues of formalization. Mathematics can be formalized in lots of systems, set theory being one, type theory being another, and category theory (more specifically ETCS) providing yet another alternative. All of these foundations are interesting, enjoy unique features, and are interrelated. In particular, ETCS and set theory are very similar from the point of view of foundations: Basically, ordinary set theory and ETCS are two different flavors of set theory: ordinary set theory rests upon a global membership predicate ∈, while ETCS rests upon the notion of a morphism. Closest to mathematical practice is probably type theory. (But keep in mind that the points above still stand, and that most mathematicians work informally, not knowing any details about set theory, type theory or ETCS.)