Talk:Set-builder notation/Archive 1

Untitled
I'm no expert, but I'm pretty sure that it doesn't have to be a monadic predicate, since they use the example p/q. --67.161.220.195 15:34, 10 August 2006 (UTC) what is the first recorded use of set bilder notation how about the first use of the phrase set builder notation

Dubious
"...the set of all positive real numbers. This, like all infinite sets involving real numbers, is an example of a set that cannot be given by enumeration." I know this is incorrect, but I think the intended message is, however, I'm not sure how to precisely say it.

A simple counter example is $$\mathbb{N}$$. It's infinite, involving real numbers, but is enumerable, in fact, it's what enumerable sets are mapped to. But saying "sets involving an infinite number of irrational numbers" doesn't work either. Firstly, "involving" is unclear. But more importantly, I'll enumerate an infinite set of irrational numbers as a counter example.

$$\{\sqrt{x} : x \in \mathbb{N}\}$$

Add notation please
$$\{a : \exists \ p, q \in \mathbb{Z}, q \ne 0 : a = p/q\}$$

and

$$\{k : n \in \mathbb{N} \land k = 2n\}$$

really don't mean a thing to me. What is the carat looking thing, for example? From messing around with the math tags I've gathered it means "and" but still, more about the actual notation would be nice. Jongpil Yun 07:01, 30 March 2007 (UTC)


 * OK, I added a little line about it. I think most mathematicians know what $$\land$$ means though, and otherwise they can easily look it up viewing the source or the alt text of the math images, to see that the TeX command (at least on Wikipedia) for it is \and. I must admit though, I never use it myself, I usually write a comma between conditions and when it's very formal I tend to just write out the words 'and', 'or', etc. —The preceding unsigned comment was added by CompuChip (talk • contribs) 18:25, 30 March 2007 (UTC).

Now what the hell is the backward E symbol supposed to mean? —Preceding unsigned comment added by 207.189.230.42 (talk) 22:09, 4 September 2007 (UTC) It is the existential quantifier[]. It means 'there exists'. 24.77.205.233 21:11, 15 September 2007 (UTC)


 * What is the use of a statement like " I think most mathematicians know what $$\land$$ means " in Wikipedia? An encyclopedia is for people who want an introduction to the field, please make my quotation unnecessary.--Damorbel (talk) 08:30, 3 July 2008 (UTC)
 * Is there a MoS suggestion about this? It seems silly to have to define common math/logic notation everywhere it is used. 129.199.99.140 (talk) 12:28, 19 June 2013 (UTC)

symbol translation
The Set-builder notation entry seems like a good place to list the various set notation symbols and their English translations.


 * Agreed, I came here looking for something along the lines of Modern musical symbols but with the Set Notation symbols of course. J.A.Treloar 217.169.50.138 (talk) 17:36, 10 March 2008 (UTC)
 * Thirded. This article is useless as it is. 140.247.241.116 (talk) 15:10, 11 January 2009 (UTC)

Notation in the examples

 * $$\{k ~|~ (\exists n \in \mathbb{N}) \land (k = 2n) \} $$

imho is still not formally correct. It should be something like


 * $$\{k ~|~ \exists n : (n \in \mathbf{N} \land k = 2n) \} $$

That should avoid the same kind of ambuiguity that would introduce putting the domain qualifier in the variable list (as explained below in the article).

The same also applies to


 * $$\{a ~|~ (\exists p, q \in \mathbf{Z}) \land (q \not = 0 \land aq=p) \}$$

which should be written as


 * $$\{a ~|~ \exists p, q : ( p, q \in \mathbf{Z} \land q \not = 0 \land aq=p) \}$$

I used a colon in the predicate instead of a vertical bar (which separates the variable list from the predicate) just to add some syntactic sugar. It can be dropped. — Preceding unsigned comment added by Luca Balsanelli (talk • contribs) 08:55, 23 October 2013 (UTC)


 * thank you, changes made, sorry to be so long in getting back to this. We mathematicians really need to be more careful of these flying domain specifiers, especially in pedagogical articles (and in proofs of course).
 * 110.31.232.37 (talk) 14:41, 19 July 2015 (UTC)

Unexplained second colon
The second colon in this example is never explained:

$$\{a : \exists \ p, q \in \mathbb{Z}, q \ne 0 : a = p/q\}$$

