Talk:Iverson bracket

Untitled, unsigned question
Is it not supposed to be 'where i is strictly GREATER than 0 or strictly LESS than 10' in stead?


 * I assume you are referring to the statement in the text "where i is strictly less than 0 or strictly greater than 10, the summand is 0, contributing nothing to the sum". The Iverson bracket in this case is [0<=i<=10], which has value 1 for i greater than or equal to 0 and less than or equal to 10, and 0 otherwise, where "otherwise" means what the quoted statement in the preceding sentence says.  Roger Hui (talk) 22:04, 12 March 2008 (UTC)

Knuth's lecture
I don't know if it's appropriate to cite or link to this, but Donald Knuth has a videotaped lecture on ``Two Notes on Notation" (see October 17, 2003 here: http://www-cs-faculty.stanford.edu/~uno/musings.html ... and for the video itself http://scpd.stanford.edu/knuth/index.jsp ) 98.235.81.240 (talk) 03:31, 6 March 2011 (UTC)

Acceptance?
I like Iverson brackets and Donald Knuth's book, but can't quite notice its acceptance in mathematics for now. I think a section on acceptance is needed for now.

Boundary condition on summation is obviously a handicap and a waste of time, and that's where Iverson bracket can shine if we drop that useless and weird notation, so I think we should also add that. --14.198.220.253 (talk) 10:04, 25 October 2013 (UTC)

This seems similar to the so-called logical indexing available in Matlab. — Preceding unsigned comment added by 128.163.239.66 (talk) 22:57, 5 January 2018 (UTC)

Include algebraic and logical properties
The main properties that make the Iverson bracket so useful appear to be missing, namely:


 * Algebraic properties (associative, commutative, distributive), as well as


 * [not a] = 1 - [a]

and


 * [a and b] = [a][b]

by which we can translate logical connectives to arithmetic formulae.


 * ✅ This has been covered by my recent edits. — Gamall Wednesday Ida (t · c) 11:24, 30 October 2016 (UTC)

Index Bounds on Summation
(transferred from User_talk:Joel_B._Lewis)

Hi. You reverted my changes to the floor and ceiling functions by re-introducting the explicit ranges for the sums (-infinity to infinity), instead of a simple n. However, if you look at Concrete Mathematics and especially Knuth's 1992 paper Two Notes on Notation, he extolls the advantages of NOT specifying explicit ranges. As well, the second example in the "Uses" section follows the convention of NOT specifying the index range. I propose to revert your revert, and using just the simple n as the index. Roger Hui (talk) 22:24, 7 April 2016 (UTC)


 * Hi ,
 * Knuth is a person with many opinions, and that fact that he asserts X does not necessarily mean that X is or should be so. The Iverson bracket article, not being part of a text written by Knuth, does not generally adhere to Knuthian conventions or guidelines (can you imagine what he would say about the mixing of fonts that goes on in most math articles in Wikipedia?).  Readers in general cannot be expected to know that an article is going to follow an un-mentioned and non-standard convention.  Meanwhile, including the range of summation gives an unambiguous interpretation for any reader who is familiar with sigma summation notation, regardless of whether they have been exposed to Knuthian conventions.  For these reasons, I do not agree that removing the summation range is an improvement.  On the other hand, I would not object to including that information in some other form, e.g., in text following the sums rather than in formulas.  You are of course welcome to solicit other opinions on the article talk page.
 * Best, JBL (talk) 23:13, 7 April 2016 (UTC)


 * Thank you for your response. I will think about how best to re-introduce the simpler form.
 * Of course, Knuth is just one person, but his opinion on this matter does carry more weight, I feel: (a) Knuth originated the term "Iverson bracket", and popularized the use of the technique; (b) Concrete Mathematics is co-authored by Ronald Graham, another eminent mathematician; (c) Two Notes on Notation didn't just say by fiat that simpler bounds are better, but presented examples and arguments in favor. Simpler index bounds are one of the things by Iverson Brackets lead to "substantial improvements in exposition and technique".  Iverson Brackets themselves are "Knuthian" and "non-standard"; NOT using the simpler index bounds negates much of Iverson Brackets.

