Category Theory
Zulip Server
Archive

You're reading the public-facing archive of the Category Theory Zulip server.
To join the server you need an invite. Anybody can get an invite by contacting Matteo Capucci at name dot surname at gmail dot com.
For all things related to this archive refer to the same person.


Stream: deprecated: mathematics

Topic: the empty set is a subset of other sets


view this post on Zulip David Egolf (Apr 01 2023 at 03:05):

In another thread, John Baez gave this proof:
John Baez said:

XYX \subseteq Y is true if and only if xXx \in X implies xYx \in Y. Suppose X=X = \emptyset. Then xXx \in X is always false. A false statement implies anything, so in this case xXx \in X implies xYx \in Y for any set YY. Thus Y\emptyset \subseteq Y for any set YY.

I was hoping to try and understand it a little better in this thread...hopefully learning a little bit about logic in the process.

It starts off by saying "XYX \subseteq Y is true". I recently learned about the concept of a "proposition", which to my understanding is roughly something we can try to prove, or can assign a truth value to. Since we are assigning a truth value, maybe we have a proposition here: XYX \subseteq Y ?
Except, it seems like this is impossible to prove (or disprove) as we have not specified what XX and YY are yet (besides being sets). So perhaps XYX \subseteq Y is not a proposition?

Instead, is XYX \subseteq Y implicitly a "propositional function"? By propositional function, I believe is meant a function that maps elements of a set to propositions (is this related to something called a "predicate"?). In this case, I would worry about what the domain of this function is, as the collection of all (pairs of) sets is not a set, as far as I understand it.

Anyways, any clarification so far would be much appreciated!

view this post on Zulip Jacob Zelko (Apr 01 2023 at 04:18):

Hey David, something that might help with clarifying this is that we are setting up to prove the statement XYX \subseteq Y only in the case of X=X = \emptyset. That's the rules of the game we are playing right now with proving the statement XYX \subseteq Y -- we are not proving the general form of XYX \subseteq Y but rather only Y\emptyset \subseteq Y. In that way, we avoid Russell's paradox which is what I think you may have been alluding to.

view this post on Zulip David Egolf (Apr 01 2023 at 04:27):

Jacob Zelko said:

Hey David, something that might help with clarifying this is that we are setting up to prove the statement XYX \subseteq Y only in the case of X=X = \emptyset. That's the rules of the game we are playing right now with proving the statement XYX \subseteq Y -- we are not proving the general form of XYX \subseteq Y but rather only Y\emptyset \subseteq Y. In that way, we avoid Russell's paradox which is what I think you may have been alluding to.

I was wanting to work up to considering this statement: XYX \subseteq Y is true if and only if xXx \in X implies xYx \in Y. I believe this statement is true for any sets XX and YY.

I guess I get a little confused by talking about how XYX \subseteq Y is true for some choices of XX and YY and not for others, and was trying to think how that might be formalized. I was wondering if one could consider a function that takes in choices for XX and YY and then tells us if XYX \subseteq Y is true... but I'm not sure if the domain of this function makes sense!

view this post on Zulip David Egolf (Apr 01 2023 at 04:33):

I suppose I'm trying to understand truth tables a little better. Googling "truth table implication" gives us images like this:
implication truth table

This looks to me like PP and QQ might sometimes be true and sometimes be false, corresponding to different rows of the table here... and I'm wondering if that means that PP and QQ are both functions that spit out truth values. (e.g. "xx has four legs" is true at xx="a tiger" and is false at xx="an ostrich").

Or maybe I'm just overcomplicating things here and this truth table is only meant to be applied to statements having a fixed truth value? If so, I'm curious how to talk about implication in the context of statements about variables, which can have a varying truth value depending on the value of the variable.

view this post on Zulip David Egolf (Apr 01 2023 at 04:36):

I hope that at least partially clarifies the nature of my confusion!

view this post on Zulip Jean-Baptiste Vienney (Apr 01 2023 at 04:53):

David Egolf said:

this truth table is only meant to be applied to statements having a fixed truth value?

Yes, that's the goal of this table.

view this post on Zulip Jean-Baptiste Vienney (Apr 01 2023 at 04:57):

David Egolf said:

If so, I'm curious how to talk about implication in the context of statements about variables, which can have a varying truth value depending on the value of the variable.