--Lambyte 08:11, 15 August 2007 (UTC)
 * This entry has been changed.
 * $$\{a : \exists \ p, q \in \mathbb{Z} (q \not = 0 \land aq=p) \}$$
 * Although I'm asking myself why it is not written like this: $$\{a : \exists \ p, q \in \mathbb{Z} \land (q \not = 0 \land aq=p) \}$$ (with an additional AND). Can anyone explain? --Abdull (talk) 10:07, 18 December 2007 (UTC)
 * These things are mostly convention. Different scientific fields write the equivalent expression in a multitude of different ways, much like I could have written this sentence differently.  Or at least that's what the mathematicians I know tell me. Pugget (talk) 13:58, 7 January 2008 (UTC)
 * No, this is not just convention. The two things you have put down mean quite different things. $$\exists p,q\in \mathbf Z$$ is a condition that is clearly always true ($$\mathbf Z \ne \empty$$), and this leaves q and p undefined in the second part of the condition. The first notation (no and) clearly links the two, and is read as "the set of all a where there exist p and q in Z such that q is not 0 and aq = p". The thing you propose says "the set of all a such that there exist p and q in Z [wasted ink; always true] and also that q is not 0 [for some undefined q] and aq is p [some undefined p and q]". The wedge separates the two conditions into two independent sub-statements. The article is correct at the moment.— Kan8eDie (talk) 23:17, 11 January 2009 (UTC)
 * Thank you two for your answers! Regarding Kan8eDie's comment - so the difference between the two sentences is that the "no-and" version says "such that", while the "with-an-and" version says "and". Now this leaves me with the question what kind of logical connective "such that" is (notated with parenthesis in the sentence). Does anyone have an idea? Thanks! --Abdull (talk) 11:32, 8 November 2009 (UTC)
 * 'Such that' is not a logical connective; it is the way we read the grammar for expressions with quantifiers. Logic is the study of how proof works; to understand that, we need to know what things make sense to write down, and define the idea of proof, and prove some things about the structures we defined. In other words, logic is a study of very abstract, formal languages, in that once we know exactly what we can and cannot do when writing proofs, we have grasped the idea of what proof is. The languages we normally work with are first-order logic systems. We have variables and operators and logical connectives, as you describe, but we also have things like quantifiers, which include 'for all' and 'there exists'. 'Such that' is a little phrase we put in when we read formal sentences with quantifiers, to make the English more natural. The idea of the 'such that' is entirely contained in the quantifier symbol, so when we specify the range of the quantifier with brackets, we can leave it out when writing things with formal symbols. Kan8eDie (talk) 12:45, 8 November 2009 (UTC)

Could do better on the explanation
The description seems to be written for those who already understand! I had to link here but in my description List_comprehension I broke down the syntax of the set comprehension expression I was using and explained each part. It would be nice if their were more explanation here. --Paddy (talk) 07:18, 30 July 2008 (UTC)

Possible merge with Set notation
Both of these articles deal with the same topic (this one even states that it may be called Set notation). Does anyone agree that these topics should be merged. If so, the other article is less complete, but I would argue that it is the more common term. ArkianNWM (talk) 19:17, 31 August 2009 (UTC)

"Formula"
This article speaks about formula. What's meant imho is Predicate (mathematical logic) and/or Predicate variable. Is formula synonymous to these two terms, and/or should it be better to talk about predicates in this article? --Abdull (talk) 13:13, 8 November 2009 (UTC)

Why logical equivalence?
The section on logical equivalence seems to me nearly irrelevant, and certainly out of place. Maybe its point is worth making in the article on sets, but what's it doing in this article? I propose to delete it, and will unless somebody pipes up.—PaulTanenbaum (talk) 04:43, 23 February 2010 (UTC)


 * Maybe we can rewrite it to just emphasize that different definitions can define the same set, and that two definitions { x &isin; S | P(x) } and { x &isin; S | Q(x) } will define the same set if and only if P(x) &harr; Q(x) holds for every x in S. &mdash; Carl (CBM · talk) 13:20, 27 February 2010 (UTC)

Terms more complicated than a single variable
This article defines set builder notation as simple {x : Φ(x)} notation at the start, without acknowledging that things like {p/q : p, q ∈ Z, q≠0} are set builder notation. This is fine; if you want to start by keeping things simple, and later define the full version as a "variation", I'm okay with that. But the variation section was still very restrictive, and only allowed a single function to be applied to a single variable, which still can't handle things like a binary function (division) being applied to two different variables (p and q). I've rewritten that section to allow for more variables by replacing the initial variable (x, in {x : Φ(x)}) with a term (in the mathematical logic sense of the word) which may include n variables x1 to xn. If someone editing this thinks it would be simpler to talk about a single n-variable function rather than an n-variable term, that could be a sensible modification to make, although imo the term version better reflects actual usage. But I certainly think that we should explain how the notation can be used in full generality in the article, and not just simple versions of it. --me, 75.21.84.9 (talk) 09:34, 18 August 2010 (UTC)

