You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
+oo and -oo parse to Real.PositiveInfinity and Real.NegativeInfinity. Reals.MayContain is entity is Real, and Complexes.MayContain is entity is Complex, so both admit an infinite value. ZZ and the open interval already exclude it.
Bare oo is a variable, so oo in RR is left as written.
Under RRhat and CChat, oo and -oo both name the one point at infinity.
Under RR and CC, neither is a member.
So in the default, +oo normalizes to oo, and -oo stays as it is.
Today bare oo is a variable; only +oo and -oo are read as infinities. That is a trap. Measured on 2.6.0:
oo
+oo
limit(1/x, x, oo)
1 / oo
0
integral(e^(-x), x, 0, oo)
an expression in a variable oo
1
Reading oo as +oo could ship before v3. It is v3's meaning in the default, and it breaks only a variable named oo. Printing +oo as oo would change every printed infinity, so I would leave that to v3. Shall I make oo read as +oo in 2.7.0?
On this issue: §15 also says a minor cannot carry "the membership of every infinity", which I missed when filing. The fix is ready, and it gives v3's answer: +oo in RR and +oo in CC are False. Should it ship in 2.7.0, or move to 3.0 with §15? I'm holding it until you say.
Probably belongs with v3 alongside all the other refactors, since RR and CC are not defined correctly in v2 at all, they are more like "valid EDecimal" / "valid Complex type"
Moved to 3.0, with #1019 §15. The fix stays unpushed.
The same goes for reading bare oo as +oo: it waits for v3 with the rest.
§15's "what is true today" said RR treats the two infinities differently. That was a misreading: +oo and -oo are both members, and only bare oo is undecided, being a variable. It is corrected there and links here.
The compiled membership from #2223 follows today's evaluation: an infinity is in RR and CC. It will move with this.
Activity
Happypig375 commentedon Oct 30, 2026
In v3 we will have more number systems that accommodate infinities. should
oomean+oohere and+oonormalize tooo?Rafael-SOWNet commentedon Oct 30, 2026
Yes. #1019 §15 records it, from #1648:
oois+∞in the default and inRRbar.RRhatandCChat,ooand-ooboth name the one point at infinity.RRandCC, neither is a member.So in the default,
+oonormalizes tooo, and-oostays as it is.Today bare
oois a variable; only+ooand-ooare read as infinities. That is a trap. Measured on 2.6.0:oo+oolimit(1/x, x, oo)1 / oo0integral(e^(-x), x, 0, oo)oo1Reading
ooas+oocould ship before v3. It is v3's meaning in the default, and it breaks only a variable namedoo. Printing+ooasoowould change every printed infinity, so I would leave that to v3. Shall I makeooread as+ooin 2.7.0?On this issue: §15 also says a minor cannot carry "the membership of every infinity", which I missed when filing. The fix is ready, and it gives v3's answer:
+oo in RRand+oo in CCareFalse. Should it ship in 2.7.0, or move to 3.0 with §15? I'm holding it until you say.🤖 Generated with Claude Code
Membership and divisibility compile (#2223)
Happypig375 commentedon Oct 30, 2026
Probably belongs with v3 alongside all the other refactors, since
RRandCCare not defined correctly in v2 at all, they are more like "valid EDecimal" / "valid Complex type"Rafael-SOWNet commentedon Oct 30, 2026
Moved to 3.0, with #1019 §15. The fix stays unpushed.
The same goes for reading bare
ooas+oo: it waits for v3 with the rest.§15's "what is true today" said
RRtreats the two infinities differently. That was a misreading:+ooand-ooare both members, and only bareoois undecided, being a variable. It is corrected there and links here.The compiled membership from #2223 follows today's evaluation: an infinity is in
RRandCC. It will move with this.🤖 Generated with Claude Code