If AA and BB are statements about variables x,y,z...x,y,z... which can be either true or false then you can say that ABA \vdash B, in English "A logically entails B" if for every truth values of x,y,z...x,y,z... we find that ABA \Rightarrow B has the truth value TT using this table.

view this post on Zulip Jean-Baptiste Vienney (Apr 01 2023 at 04:59):

ABA \vdash B thus means "each time A is true, then B is true".

view this post on Zulip Jean-Baptiste Vienney (Apr 01 2023 at 05:02):

When we say that AA implies BB in mathematics, it is almost always in the sense ABA \vdash B. But mathematicians often write ABA \Rightarrow B to signify this because we don't want to go into formal logic and it's customary to do this.

view this post on Zulip Reid Barton (Apr 01 2023 at 05:10):

XYX \subseteq Y is a proposition provided that XX and YY are sets. The context should make it clear what XX and YY refer to. Maybe they are variables, maybe they are sets with some fixed definitions. Or maybe they are sets defined in terms of some other variables.

From context, "XYX \subseteq Y is true if and only if xXx \in X implies xYx \in Y" really means "For all sets XX and YY, ..." so here XX and YY are variables.

view this post on Zulip Reid Barton (Apr 01 2023 at 05:12):

If you like, and aren't deterred by size issues, you can introduce "the function that sends two sets XX, YY to the proposition XYX \subseteq Y". But I think it's more confusing than helpful to try to understand XYX \subseteq Y itself as this function.

view this post on Zulip John Baez (Apr 01 2023 at 05:23):

@David Egolf - since mathematical logic of a traditional sort was my first love, I usually tend to think of my proofs as things that could be formalized in first-order logic, also known as predicate logic. This is a widely used framework for making math rigorous. It was developed by people like Boole and Peirce and Frege and Peano and Russell and Whitehead and Hilbert and Bernays and Goedel.

A lot of people here are experts in more modern approaches, but first-order logic is definitely worth knowing, because from 1920 to 2000, and probably even today, most logicians will instantly resort to it if you ask questions like "what sort of thing is "XYX \subseteq Y"?" It's a noble tradition and an excellent background for newer things like category theory and type theory and homotopy type theory. These newer things often rebel against classical first-order logic in various ways, but I think it's hard to understand these newer things without understanding what they're rebelling against!

view this post on Zulip John Baez (Apr 01 2023 at 05:28):

If you read the linked article on first-order logic you'll learn about technical terms like 'variables', 'functions', 'terms', 'predicates', 'formulas', and so on.

view this post on Zulip John Baez (Apr 01 2023 at 05:29):

In this setup, X and Y are variables, \subseteq is a binary predicate, and XYX \subseteq Y is a formula with 2 free variables, XX and YY.

view this post on Zulip John Baez (Apr 01 2023 at 05:30):

Something like "XYX \subseteq Y if and only if xXx \in X implies xYx \in Y" is a more complicated formula, and it's an informal way of saying

XY    x(xX    xY) X \subseteq Y \iff \forall x (x \in X \implies x \in Y)

view this post on Zulip John Baez (Apr 01 2023 at 05:32):

This is again a formula with 2 free variables, XX and YY. But I was implicitly claiming it's true for all XX and YY, i.e.

XY(XY    x(xX    xY)) \forall X \forall Y (X \subseteq Y \iff \forall x (x \in X \implies x \in Y) )

view this post on Zulip John Baez (Apr 01 2023 at 05:32):

This is a formula with no free variables, also known as a "sentence".

view this post on Zulip John Baez (Apr 01 2023 at 05:34):

This sentence could be an axiom of set theory in some version of set theory phrased in first-order logic. In any event, few people doing set theory in first-order logic would be upset by you asserting this sentence.

view this post on Zulip John Baez (Apr 01 2023 at 05:37):

You could look up the ZFC axioms in a book on mathematical to see some widely used axioms for set theory, but most (classical) mathematicians just have a sense for what kinds of sentences you can assert about \subseteq and \in as part of a proof, without anyone objecting. Many of them would call this formula

XY    x(xX    xY) X \subseteq Y \iff \forall x (x \in X \implies x \in Y)

the "definition" of \subseteq.

view this post on Zulip Todd Trimble (Apr 01 2023 at 11:28):