Z notation
Do we really need this section? I've rewritten it to make it slightly less confusing, but imo the article would be better without it. I'll remove it in a few days if nobody objects (unless I forget). --me, 75.21.84.9 (talk) 09:34, 18 August 2010 (UTC)
 * In my opinion, we should keep this sections. The set-builder notation is almost a first-class language element of the Z notation - Z being a language to work with sets. Having it in this articles serves as an example for how set-builder notation is used in different languages. To give an analogy, the relational operator article lists how the concrete syntax of some relational operators looks like in different formal languages - this is good, as it helps the reader to grasp the general concept by applying it to different fields he or she may already know. --Abdull (talk) 10:34, 5 September 2010 (UTC)

Set-builder notation
notation for intensional definition? == Can one say that a set-builder notation is a way to write down an intensional definition? --Abdull (talk) 10:37, 5 September 2010 (UTC)
 * Yes, it is one way, but not the only way. For instance, one sometimes sees intensional notation like "{primes}," which is close to, but distinct from, set-builder notation.—PaulTanenbaum (talk) 04:27, 13 February 2012 (UTC)

Undid 4 revisions that left maths in tatters
They were aall by the same person at roughly the same time but they left the page with the maths symbols rubbished. --Paddy (talk) 23:48, 5 December 2010 (UTC)

Lazy Example on the wiki page
{ x in R | _predicate_}

This is a sloppy notation as a qualifier is on the left of the 'such that'. We may have further qualifiers on x which could make this first one viewed alone to be misleading. Furthermore the predicate on the right is incomplete as it doesn't qualify that x is real. Thus the incomplete predicate can not be referred to indirectly or shared among multiple declarations. It is precise to write:

{ x | x in R and _rest_of_predicate}

Though when doing simple examples being sloppy in this manner only detracts slightly, but when the math gets very long and complicated, these little things start adding complications which may lead to errors. It also makes it less clear for a student as one can always ask why we can't put more or different constraints on the left of the '|'

Unless there is a massive and energetic outcry in favor of lazy notation I would like to update the page? (I am an applied mathematician, for some decades now.) — Preceding unsigned comment added by 174.6.197.199 (talk) 05:58, 2 March 2013 (UTC)

