{"id":421,"date":"2007-05-16T19:02:10","date_gmt":"2007-05-16T19:02:10","guid":{"rendered":"http:\/\/scientopia.org\/blogs\/goodmath\/2007\/05\/16\/set-theory-some-basic-definitions\/"},"modified":"2007-05-16T19:02:10","modified_gmt":"2007-05-16T19:02:10","slug":"set-theory-some-basic-definitions","status":"publish","type":"post","link":"http:\/\/www.goodmath.org\/blog\/2007\/05\/16\/set-theory-some-basic-definitions\/","title":{"rendered":"Set Theory &#8211; some basic definitions"},"content":{"rendered":"<p> So, what&#8217;s set theory really about?<\/p>\n<p> We&#8217;ll start off, for intuition&#8217;s sake, by talking a little bit about what&#8217;s now called <em>naive set theory<\/em>, before moving into the formality of <em>axiomatic set theory<\/em>. Most of this post might be a bit boring for a lot of you, but it&#8217;s worth<br \/>\nbeing a bit on the pedantic side to make sure that we&#8217;re starting from a clear basis.<\/p>\n<p> A <em>set<\/em> is a collection of things. What it means to be a member of a set S is<br \/>\nthat there&#8217;s some predicate P<sub>S<\/sub> &#8211; that is, some way of describing things via logic &#8211; which is true <em>only<\/em> for members of S. To be a tad more formal, that means that for any possible object x, P<sub>S<\/sub>(x) is true if and only if<br \/>\nx is a member of S. In general, I&#8217;ll just write S for both the set and the predicate that defines the set, unless there&#8217;s some reason that that would be confusing and\/or ambiguous. (Another way of saying that is that a set S is a collection of things that all share<br \/>\nsome <em>property<\/em>, which is the defining property of the set. When you work through<br \/>\nthe formality of what a property means, that&#8217;s just another way of saying that there&#8217;s a<br \/>\npredicate.)<\/p>\n<p><!--more--><\/p>\n<p> Set theory &#8211; as you can see even from the first definition above &#8211; is incredibly closely intertwined with first order predicate logic (FOPL). In general, the two can form a nicely closed formal system: sets provide a semantic basis for the logic; and the logic provides a set of tools for talking about sets. That&#8217;s a big part of why set theory makes such a good basis for mathematics: it&#8217;s one of the simplest things that we can use to create a semantically meaningful complete logic.<\/p>\n<p>  So I&#8217;m going to run through a quick reminder of the basic notations and concepts of FOPL; for more details, you can look at some posts about FOPL itself <a href=\"\">here<\/a>.<\/p>\n<p> In first order predicate logic, we talk about two kinds of things: <em>predicates<\/em>, and <em>objects<\/em>. Objects are the things that we can reason about using the logic; predicates are the things that we <em>use<\/em> to reason about objects. <\/p>\n<p> A <em>predicate<\/em> is a statement that says something about some object or objects. We&#8217;ll write predicates as either uppercase letters (&#8220;A&#8221;, &#8220;B&#8221;), or words starting with an uppercase letter (&#8220;Married&#8221;), and we&#8217;ll write objects in quotes. Every predicate is followed by a list of comma-separated objects (or variables representing objects). So, for a few examples:<\/p>\n<ul>\n<li> <code>Dog(\"spot\")<\/code> is the FOPL form of the statement &#8220;spot is a dog&#8221;.<\/li>\n<li> <code>WorksFor(\"mark\", \"google\")<\/code> is the FOPL form of the statement<br \/>\n&#8220;Mark works for Google&#8221;. <\/li>\n<li> <code>Remainder(\"27\",\"5\",\"2\")<\/code> is the FOPL form of the statement<br \/>\n&#8220;2 is the remainder of dividing 27 by 5&#8221;. In general, when we&#8217;re using numbers<br \/>\nas objects, we&#8217;ll omit the quotes; so we could also write this <code>Remainder(27,5,2)<\/code>.\n<\/li>\n<\/ul>\n<p> One very important restriction is that <em>predicates are not objects<\/em>. That&#8217;s why this is called <em>first order<\/em> predicate logic: you can&#8217;t use a predicate to make<br \/>\na statement about another predicate. So you can&#8217;t say something like &#8220;<code>Transitive(GreaterThan)<\/code>&#8220;: that&#8217;s a second-order statement, which isn&#8217;t allowed in first order logic.<\/p>\n<p> We can join logical statements together to form more complicated statements: if &alpha;<br \/>\nand &beta; are both valid FOPL statements, then &alpha;&and;&beta; (&alpha; <em>and<\/em><br \/>\n&beta;) &alpha;&or;&beta; (&alpha; <em>or<\/em> &beta;), &alpha;&rArr;&beta; (&alpha;<br \/>\n<em>implies<\/em> &beta;, or if &alpha; then &beta;), and &alpha;&hArr;&beta; (&alpha; if<br \/>\nand only if &beta;). We can also <em>negate<\/em> statements: &not;&alpha; (<em>not<\/em><br \/>\n&alpha;).<\/p>\n<p> Finally, we have two <em>quantifiers<\/em> which we can use to create general statements<br \/>\nusing variables. We&#8217;ll generally write variables as lowercase, non-quoted letters or words.<br \/>\nThe two quantifiers are &forall; (<em>for all<\/em>), and &exist; (<em>there exists<\/em>).<br \/>\nWe can use the quantifiers to make statements like<br \/>\n<code>&forall;x,y,z:GreaterThan(x,y)&and;GreaterThan(y,z)&rArr;GreaterThan(x,z)<\/code> (for<br \/>\nall x, y, and z, if x is greater than y, and y is greater than z, then x is greater than<br \/>\nz.)<\/p>\n<p> The basics of set theory give us a small number of simple things that we can say about sets and their members. These also provide a basic set of primitive statements for<br \/>\nour FOPL:<\/p>\n<ul>\n<li> <code>x&isin;S<\/code>: the object x is a member of S; also the predicate <code>S(x)<\/code> is true.<\/li>\n<li> <code>S&sube;T<code>: S is a subset of T, meaning &forall;x, x&isin;S &amp;implies; x&isin;T.<\/li>\n<li> <code>S&sub;T<code>: S is a <em>proper<\/em> subset of T, meaning that<br \/>\n<code>S&sube;T &and; (&not;T&sube;S)<\/code>.<\/li>\n<li> <code>S = T<\/code>: S&sube;T &and; T&sube;S<\/li>\n<\/ul>\n<p> One interesting thing to note about those definitions is that <em>only<\/em> \"&isin;\" is really a primitive: the others are all defined in FOPL in terms of \"&isin;\".<\/p>\n<p> There are also a bunch of primitive operations on sets - that is, mappings<br \/>\nfrom pairs of sets to other sets:<\/p>\n<ol>\n<li> <code>A&cup;B<\/code>: The <em>union<\/em> of A and B. <code>x&isin;A&cup;B&hArr;x&isin;A&or;x&isin;B<\/code><\/li>\n<li> <code>A&cap;B<\/code>: The <em>intersection<\/em> of A and B. <code>x&isin;A&cap;B&hArr;x&isin;A&and;x&isin;B<\/code><em>(Thanks to Nat Whilk for catching a typo here.)<\/em><\/li>\n<li> <code>AB<\/code>: <em>set difference<\/em>: x&isin;AB if and only if x&isin;A &and; x&notin;B.<\/li>\n<li><code>A&Delta;B<\/code>: <em>symmetric difference<\/em>: x&isin;A&Delta;B if and only if x&isin;A&and;x&notin;B &or; x&notin;A&and;x&isin;B <em>(Errors corrected after being pointed out in comments.)<\/em><\/li>\n<\/ol>\n<p> Finally, within the most basic set operations, there's a fundamental one called<br \/>\n<em>cartesian product<\/em>. The cartesian product of two sets S and T, written S&times;T<br \/>\nconsists of a set of objects, containing exactly one unique object for every possible pair<br \/>\nor one element from A and one element from B. If a&isin;A and b&isin;B, then we'll call the<br \/>\nobject in A&times;B that pairs a and b <code>(a,b)<\/code>. Given any two objects a&isin;A<br \/>\nand b&isin;B, we can find the object (a,b)&isin;A&times;B, and given any object<br \/>\nz&isin;A&times;B, we can find the unique objects a&isin;A and b&isin;B such that<br \/>\n(a,b)=z.<\/p>\n<p> Within this, we can talk about <em>relations<\/em>: given two sets A and B, a relation R is a <em>subset<\/em> of A&times;B. We'll often write that R(a)=b if (a,b)&isin;R. A <em>function<\/em> is a relation where for every object a&isin;A, there is <em>at most<\/em><br \/>\none object b&isin;B such that R(a)=b.<\/p>\n<p> There are a number of special kinds of functions, some of which are really important. Given a function F from set A to set B:<\/p>\n<ol>\n<li> If for every a&isin;B, there is exactly one b&isin;B such that F(a)=b, then<br \/>\nF is a <em>total<\/em> function.<\/li>\n<li> If for every b&isin;B, there is exactly one a&isin;A : F(a)=b, then<br \/>\nF is called a <em>surjection<\/em> or <em>onto<\/em> function.<\/p>\n<li> If F is both total and onto, then F is called an <em>isomorphism<\/em>.\n<\/ol>\n<p> Two sets A and B have the same size or <em>cardinality<\/em> if and only if there exists  an isomorphism between A and B. In some sense, any two sets with an isomorphism can be considered to be equivalent sets.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>So, what&#8217;s set theory really about? We&#8217;ll start off, for intuition&#8217;s sake, by talking a little bit about what&#8217;s now called naive set theory, before moving into the formality of axiomatic set theory. Most of this post might be a bit boring for a lot of you, but it&#8217;s worth being a bit on the [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"jetpack_post_was_ever_published":false,"_jetpack_newsletter_access":"","_jetpack_dont_email_post_to_subs":false,"_jetpack_newsletter_tier_id":0,"_jetpack_memberships_contains_paywalled_content":false,"_jetpack_memberships_contains_paid_content":false,"footnotes":"","jetpack_publicize_message":"","jetpack_publicize_feature_enabled":true,"jetpack_social_post_already_shared":false,"jetpack_social_options":{"image_generator_settings":{"template":"highway","default_image_id":0,"font":"","enabled":false},"version":2}},"categories":[56],"tags":[],"class_list":["post-421","post","type-post","status-publish","format-standard","hentry","category-set-theory"],"jetpack_publicize_connections":[],"jetpack_featured_media_url":"","jetpack_shortlink":"https:\/\/wp.me\/p4lzZS-6N","jetpack_sharing_enabled":true,"jetpack_likes_enabled":true,"_links":{"self":[{"href":"http:\/\/www.goodmath.org\/blog\/wp-json\/wp\/v2\/posts\/421","targetHints":{"allow":["GET"]}}],"collection":[{"href":"http:\/\/www.goodmath.org\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"http:\/\/www.goodmath.org\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"http:\/\/www.goodmath.org\/blog\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"http:\/\/www.goodmath.org\/blog\/wp-json\/wp\/v2\/comments?post=421"}],"version-history":[{"count":0,"href":"http:\/\/www.goodmath.org\/blog\/wp-json\/wp\/v2\/posts\/421\/revisions"}],"wp:attachment":[{"href":"http:\/\/www.goodmath.org\/blog\/wp-json\/wp\/v2\/media?parent=421"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"http:\/\/www.goodmath.org\/blog\/wp-json\/wp\/v2\/categories?post=421"},{"taxonomy":"post_tag","embeddable":true,"href":"http:\/\/www.goodmath.org\/blog\/wp-json\/wp\/v2\/tags?post=421"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}