I'll poke my nose in for just a bit. John just said that the last formula he wrote down can be regarded as the definition of the subset relation. One important thing to realize about definitions is that they are always declaration of "if and only if" type. For example, if a set XX is empty, then by definition [of empty set], XX has no elements. And conversely, if a set XX has no elements, then by definition XX is empty.

view this post on Zulip Todd Trimble (Apr 01 2023 at 11:29):

This can be a very convenient thing to remember when first learning how to construct proofs. In mathematics, we refer to and refer back to definitions all the time, even when we don't explicitly say so. Students who are just learning the art of constructing proofs should get into the habit of, early and often, mentioning when a definition is being invoked ("This means, by definition of blank, that..."), to make clear to themselves the overwhelmingly important role they play in mathematics and mathematical proof.

view this post on Zulip Todd Trimble (Apr 01 2023 at 11:29):

The formal content of mathematics pretty much boils down to definitions, axioms, statements of propositions (I'm including theorems, lemmas, corollaries, etc.), and proofs of propositions.

view this post on Zulip Todd Trimble (Apr 01 2023 at 11:29):

Another word that's come up here is "variable". Deploying variables is another thing that students need to learn to do, but it's usually something that's not taught too well. Roughly speaking, you could think of a variable as an "indefinite pronoun". Good practice is, whenever you introduce a variable xx in the course of a proof, say what type of thing xx refers to. Is xx supposed to be a real number, or an integer, or a subset of some other set, or what? All mathematics takes place within contexts, and declaring which context an introduced variable belongs to greatly aids clarity. (Mathematicians don't follow this practice as much as they should!)

view this post on Zulip Todd Trimble (Apr 01 2023 at 11:29):

Variables are also intimately tied with logical quantification, which has to do with correct handling of the phrases "for all" and "there exists". After you learn the bedrock of how propositional logic works, which governs the use of words "and", "or", "not", "implies" -- something that is typically taught by referring to truth tables, and something most students experience as relatively easy -- the next step is seeing how all this interacts with logical quantifiers. This takes a little more time for students than the propositional calculus.

view this post on Zulip Todd Trimble (Apr 01 2023 at 11:30):

An instructive exercise to cut your teeth on is to go through, in fine-grained detail, something like this. "Let A,B,CA, B, C be subsets of a domain DD. Prove that A(BC)=(AB)(AC)A \cap (B \cup C) = (A \cap B) \cup (A \cap C)." Everything I've mentioned above comes into play: the definition of equality of sets, which is defined in terms of subset inclusion. This in turn involves universal quantification, which in turn involves introducing a variable and knowing how to deal with it correctly. Also, the definitions of union and intersection of sets, and the way in which the proof systematically reduces the proposition down to an analogous "distributive law" in propositional logic.

view this post on Zulip Todd Trimble (Apr 01 2023 at 11:30):

Since you may be learning all this stuff on your own, you'll need to get hold of a textbook. The late great Gian-Carlo Rota once upheld the Schaum's Outline Series of mathematical texts. These have hundreds and hundreds of worked problems and they will get you into a subject fast. And they are cheap; look for used copies online. The only way to learn how to do proofs is to do a ton of them, but at least by the looks of it, there are a lot of people here willing to help.

view this post on Zulip David Egolf (Apr 01 2023 at 14:27):

Jean-Baptiste Vienney said:

If AA and BB are statements about variables x,y,z...x,y,z... which can be either true or false then you can say that ABA \vdash B, in English "A logically entails B" if for every truth values of x,y,z...x,y,z... we find that ABA \Rightarrow B has the truth value TT using this table.

This is helpful! I've seen that \vdash symbol before, but I've never been clear on exactly what it means.
If we write the truth value of AA for a specific value of x,y,z...x,y,z... as A(x,y,z,...)A(x,y,z,...) and similarly for BB, then if I understand you correctly, I think we have (AB)    (A(x,y,z,...)    B(x,y,z,...) for all x,y,z...)(A \vdash B) \iff (A(x,y,z,...) \implies B(x,y,z,...) \textrm{ for all } x,y,z...).
This reminds me a little how we can define addition of functions point by point: (f+g)(x)=f(x)+g(x)(f+g)(x) = f(x)+g(x). Although this seems a bit different, as f+gf+g still takes on a variety of values, while ABA \vdash B I think has a fixed value of either true or false once we pick AA and BB.

