107

Set theory with types

I am one of the (rare on the Internet now) people that is a fan of "everything is a set".

Of course I don't believe that set theory is the One True Foundation and everything else is a lie, the fact that one can give a foundation with just one type of object, just one binary relation and relatively few simple axioms (or axiom schemas) is quite relaxing and I would say a bit unappreciated.

And also unlike other fellow students I never encountered any problem with more seemingly complicated constructions like tensor products or free groups since one can easily see how they are coded in set theory if one is familiar with it as a foundation.

2 days agobananaflag

As one of those that do not like the “sets at the bottom” approach I just want to highlight why. For me, mathematics built on sets have leaky abstractions. Say I want natural numbers, I need to choose a concrete implementation in set theory e.g. Von Neumann, but there are multiple choices. For all good definitions, so get Peano arithmetic and can work with, but the question “Is 1 and member of 3” depends on your chosen implementation. Even though it is a weird question, it is valid and not isomorphic under implementations. That is problematic, since it is hidden in how we do mathematics mostly. Secondly, it is hard to formalize, and I think mathematics desperately needs to be formalized. Finally, I do not mind sets, they are great, and a very useful tool, I just do not like they as the foundation. I firmly believe we should teach type theoretic or categorical foundations in mathematics and be less dependent on sets.

2 days agoAtiscant

>Say I want natural numbers, I need to choose a concrete implementation in set theory

In what situation do you ever actually need a set theoretic foundation of the natural numbers to get work done?

an hour agozero-sharp

> Say I want natural numbers, I need to choose a concrete implementation in set theory e.g. Von Neumann, but there are multiple choices.

You don't need to choose a concrete implementation. If you don't want to choose a construction, you can just say something like "let (N, 0, +, *) be a structure satisfying the peano axioms" and work from there.

> For all good definitions, so get Peano arithmetic and can work with, but the question “Is 1 and member of 3” depends on your chosen implementation. Even though it is a weird question, it is valid and not isomorphic under implementations. That is problematic, since it is hidden in how we do mathematics mostly.

Why is that problematic? The constructions are isomorphic under the sentences that actually matter. This kind of statement is usually called a "junk theorem", and they are a thing in type theory too, see for example this quote from a faq by Kevin Buzzard about why Lean defines division by zero to be zero:

> The idiomatic way to do it is to allow garbage inputs like negative numbers into your square root function, and return garbage outputs. It is in the theorems where one puts the non-negativity hypotheses.

https://xenaproject.wordpress.com/2020/07/05/division-by-zer...

> Secondly, it is hard to formalize, and I think mathematics desperately needs to be formalized.

Is that actually true? At the very least writing out the axioms and derivation rules is easier for set theory, since it's simpler than type theory. And there has been plenty of computer-verified mathematics done in Metamath/set.mm and Isabelle/ZF, even though less has been done than in type theory. Currently the automated tools are better for type theory, but it seems likely to me that that has more to do with how much effort has been put into type theory than any major inherent advantages of it.

---

More generally, types in type theory are also constructed! The real numbers in Lean don't come from the platonic realm of forms, they are constructed as equivalence classes of cauchy sequences. And the construction involves a lot of type-theoretic machinery which I'd usually rather ignore when working with reals, much like I'd usually rather ignore the set-theoretic construction of the real numbers. And the great thing is that I can ignore them, in either foundation!

So I just don't really buy these common criticisms of set theory, which to me seem like double standards.

2 days agolibrexpr

Sure you can work around it most of the time, but some times you cant. The whole point is that isomorphic is not equality in set theory, and sometimes proofs does not transfer along isomorphism because they refer to implementations. I agree that it is much preferable to work with abstract structure, but that not always what happens in practice. The natural number example is contrived but easy to see. My point of view is also that I do not like the Lean approach. It would actually like no junk theorems to exist in my theory. I am much more partial to the univalent approach and in particular univalent implementation that compute e.g. cubical. Regarding how easy it is to formalize, you are right. Lots of good work happens with set theory based type theory. My point was also that set theoretic foundations themselves are very hard to formalize, e.g ZFC + logic is very difficult to work from. A pure type theoretical foundations is much easier to get of the ground from. To prove that plus commutes directly from ZFC is a nightmare.

a day agoAtiscant

[dead]

an hour agonekomorphism

Have you considered the next step from sets into Category Theory?

9 hours agolouthy

Yes, I am very familiar with category theory. Not sure I would consider it the "next step from sets". Sure, there are alternative foundations based on category theory, but that is not its only or its main use.

8 hours agobananaflag

I'm more into only state change/differentiation exists.

Which of course means state is real.

Which mean langauge, syntax and semantics can be traced all the way down to fundementals.

Which means human meaning making is making the meaning of the universe, like an accidental organ of the universe.

And far from human meaning making being subjective its tied directly to physical existence and is objective.

And a cesium clock is all you need to derive everything fundemental.

That's what I play around with at least.

The idea that if stars are a process that emits photons and change energy gradients, humans are a process that emits complex meaning and change causal leverage gradients.

4 hours agofellowniusmonk

[dead]

9 hours agoYouAreWRONGtoo

