The Singular Book node calls a correct answer WRONG: y % J is 0 because x-1 is a unit locally
Nobody has claimed this yet.
- Dominant language
- Macaulay2
- Stars
- 435
- Forks
- 297
- Avg merge
- 4d 20h
- Merged PRs (30d)
- 11
Description
This issue was triaged from bugs/dan/1-local-doc-design, one of the 857 files removed from the pre-GitHub bugs/ tree by d2c8d27826 and catalogued in #36. The commentary below was written by Claude (Claude Opus 5, via Claude Code), not by @d-torrance, whose account posted it -- please weigh it accordingly.
The original file, verbatim
not wrong, or wrong in a different sense:
The following is WRONG. In this local ring, $y$ is in the ideal $J$.
+-----------+
|i10 : y % J|
| |
|o10 = 0 |
| |
|o10 : R |
+-----------+
Where it stands today
The passage the file objects to is still in the manual, at
Macaulay2Doc/M2-Singular-Book.m2:351,
in the node "Singular Book 1.4.9":
TEX "The following is WRONG. In this local ring, $y$ is in the ideal $J$.",
EXAMPLE {
"y % J",
},
The problem
The output it calls WRONG is correct, for the reason the same sentence gives. Running the node's own
setup:
i1 : S = QQ[x,y,z]; I = ideal(y*(x-1), z*(x-1));
i2 : y % I
o2 = y -- y is not in I globally, as documented
i3 : R = QQ[x,y,z,MonomialOrder=>{Weights=>{-1,-1,-1},RevLex},Global=>false];
i4 : J = substitute(I,R); gens gb J
o4 = | y-x*y z-x*z |
i5 : dim J
o5 = 1
i6 : y % J
o6 = 0
Localized at the origin, x - 1 is a unit, so J = (y, z) and y genuinely is in J. The
answer 0 is right, and the sentence's second clause ("In this local ring, y is in the ideal
J") says why — while its first clause tells the reader the opposite.
What was probably meant
Dan's note on the file reads "not wrong, or wrong in a different sense", which suggests the intended
point was about % in a Global => false ring not being a genuine local-ring remainder in general,
rather than about this particular answer. That is a substantive caveat and worth stating — but it is
a different claim from the one printed, and as written the passage teaches a reader that a correct
computation is a bug.
Suggested shape for a fix
Replace the "WRONG" sentence with the explanation, e.g.: "This may be surprising: in this local
ring x - 1 is a unit, so J = (y, z) and y is in J." If the intended warning was about the
limits of Global => false orderings, that deserves its own sentence and probably a pointer to the
LocalRings package.
open · disposition issue · source of truth: bug-triage/catalog.tsv
Contributor guide
No contributing guide indexed for this repository
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
Read the Singular Book 1.4.9 node in Macaulay2Doc/M2-Singular-Book.m2 around line 351, including its setup and the y % J example. Update the explanation so it does not call the correct output wrong and reflects that x - 1 is a unit locally; if the Global => false caveat remains, ensure it is clearly separate.
Written by the indexing model from the issue text.
Assessment
- Domain
- documentation
- Issue type
- Documentation
- Difficulty
- 2/5
- Estimated time
- 1-3 hours
- Activity status
- Quiet
- Clarity
- Clearly specified
- Newbie friendliness
- 84/100