view this post on Zulip David Egolf (Apr 01 2023 at 14:32):

John Baez said:

If you read the linked article on first-order logic you'll learn about technical terms like 'variables', 'functions', 'terms', 'predicates', 'formulas', and so on.

Thanks for linking that article. I'll take a look and hopefully it will help make this all a bit clearer.

view this post on Zulip David Egolf (Apr 01 2023 at 14:36):

Todd Trimble said:

Since you may be learning all this stuff on your own, you'll need to get hold of a textbook. The late great Gian-Carlo Rota once upheld the Schaum's Outline Series of mathematical texts. These have hundreds and hundreds of worked problems and they will get you into a subject fast. And they are cheap; look for used copies online. The only way to learn how to do proofs is to do a ton of them, but at least by the looks of it, there are a lot of people here willing to help.

Thanks for mentioning the possible exercise on subsets (I may give it a spin in a bit!). And thanks for mentioning that series of texts! Solutions are incredibly helpful for self studying, so it is exciting to learn that there is a whole series of books that provide many worked problems! I'm amazed I didn't know about this series before.

I do find wikipedia articles like the one mentioned above to be helpful references, but usually after I've mostly learned a topic from elsewhere. So this is very helpful!

view this post on Zulip David Egolf (Apr 01 2023 at 15:05):

John Baez said:

In this setup, X and Y are variables, \subseteq is a binary predicate, and XYX \subseteq Y is a formula with 2 free variables, XX and YY.

Figuring out what a "predicate" is seems like a place to start. The wikipedia article says "A predicate takes an entity or entities in the domain of discourse and evaluates to true or false." However, further on, it says that "If P is an n-ary predicate symbol and t1,...,tnt_1, ..., t_n are terms then P(t1,...,tn)P(t_1,...,t_n) is a formula." So, maybe predicates actually generate "formulas", not truth values. I'm unsure, though, if the term "predicate symbol" refers to predicates or to something different - like a variable PP that stands for an arbitrary unspecified predicate.

view this post on Zulip David Egolf (Apr 01 2023 at 15:14):

Looking at the book "Categorical Logic and Type Theory" by Jacobs, the author defines a category to organize predicates on a set. The objects are pairs (I,X)(I,X) of sets where XIX \subseteq I. Jacobs says "we consider XX as a predicate on a type II, and write X(i)X(i) for iXi \in X to emphasise that an element iIi \in I may be understood as a free variable in XX".

Although Jacobs is using the word "type" here, which I'm not sure I want to explore yet, this seems to suggest that a predicate distinguishes certain entities in a given context. (Possibly distinguishing entities that produce a true proposition when inserted into a statement with variables?) Beyond that, this description leaves me a bit confused when attempting to connect it to the above discussion on predicates referring to Wikipedia.

view this post on Zulip David Egolf (Apr 01 2023 at 15:16):

"Practical Foundations For Programming Languages" provides: "A judgment states that one or more abstract binding trees have a property or stand in some relation to one another. The property or relation itself is called a judgment form, and the judgment that an object or objects have that property or stand in that relation is said to be an instance of that judgment form. A judgment form is also called a predicate, and the objects constituting an instance are its subjects."
It seems here that a predicate (also called a "judgement form") describes some kind of property of or relation between "abstract binding trees", which I think are certain formal sentences that can include the introduction of variables. But this feels a bit vague!

view this post on Zulip David Egolf (Apr 01 2023 at 15:17):

Well, I feel a little bit like I'm swimming in a sea of different definitions with an unclear relationship to one another! And I don't feel like I understand any one of the definitions... It's possible that starting by trying to understand what "predicate" means isn't a fruitful approach. Perhaps I need to understand some simpler concepts first to better understand these descriptions provided by the above sources.

view this post on Zulip John Baez (Apr 01 2023 at 15:40):

Well, I feel a little bit like I'm swimming in a sea of different definitions with an unclear relationship to one another!

That's inevitable, because you're just beginning to learn logic - and in logic, like any other important subject, there are many different approaches, with different conventions. People have been working on logic at least since Aristotle, after all.

view this post on Zulip John Baez (Apr 01 2023 at 15:42):