$$ \lfloor x \rfloor = \sum_{n = -\infty}^\infty n\cdot [n \le x < n+1]$$  versus   $$ \lfloor x \rfloor = \sum_{n} n\cdot [n \le x < n+1]$$
 * Roger Hui (talk) 23:44, 7 April 2016 (UTC)


 * I think that your recent edit leaves the article in a good form. In particular, it certainly satisfies my main worry (that someone not familiar with Knuthian conventions might not be able to understand the notation).  --JBL (talk) 21:00, 12 April 2016 (UTC)


 * Also,, a related request: in the previous section (Uses), there is the claim "Such use of the Iverson bracket can permit easier manipulation of these expressions" followed by a hidden request for an example. Since you seem fairly familiar with the Knuth material, is there a short example of the brackets being useful for a manipulation that could be grabbed and cited?  (I figure that it wouldn't be worth doing if it required a whole paragraph, but one or two manipulations with a sentence of text to illustrate might be nice.)  If you happen to know one, that would be great.  --JBL (talk) 21:09, 12 April 2016 (UTC)

Undefined values: "strongly 0"
What about the cases when expressions are undefined ? Eg


 * $$\sum_p \frac{[p \in Primes][0 \leq p < N]} p$$

In Concrete Mathematics, Knuth says that the bracket is "very strongly 0", so that in that case we don't have the undefined $$0/0+\dots$$ but $$0+\dots$$.

Is there a proper definition for the brackets, that does not rely on hand-waving and Knuthian humour ? (pinging:, , as there are few other people that seem interested by this article) — Gamall Wednesday Ida (t.c) 19:59, 28 October 2016 (UTC)
 * I'm afraid that is as good as you're going to get. Just view multiplication by such a bracket as selecting the value or not. Don't try and view what he wrote as rigorous mathematics, some people see him as some sort of guru whose word is pure truth and it just causes trouble. Dmcq (talk) 20:58, 28 October 2016 (UTC)
 * Re "don't be too worried about it": I won't lose sleep over this. If there's no good proposition I shall just add a small paragraph on undefined cases so people know to be careful with it: for now, despite the optimistic "More exactly" in the lead, the definition given is incorrect. Now, if someone actually comes up with a simple, workable definition, it might be nice to have. — Gamall Wednesday Ida (t.c) 21:55, 28 October 2016 (UTC)


 * Knuth says in TNN, page 8: In general, when an Iverson-bracketed statement is false, we want it to evaluate into a “very strong 0,” namely a zero so strong that it annihilates anything it is multiplied by—even if that other factor is undefined. Roger Hui (talk) 01:54, 29 October 2016 (UTC)


 * Yes, that's the sentence I rather obviously paraphrased in the question (from CM instead of TNN), so I do not see what point you are trying to convey by merely repeating it. — Gamall Wednesday Ida (t · c) 02:17, 29 October 2016 (UTC)


 * This is not a problem with the definition of the bracket per se, it is a problem (if that's the right word) with a certain kind of manipulatorics in which a summation over a set is formally represented as a summation over a larger set. (Is that satisfying?  Perhaps not.) --JBL (talk) 03:25, 29 October 2016 (UTC)


 * Well, the definition in this article just says that [B] \in {0,1}, depending on B. Okay, fine. But the brackets actually do more than that; "strongly 0" is something else. So yes, I'd say it's a problem with the definition, as it only works most of the time. I might as well say that, hey, 1/x is a number, no sweat, because most of the times, it is.


 * What I was thinking of was something along the lines of, for instance, defining the expression "a[B]" not as a bona fide product but as syntactic sugar for a function iverson(B,a) that returns a if B and and 0 (without evaluating a) otherwise. That takes care of the prime example above. But not of, say, 1/[false]. And what about 1-[B] ? To be equivalent to [not B], does it need to return a "strong 1", as Knuth says in TNN?


 * My impression is that it can't really be made rigorous by tweaking just the brackets in isolation; that it's just an extension of the sum notation (perhaps that's what you meant by "a certain kind of manipulatorics"?), and that's it's icky to pretend it's a well-defined number. The aim of my question was to see if anyone had a nice formalisation for it that dodges those bullets; like my "it's actually a function" idea, but better, to cover all the edge cases. Hopefully an idea not so complicated that it'd fall into WP:OR.  — Gamall Wednesday Ida (t · c) 04:15, 29 October 2016 (UTC)


 * I agree with what you wrote: your objection has nothing to do with the bracket in isolation, it has to do with the meaning of the expression $$\sum_x [P(x)]\cdot f(x)$$. And here I really do mean that inside there should just be a product: the expression 1/[thing] is totally artificial and would never come up in this world.  And the right formalization of sums like this is exactly what you say, restricting to sums over subsets.  And then there are some hidden theorems that set arithmetic corresponds to bracket arithmetic, so everything works out. --JBL (talk) 11:57, 29 October 2016 (UTC)

1/[thing] is totally artificial and would never come up in this world: famous last words ;-). More seriously, what I might do in the article is: 1° add some caveats about the meaning of $$\textstyle\sum_x [P(x)]\cdot f(x)$$, probably using the Primes example. 2° Add some of the "hidden theorems" you mention. 3° add something on products. My sources would be CM and TNN. I'm not promising to do it or giving a timetable, just checking if that would be okay with everyone.  — Gamall Wednesday Ida (t · c) 20:02, 29 October 2016 (UTC)
 * This is ok with me. I am nclined to feel that it should be in its own section. --JBL (talk) 22:18, 29 October 2016 (UTC)
 * OK, I have begun. I'll reorganise the examples sometime, and add some new ones. For now the use in summation is in the lead, since I think it's the main use for the notation. — Gamall Wednesday Ida (t · c) 23:50, 29 October 2016 (UTC)
 * I'm pretty much done here. I don't see what's left to say about it, so I'm proposing pushing it to C-class. I'm not terribly conversant with the ratings, so feel free to downgrade. — Gamall Wednesday Ida (t · c) 11:19, 30 October 2016 (UTC)

Undefined nonstandard notation
The current version has "so that we can write: \sum_{x} f(x) [P(x)] = \sum_{P(x)} f(x)". But the latter is undefined or at least nonstandard: although we can guess that "the sum over all P(x)" means the sum over all x for which P(x) is true, the standard convention is to mention first the summation variable, and the set in which it is taken, before adding additional conditions. Here it is not said in which set x has to be taken, and we all know that "all x" without specifying the set or universe! is a big NO-NO just like "the set of all sets", cf Russel's paradox. &mdash; MFH:Talk 00:02, 11 February 2023 (UTC)
 * The notation is standard and defined in the linked article (capital-sigma notation). Nevertheless, I have copied here the relevant sentence of the linked article. About the domain of definition of the summation index, it is explicitly restricted to integers by the sentence . D.Lazard (talk) 09:29, 11 February 2023 (UTC)
 * I agree that for certain types of propositions P, this use is standard (and surely MFH knows this as well), but I tried a different tweak which I think aligns the sentence more closely with the body. Please feel free to adjust further. --JBL (talk) 18:44, 11 February 2023 (UTC)