{"id":"within-domain-correctness-comprehensive","text":"Solutions achieve comprehensive correctness for all inputs within LeetCode's stated constraints, covering both edge cases (empty inputs, zero, single elements) and general cases (via construction techniques including exact arithmetic, sentinel initialization, and streaming invariants).","truth_value":"IN","source":"","source_url":"","source_hash":"","justifications":[{"type":"SL","antecedents":["edge-case-inputs-crash-free","construction-correctness-universal-for-valid-inputs"],"outlist":["pillow-holder-n1-crash","zero-input-returns-false","zero-input-returns-wrong-result","find-difference-reduce-no-initial-value"],"label":"Edge-case crash-freedom (depth-1) and construction correctness (depth-4) jointly cover the full valid-input space; gated on known counterexamples where specific solutions fail on valid inputs"}],"dependents":["correctness-through-dual-mechanisms"],"metadata":{"source_type":"derived","last_reviewed":"2026-06-07T22:02:22","review_result":"pass"},"created_at":"","updated_at":"","reviewed_at":"","verified_at":"","retracted_at":"","explanation":{"steps":[{"node":"within-domain-correctness-comprehensive","truth_value":"IN","reason":"SL justification valid","antecedents":["edge-case-inputs-crash-free","construction-correctness-universal-for-valid-inputs"],"label":"Edge-case crash-freedom (depth-1) and construction correctness (depth-4) jointly cover the full valid-input space; gated on known counterexamples where specific solutions fail on valid inputs","outlist":["pillow-holder-n1-crash","zero-input-returns-false","zero-input-returns-wrong-result","find-difference-reduce-no-initial-value"]},{"node":"edge-case-inputs-crash-free","truth_value":"IN","reason":"SL justification valid","antecedents":["valid-palindrome-empty-is-palindrome","palindrome-perm-empty-string-true","empty-input-returns-zero-majority","crawler-log-depth-clamped-at-zero"],"label":"Most edge cases are handled safely, but three specific crash/incorrect-result bugs prevent the universal claim; retracting them validates it","outlist":["pillow-holder-n1-crash","circular-sentence-nonempty-assumed","zero-input-returns-false"]},{"node":"valid-palindrome-empty-is-palindrome","truth_value":"IN","reason":"premise"},{"node":"palindrome-perm-empty-string-true","truth_value":"IN","reason":"premise"},{"node":"empty-input-returns-zero-majority","truth_value":"IN","reason":"premise"},{"node":"crawler-log-depth-clamped-at-zero","truth_value":"IN","reason":"premise"},{"node":"construction-correctness-universal-for-valid-inputs","truth_value":"IN","reason":"SL justification valid","antecedents":["correctness-by-construction-not-validation","streaming-needs-no-external-ordering"],"label":"Construction correctness plus ordering independence should imply universal correctness for constrained inputs — gated on known bugs where construction techniques fail despite valid input","outlist":["zero-input-returns-wrong-result","find-difference-reduce-no-initial-value"]},{"node":"correctness-by-construction-not-validation","truth_value":"IN","reason":"SL justification valid","antecedents":["exactness-over-performance-at-every-layer","sentinel-values-bootstrap-streaming-state","leetcode-judge-optimized-not-reusable"],"label":"Three independent construction mechanisms collectively eliminate the need for runtime validation"},{"node":"exactness-over-performance-at-every-layer","truth_value":"IN","reason":"SL justification valid","antecedents":["integer-arithmetic-avoids-float-precision","string-over-arithmetic-for-digit-ops"],"label":"Both patterns sacrifice theoretical efficiency (string ops are slower than arithmetic, isqrt has overhead) for the same reason: eliminating an entire class of precision bugs rather than reasoning about when they'd actually trigger"},{"node":"integer-arithmetic-avoids-float-precision","truth_value":"IN","reason":"SL justification valid","antecedents":["isqrt-over-sqrt-for-large-inputs","pivot-integer-isqrt-not-sqrt","sum-substitution-avoids-float-precision","percentage-floor-integer-arithmetic"],"label":"four independent solutions independently chose integer arithmetic to dodge the same class of bug (float precision near integer boundaries), indicating a deliberate defensive pattern"},{"node":"isqrt-over-sqrt-for-large-inputs","truth_value":"IN","reason":"premise"},{"node":"pivot-integer-isqrt-not-sqrt","truth_value":"IN","reason":"premise"},{"node":"sum-substitution-avoids-float-precision","truth_value":"IN","reason":"premise"},{"node":"percentage-floor-integer-arithmetic","truth_value":"IN","reason":"premise"},{"node":"string-over-arithmetic-for-digit-ops","truth_value":"IN","reason":"SL justification valid","antecedents":["str-conversion-digit-extraction-idiom","string-based-digit-check-idiom","digit-sum-via-str-conversion","bin-count-for-popcount"],"label":"String conversion is the universal digit-decomposition idiom, chosen for readability over performance"},{"node":"str-conversion-digit-extraction-idiom","truth_value":"IN","reason":"premise"},{"node":"string-based-digit-check-idiom","truth_value":"IN","reason":"premise"},{"node":"digit-sum-via-str-conversion","truth_value":"IN","reason":"premise"},{"node":"bin-count-for-popcount","truth_value":"IN","reason":"premise"},{"node":"sentinel-values-bootstrap-streaming-state","truth_value":"IN","reason":"SL justification valid","antecedents":["sentinel-initialization-encodes-boundary-conditions","o1-space-via-running-accumulators"],"label":"Sentinels and accumulators are co-dependent: accumulators need correct initial state to avoid first-iteration branching, and sentinels exist precisely to provide that state — neither pattern works well without the other"},{"node":"sentinel-initialization-encodes-boundary-conditions","truth_value":"IN","reason":"SL justification valid","antecedents":["ascending-check-uses-sentinel-minus-one","k-length-apart-sentinel-minus-one","prev-zero-sentinel","getheight-sentinel-neg1"],"label":"all four use domain-specific sentinels (-1 for \"no previous index\", 0 for \"no previous group\", -1 for \"any subtree unbalanced\") that make the first loop iteration produce the correct vacuous result without an explicit guard"},{"node":"ascending-check-uses-sentinel-minus-one","truth_value":"IN","reason":"premise"},{"node":"k-length-apart-sentinel-minus-one","truth_value":"IN","reason":"premise"},{"node":"prev-zero-sentinel","truth_value":"IN","reason":"premise"},{"node":"getheight-sentinel-neg1","truth_value":"IN","reason":"premise"},{"node":"o1-space-via-running-accumulators","truth_value":"IN","reason":"SL justification valid","antecedents":["highest-altitude-single-pass","longest-task-single-pass-o1-space","iterative-reversal-O1-space","min-tracking-pattern-shared"],"label":"Running accumulators trade re-traversal impossibility for constant memory across streaming-style problems"},{"node":"highest-altitude-single-pass","truth_value":"IN","reason":"premise"},{"node":"longest-task-single-pass-o1-space","truth_value":"IN","reason":"premise"},{"node":"iterative-reversal-O1-space","truth_value":"IN","reason":"premise"},{"node":"min-tracking-pattern-shared","truth_value":"IN","reason":"premise"},{"node":"leetcode-judge-optimized-not-reusable","truth_value":"IN","reason":"SL justification valid","antecedents":["no-validation-is-deliberate-contract","in-place-mutation-with-return-convention","duplication-over-shared-infrastructure"],"label":"each decision is rational for a judge environment (trusted input, single caller, no shared state) but would be a defect in reusable library code"},{"node":"no-validation-is-deliberate-contract","truth_value":"IN","reason":"SL justification valid","antecedents":["solutions-no-input-validation","no-input-validation-convention","solutions-trust-leetcode-preconditions","leetcode-solutions-no-validation-convention"],"label":"Validation omission is a consistent design decision, not accumulated technical debt"},{"node":"solutions-no-input-validation","truth_value":"IN","reason":"premise"},{"node":"no-input-validation-convention","truth_value":"IN","reason":"premise"},{"node":"solutions-trust-leetcode-preconditions","truth_value":"IN","reason":"premise"},{"node":"leetcode-solutions-no-validation-convention","truth_value":"IN","reason":"premise"},{"node":"in-place-mutation-with-return-convention","truth_value":"IN","reason":"SL justification valid","antecedents":["in-place-mutation-return-convention","in-place-sort-mutation-pattern","assign-cookies-mutates-inputs","fused-reverse-invert"],"label":"The mutate-and-return idiom matches LeetCode's expected interface pattern"},{"node":"in-place-mutation-return-convention","truth_value":"IN","reason":"premise"},{"node":"in-place-sort-mutation-pattern","truth_value":"IN","reason":"premise"},{"node":"assign-cookies-mutates-inputs","truth_value":"IN","reason":"premise"},{"node":"fused-reverse-invert","truth_value":"IN","reason":"premise"},{"node":"duplication-over-shared-infrastructure","truth_value":"IN","reason":"SL justification valid","antecedents":["treenode-is-de-facto-shared-via-inline-copies","tree-serialization-helpers-duplicated","per-problem-data-structure-isolation","repo-no-cross-problem-imports"],"label":"Architecture deliberately prioritizes isolation over deduplication"},{"node":"treenode-is-de-facto-shared-via-inline-copies","truth_value":"IN","reason":"premise"},{"node":"tree-serialization-helpers-duplicated","truth_value":"IN","reason":"premise"},{"node":"per-problem-data-structure-isolation","truth_value":"IN","reason":"premise"},{"node":"repo-no-cross-problem-imports","truth_value":"IN","reason":"premise"},{"node":"streaming-needs-no-external-ordering","truth_value":"IN","reason":"SL justification valid","antecedents":["single-pass-streaming-dominant-shape","sentinel-values-bootstrap-streaming-state"],"label":"Streaming is self-contained while sort-then-scan depends on external ordering"},{"node":"single-pass-streaming-dominant-shape","truth_value":"IN","reason":"SL justification valid","antecedents":["early-exit-optimizations-pervasive","o1-space-via-running-accumulators","extend-or-reset-canonical-consecutive-pattern"],"label":"these three patterns compose into a unified streaming shape — accumulators provide O(1) state, extend-or-reset handles consecutive-element logic, and early-exit bounds work to the minimum needed"},{"node":"early-exit-optimizations-pervasive","truth_value":"IN","reason":"SL justification valid","antecedents":["three-consecutive-odds-early-exit","path-crossing-early-exit","isomorphic-early-return","first-violation-sufficiency"],"label":"Early exit is the default control flow strategy, not an optimization afterthought"},{"node":"three-consecutive-odds-early-exit","truth_value":"IN","reason":"premise"},{"node":"path-crossing-early-exit","truth_value":"IN","reason":"premise"},{"node":"isomorphic-early-return","truth_value":"IN","reason":"premise"},{"node":"first-violation-sufficiency","truth_value":"IN","reason":"premise"},{"node":"extend-or-reset-canonical-consecutive-pattern","truth_value":"IN","reason":"SL justification valid","antecedents":["extend-or-reset-pattern","maxpower-eager-max-update","no-post-loop-fixup-needed"],"label":"Run-tracking with eager max avoids off-by-one errors that end-of-array special cases introduce"},{"node":"extend-or-reset-pattern","truth_value":"IN","reason":"premise"},{"node":"maxpower-eager-max-update","truth_value":"IN","reason":"premise"},{"node":"no-post-loop-fixup-needed","truth_value":"IN","reason":"premise"}]}}