So, instead of running around, reading a bit here and a bit there, and hoping that it all adds up to a coherent picture, it's probably better to get a really good textbook on first-order logic - something that doesn't cut any corners - and learn that approach. After you learn one approach you will be able to see how other approaches, which often different in only minor ways, map on to the approach you know.

view this post on Zulip John Baez (Apr 01 2023 at 15:45):

But other approaches are more dramatically different. Trying to read about modern categorical approaches like Categorical Logic and Type Theory at the same time as traditional approaches like in the Wikipedia article First-order logic sounds like a recipe for disaster to me.

view this post on Zulip John Baez (Apr 01 2023 at 15:47):

It's sort of like you're just starting to learn music theory and you're reading books on Indian ragas and classical counterpoint at the same time.

view this post on Zulip David Egolf (Apr 01 2023 at 15:48):

Picking one really good textbook sounds like a great approach to me! I'm all for avoiding disaster.. :upside_down:

Do you still recommend "Mathematical Introduction to Logic" by Enderton? I was also just now taking a look at a book by Carnap "Introduction to Symbolic Logic and its Applications".

view this post on Zulip John Baez (Apr 01 2023 at 16:00):

I recommend Enderton, which I know. I don't know Carnap's book, but as a philosopher he may be fun to read yet more confusing.

view this post on Zulip David Egolf (Apr 01 2023 at 16:12):

John Baez said:

I recommend Enderton, which I know. I don't know Carnap's book, but as a philosopher he may be fun to read yet more confusing.

Awesome, I will give Enderton a try!

view this post on Zulip John Baez (Apr 01 2023 at 16:30):

When I was in high school in Virginia I took some math courses at George Washington University in DC, and one was on logic. We used Mathematical Logic by Kleene. I just took at look at the book again, and I still think it's good.

view this post on Zulip John Baez (Apr 01 2023 at 16:30):

So I recommend that, but I've also looked at Enderton's book and that seems good too.

view this post on Zulip John Baez (Apr 01 2023 at 16:37):

David Egolf said:

Figuring out what a "predicate" is seems like a place to start.

Yes, and their treatment of predicates might be a good way to judge different books on classical first-order logic.

The Wikipedia article says "A predicate takes an entity or entities in the domain of discourse and evaluates to true or false."

That of course is just preliminary chat, sort of like when a piano player noodles around a bit before the actual tune. It's important throughout math, but especially in foundations of mathematics, to distinguish between chat designed to give you the rough feel of a concept, and the actual serious stuff.

Since this article hadn't already rigorously defined "entity", "domain of discourse", "true", or "false", this can be nothing but chat. Don't take it too seriously.

However, further on, it says that "If P is an n-ary predicate symbol and t1,...,tnt_1, ..., t_n are terms then P(t1,...,tn)P(t_1,...,t_n) is a formula." So, maybe predicates actually generate "formulas", not truth values.

This is more like serious stuff. But I do recommend a textbook written by an licensed logician, rather than a Wikipedia article written by a team of random people. The former is more likely to present a single well-thought-out framework.

view this post on Zulip John Baez (Apr 01 2023 at 16:39):

I'm unsure, though, if the term "predicate symbol" refers to predicates or to something different - like a variable PP that stands for an arbitrary unspecified predicate.

Here's some preliminary chat that may help:

In traditional mathematical logic we often start out with syntax - symbols written on the page. So, in first-order logic a predicate is an actual letter like this:

PP

view this post on Zulip John Baez (Apr 01 2023 at 16:40):

We can call it a "predicate symbol" if we want to thump our fist on the table and get you to stop asking what it "means" - it's just a symbol.

view this post on Zulip John Baez (Apr 01 2023 at 16:42):

In first-order logic we tend to assume we have a countably infinite list of 1-ary predicates at our disposal, maybe

A,A,A,A, A, A', A'', A''', \dots

and then a countably infinite list of 2-ary predicates, maybe

B,B,B,B, B, B', B'', B''', \dots

and so on for 3-ary and 4-ary etc. forever. It doesn't really matter what they're called as long as we're completely clear about our choice!

view this post on Zulip John Baez (Apr 01 2023 at 16:45):

So those are predicates, and then comes the question of what you're allowed to do with them... I will let a textbook explain that, but you've probably already seen that we have a countably infinite list of 'variables', say

x,x,x,x, x, x', x'', x''', \dots

