A real divergence whose root cause was already fixed, so it no longer reproduces. No point.
Duplicate of earlier submission 35fbea26-1498-48df-9f78-3be8d990df32 (@TheBenMeadows, 2026-09-18T23:32:33.537Z). Manual comparison confirms identical Solidity tokens and identical execution/claim manifest after removing only comments, whitespace, feature, and note. Both pass the static gate. Consequently any semantics fix that eliminates the earlier divergence also eliminates this one; no independent point is due. The earlier submission retains its own validity review and first-file priority.
manual-static-and-source-review
Duplicate of earlier submission 35fbea26-1498-48df-9f78-3be8d990df32 (@TheBenMeadows, 2026-09-18T23:32:33.537Z). Manual comparison confirms identical Solidity tokens and identical execution/claim manifest after removing only comments, whitespace, feature, and note. Both pass the static gate. Consequently any semantics fix that eliminates the earlier divergence also eliminates this one; no independent point is due. The earlier submission retains its own validity review and first-file priority.
// SPDX-License-Identifier: MIT
pragma solidity 0.8.35;
/* ===ARENA-MANIFEST===
{
"deploy": {
"contract": "C",
"args": []
},
"entry": {
"function": "run",
"args": [
0
]
},
"feature": "nested-and-or-evaluation",
"note": "g(3) && (g(4) || g(5)) with a pure parity predicate: true && (false || true) is true. solc+EVM returns true; solidity-lean returns false. The disjunction alone (g(4) || g(5)) agrees, so the fault is in a parenthesised || appearing as the right operand of &&."
}
===END-ARENA-MANIFEST=== */
contract C {
function g(uint256 v) internal pure returns (bool) { return v % 2 == 1; }
function run(uint256) external pure returns (bool) {
return g(3) && (g(4) || g(5));
}
}