I think that the aesthetic dislike of "everything is a set" is misplaced, because it misses a crucial point that people unfamiliar with formal untyped set theories often miss: Not every proposition in a logic needs to be (or, indeed, can be) provable. The specific encoding of, say, the integers need not be an axiom. It's enough to state that an encoding of the integers as sets exists, but the propositions `1 ∈ 2` or `1 ∩ 2 ≠ ∅` can remain unprovable. Whether they're true or false remains unknown and uninteresting (or, put another way, "nonsensical").

The advantage is, then, that we can use a simple first order logic, where all objects in the logic are of the same type. This makes certain things easier and more pleasant. That the proposition `1 ∈ 2` can be written (i.e. that it is not a syntax error, though it's value is unknowable) should not bother us, just as that the English proposition "the sky is Thursday" is not a grammatical error and yet is nonsensical, doesn't bother us. It is no more or less bothersome than being able to write the proposition `1/x = 13`, with its result remaining equally "undefined" (i.e. unknowable and uninteresting) if x is 0. If `1/x = 13` isn't a syntax error, there's no reason `1 ∈ 2` must be a syntax error, either.

That a proposition is nonsensical (for all assignments of variables or for some specific ones, as in x = 0 in 1/x) need not be encoded in the grammar of the logic at all, and defining nonsense as "unknowable and uninteresting" is both convenient and elegant. I think that some logicians overlook this because they're attracted to intuitionist theories, where the notion of provability is more reified, whereas in classical theories every proposition is either true or false. They're bothered perhaps less by the ability to write 1 ∈ 2 and more by the idea that 1 ∈ 2 has a truth value. But while the notion of provability itself is not reified in classical logics, unprovable propositions are natural and common. 1 ∈ 2 has a meaning only in a very abstract sense; the theory can make that statement valid yet practically nonsensical by not offering axioms that can prove or disprove it. Things can be "undefined" in a precise way: the axioms do not allow you to come to any definition.

Indeed, this is exactly how the formal set theory in TLA+ is defined: https://pron.github.io/posts/tlaplus_part2

3 hours agopron

1 ∈ 2 is operating at a _different layer of abstraction_ than peano arithmetic is. It's like doing bitwise operations on integers in a computer program. You can do it, but at that point you aren't really working with integers as _integers_.

2 hours agoempath75

If 1 ∈ 2 is neither provable nor refutable, then you're not working with anything. The proposition literally has no meaning. It's not a syntax error, but you can't use its value for anything. Its value is undefined.

This actually comes in handy: While 1 ∈ 2 is undefined, `(2 > 1) ∨ (1 ∈ 2)` is true, and `(1 > 2) ∧ (1 ∈ 2)` is false, and this is useful because it means you can write:

    x = 0  ∨  1/x ≠ 0
which is a provable theorem despite the fact that the clause `1/x` is difficult to typecheck. This comes in even more handy once you apply substitutions. E.g. it is very useful to write:

    y = 0  ∨  1/x ≠ 0
and separately prove that y = x.

To make this convenient, typed theories will often define 1/0 = 0 or somesuch (but they don't complain about that). In untyped set theory, 1 ∈ 2 and 1/0 can remain valid yet undefined.

Of course a ZF set theory operates with different objects than Peano arithmetic - it's a different theory. But Peano arithmetic nevertheless applies to any encoding of the integers, even the ones where 1 ∈ 2 is undefined.

2 hours agopron

I don't understand arguments like "nobody can agree on what set theory is". This is not how mathematics work.

In mathematics labels are _not_ important, definitions are.

One simple example that everybody can relate to: do natural numbers include 0 or not? Who cares? Some definitions include it, some do not. There's even a convention of using N for N with 0, and N+ for excluding it, but even the convention is just a convention, not a definition. You could call them "funky numbers, the set of whole positive numbers including 0", and you're fine. Funky, natural, those are just names, labels, as long as you define them, it doesn't matter.

Same applies to set theory, there's many, many set theories, and they differ between properties, and this has never caused problems, because in mathematical discussion or literature...you provide or point to a definition. So you'll never discuss about "set theory" without providing one or pointing to one.

This is very, very different from how normal people waste their time.

E.g. arguing whether AI "thinks" or not, but never defining what thinking means, thus you can't even conclude whether you think or not, because it's never been defined.

2 days agoepolanski

The distinction between material set theories (like ZF and other set-theoretical foundations you might have heard about) and structural set theories (like ETCS, SEAR and most likely the "typed set theories" mentioned in OP) is rather fundamental. To the point that calling both of them "set theory" feels quite misleading.

2 days agozozbot234

Maybe because there are many different set theories. The one taught in school is not a correct one but grokable for most students. Then you got the Zermeno Frenkel set theory, and you got the Homotopy Type Theory one which can yield or emulate the same results. So in a sense the opening statement is correct. There is no consensus on a single "this is THE one and true correct set theory"

2 days agorootnod3

what… argument? anyway, pretty sure larry is quite fluent with how mathematics is done.

2 days agocmrx64

Doesn't show in the premise.

2 days agoepolanski

That first sentence has very little to do with the content of the essay; you’re being pedantic. You understand very well what was meant.

2 days agoTimorousBestie

You're probably right, that was a bit pointless of a comment.

2 days agoepolanski

[dead]

an hour agonekomorphism

[dead]