and if we have a 5-ary predicate EE''' we're allowed to write an expression involving it and 5 variables, like

E(x,x,x,x,x) E'''(x'',x'',x''''',x',x)

view this post on Zulip John Baez (Apr 01 2023 at 16:48):

So for example when I wrote something above like

XXX \subseteq X'

in the setup I'm talking about now, the symbol \subseteq is really short for some 2-ary predicate, maybe BB''''' for all I know, and XX and YY are 2 variables: maybe a fun shorthand for xx and xx'. If so, the above expression XYX \subseteq Y is just a user-friendly way of writing

B(x,x)B'''''(x,x')

view this post on Zulip John Baez (Apr 01 2023 at 16:50):

This sort of thing B(x,x)B'''''(x,x') is an example of a 'formula', but there are many other ways to build up formulas, like

A(x)(B(x,x)    B(x,x))A(x'''') \vee (B(x,x') \implies B'(x',x))

view this post on Zulip John Baez (Apr 01 2023 at 16:51):

I'm just telling you a bit of a story that goes on for pages; when it's done you know what a 'sentence' is, and what's a 'proof' of a sentence from a list of sentences called 'axioms'.

view this post on Zulip John Baez (Apr 01 2023 at 16:52):

This is handy to know, because if you ask traditional mathematicians what they're doing when they're writing a proof in English, they will often say they're writing some stuff that could in principle be translated into a proof in first-order logic.

view this post on Zulip John Baez (Apr 01 2023 at 16:53):

Whether they could actually do it is open to question, and whether they even should be able to do it is also controversial. But anyway, that's a common attitude, so it's good to know what the game actually is, here.

view this post on Zulip John Baez (Apr 01 2023 at 16:54):

Since this is a category theory discussion forum, some people must be thinking it's weird that I'm urging you to learn this 'traditional' approach to logic, called first-order logic, and in particular classical first-order logic.

view this post on Zulip John Baez (Apr 01 2023 at 16:55):

It's sort of like I'm telling you to learn common practice harmony from a textbook that treats Bach as an exemplar, when the cool kids are all playing jazz.... or creating electropop on their digital audio workstations using MIDI.

view this post on Zulip John Baez (Apr 01 2023 at 16:57):

But since you and especially @Jacob Zelko are wanting to learn a lot of math, much of it written by 'traditional' mathematicians rather than category theorists, I think it's good to understand the approach to logic that implicitly underlies their writing - even if they only nod to it without deeply understanding it.

view this post on Zulip John Baez (Apr 01 2023 at 16:59):

It may not be worth getting too deep into classical first-order logic, but I'm really glad that I did early on. It's not very complicaed, and after I learned it I knew one carefully designed formal setup that was precise enough to program into a computer (if I wanted to, but I didn't) and also expressive enough to handle most of the math I ran into.

view this post on Zulip John Baez (Apr 01 2023 at 17:00):

These days there are slicker approaches - but folks like Whitehead and Hilbert and Goedel and von Neumann and lots of logicians even now use classical first-order logic.

view this post on Zulip David Egolf (Apr 01 2023 at 17:34):

Thanks for writing that all out! It is interesting and helpful!

view this post on Zulip Nathanael Arkor (Apr 01 2023 at 20:49):

John Baez said:

But since you and especially Nathanael Arkor are wanting to learn a lot of math, much of it written by 'traditional' mathematicians rather than category theorists, I think it's good to understand the approach to logic that implicitly underlies their writing - even if they only nod to it without deeply understanding it.

I think perhaps you meant to tag someone else (though I certainly have much to learn mathematically :grinning_face_with_smiling_eyes:).

view this post on Zulip John Baez (Apr 01 2023 at 21:05):

Ulp. I'm terrible at names, which is why I named my kids x,yx, y and zz.

view this post on Zulip John Baez (Apr 01 2023 at 21:06):

I meant @Jacob Zelko. Almost the same thing, right? Zelko, Arkor? :blushing:

view this post on Zulip Jacob Zelko (Apr 01 2023 at 21:09):

Hehe, thanks for the ping and yea! Both have 5 letters, share an "o" and and "k", and are great sounding! :wink: Thanks for looping me back into the conversation -- will get caught up here!

view this post on Zulip John Baez (Apr 01 2023 at 21:10):

You two should team up - you could cover mathematics from A to Z!