Repository navigation
Remember a decline a sum over roots would answer as one, so a later question still gets the second pass - #2036
Merged
Rafael-SOWNet merged 1 commit intoOct 21, 2026
Conversation
…uestion still gets the second pass The integrator keeps the answers it found per thread, across top-level questions, for as long as the settings hold. A rational function whose residues want a sum over roots is declined in the first pass, which sets ASumOverRootsWouldAnswer, and the second pass answers it; afterwards only the top-level question's entry was replaced with that answer. The first pass's declines of its sub-questions stayed in the memo as plain declines, and a later question that asked one of them got it from the memo, so the rule never ran to set the flag and no second pass ran: the question was declined. Integrating (1 + x^4)/(1 - x^4 + x^8) and then (1 + (1 + sqrt(3)) x^4)/(1 - x^4 + x^8) on one thread declined the second in 63 ms, which answers alone. Rubi's 1.2.3.3:53 was counted unsolved in the harness's family-1 sample for exactly this reason: the worker integrates the file's rows in order, and row 33 comes first. Bisected over the 1,202 rows before it to that one. The memo now records, with a decline, whether a sum over roots was wanted in computing it, and a hit on such a decline sets the flag again. Whether one was wanted is read from a count of the flag's raises around the computation; the flag itself is still one per top-level question, which the rules that read it mid-computation rely on. 2.5.0 declines both integrals in either order, having no sums over roots, so no released answer changes. Part of #233. Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_012sonx8iAspMiwRwokT1Ura
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Part of #233.
The defect. On one thread, integrating
(1 + x^4)/(1 - x^4 + x^8)and then(1 + (1 + sqrt(3)) x^4)/(1 - x^4 + x^8)declined the second, in 63 ms. The second is answered when asked alone.Why. The integrator keeps the answers it found per thread, across top-level questions, while the settings hold. A rational function whose residues want a sum over roots is declined in the first pass, which sets
ASumOverRootsWouldAnswer, and the second pass answers it. Afterwards only the top-level question's entry was replaced with that answer. The first pass's declines of its sub-questions stayed in the memo as plain declines. A later question that asks one of them gets it from the memo, so the rule never runs to set the flag, no second pass runs, and the question is declined.How it showed. Rubi's 1.2.3.3:53 was counted unsolved in the harness's family-1 sample. The harness worker integrates a file's rows in order on one thread, and row 33 comes first. The
ip*probe could not see it, because it uses a fresh thread for each row. I found row 33 by bisecting over the 1,202 rows before row 53 on one thread.The fix. The memo now records, with a decline, whether a sum over roots was wanted in computing it, and a hit on such a decline raises the flag again. Whether one was wanted is read from a count of the flag's raises around the computation. The flag itself stays one per top-level question, because the rules that read it mid-computation rely on that.
ADeclineASumOverRootsWouldAnswerIsRememberedAsOneTestruns the two integrals in order on a thread of its own. It fails on master and passes here. v2.5.0 declines both integrals in either order, having no sums over roots, so no released answer changes and there is no BREAKING-CHANGES entry.Chain against master 6e16aae, with a pocket of 289 rows from the rational families:
The full suite passes locally: 16344 passed, 0 failed.
🤖 Generated with Claude Code
https://claude.ai/code/session_012sonx8iAspMiwRwokT1Ura