There is a more serious problem than just being lazy with the aforementioned notation, as it makes it appear that 'x in R' with the constraints mentioned is in the set, rather than 'x'. 'x in R' will be a logical value of either 'true' or 'false'. Also, then the constraint to the right of the '|' is not sufficient to determine if 'x in R' is true or false. — Preceding unsigned comment added by 174.6.197.199 (talk) 16:18, 2 March 2013 (UTC)


 * All of these are perfectly standard notation:
 * $$\{x : x \in \mathbb{Z} \land (\exists y \in \mathbb{Z}) [ x = y^2\}$$
 * $$\{x \in \mathbb{Z} : (\exists y \in \mathbb{Z}) [ x = y^2\}$$
 * $$\{ y^2 : y \in \mathbb{Z} \}$$
 * It's not up to the wiki article to decide, in place of the mathematicians who use these notations, that some of these are actually imprecise and should be avoided. The article ought to mention each of these three, in order to report on all the ways that set builder notation is actually used. Also, in the second one, nobody who uses the notation views the $$x \in \mathbb{Z}$$ as a truth value. They read the notation "the set of all $$x \in \mathbb{Z}$$ such that there exists a $$y \in \mathbb{Z}$$ with $$x = y^z$$" and that is a perfectly clear definition of a set. In most cases the goal of set builder notation is to communicate with humans. &mdash; Carl (CBM · talk) 12:11, 15 March 2013 (UTC)

The current article does not make decisions about notation usage. Are you referring to the talking point title or the most recent edits to the article, hmm it must be the former? .. I appreciated the expanded explanation made after this talking point was brought up. There truly is a collision between the expression notation and the use of qualifiers, and it is good the wiki explains this. It is also correct that the predicates must be precise when we do proofs, and we were fortunate to have a built in example of why this is, as the second section on set and predicate equivalence was incorrect without the most recent additions.

There is nothing wrong with mentioning on the talk pages that it is also my opinion that students would be better off to write precise predicates rather than annotating variables with set membership clauses. It avoids a lot of confusion when people are starting out. Thomas Walker Lynch (talk) 02:11, 18 March 2013 (UTC)

domain specification to the left of the builder rule separator
The shortcut notation with domains mixed with the expression is imprecise and potentially ambiguous. That fact can't be changed by deleting parts of the wiki on the topic ;-) .. I put it back in.  I expected to see a discussion on the subject, but all the comments say the same thing (it is ambiguous), so it must be ok to put it back in.


 * I have just verified that all of books use the usual notation, in which $$\{x \in A : \phi(x)\}$$ denotes the set of x in A satisfying &phi;.
 * Jech, Set theory, Springer Monographs in Mathematics
 * Kunen, Set theory, Elsevier
 * Levy, Basic set theory, Dover (originally Springer)
 * Halmos, Naive set theory, Van Nostrand
 * These are all very well known references for the subject. The former two are, at present, the two main graduate-level references, and the final one is a standard undergrad book. I am not sure why you believe that the standard notation is a "shortcut", is unclear, must be rewritten, etc. - but the claim you are making is at complete odds with the literature. The notation in the first sentence of this comment is completely standard. &mdash; Carl (CBM · talk) 16:54, 21 January 2014 (UTC)


 * This { x ∈ A : ϕ ( x ) } is precisely the same set as this  { x : x ∈ A & ϕ ( x ) } 31.52.255.37 (talk) 15:59, 1 July 2016 (UTC)

^ You are quoting common usage to justify not pointing out an ambiguity in the common usage. Finding references to common usage would justify a statement "that this is common usage" of course - but it does not justify saying that it is not ambiguous relative to formal defintions. When doing proofs one has to be precise.

In this case the ambiguity is one between common usage and formalization of the notation. Those domain inclusion predicates have to be moved to right of the separator before doing proofs or you can get the wrong answers. In many mathematics texts the domains are understood or are univeral so one gets away with ignoring them. For example texts routinely assume real number domains without stating so. You can find hundreds of texts that give incomplete descriptions of roots of numbers, as one example.

Also what is happening here is that there is an evolution of increasing formalism in notation due to such fields as automatic theorem proving and 'logic design' bring to light some of our sloppiness of the past. The automatic theorem provers are unforgiving, wrong designs give wrong answers - and theorem provers and circuits don't read text books. I think this evolution towards being more precise is a good thing, as it is improving the state of the art and students tend to appreciate consistent explanations (sloppy explanations and inconsistency between definition and usage are naturally more difficult to grasp up front).

Here is an apt analogy: the state of Iowa once passed a law that Pi was 3. All the local references followed suit. It was completely standard. That didn't make it mathematically correct. Can you imagine the confusion if your first math lesson was that Pi was 3? (I am assuming your main point of contention here is a pedagogical one).

Despite this one issue, I think the article remains overall improved. As I explain here, nothing you have said negates the existence of a the ambiguity, or our general knowledge that it exists. Rather, what I hear you saying is that you desire it to go away because you have some text books that don't talk about it. Let me try to find some intermediate lanaguage on this for the article.

^^ ok, actually I think due to the back and forth here, the article is more succinct. This has been a healthy exchange. I hope you will now agree that the explanation of the connection between set builder rules, predicates, and doing proofs on those predicates comes through clearly even at this elementary level. The example at the section showing the 'common usage' then moving the domain qualifier to the predicate, then immediately followed by an example of 'logically equivalent predicates create equivalent sets' with parallel construction in the title and the sentences in the explanation makes for a nice presentation of this material. This is also how it is done in real proofs when the domains are not universally understood. No one who does formal proofs would disagree with that. BTW not properly handling domains, especially end cases in those domains, is a common source of errors in proofs. Sloppy notation facilitates such errors. — Preceding unsigned comment added by 140.112.25.11 (talk) 11:52, 11 February 2014 (UTC)

^^^ I have a proposal, should you still think this wikipage is amiss I will endeavor to bring this up for a review with the formal theorem proving community. We should be sure we think this is that important first. My take on this is that your concern is primarily a pedagogical one - consistency some texts and usage rather than a formal definition of 'set builder', so hopefully the current article addresses that. However if you are calling into question whether a domain qualifier in an expression is a abiguous (is it is part of the expression, or is it a domain qualifier?), and that they need to be understood and placed in the predicates for proofs, and you want to call the question, then I can endeavor to help with that. Can we agree to leave that language as is in mean time? — Preceding unsigned comment added by 140.112.25.33 (talk) 12:41, 11 February 2014 (UTC)