{"id":"defaults-encode-domain-knowledge-at-every-layer","text":"Solutions rely on well-chosen default values at both the data-structure level (Counter's zero-default for missing keys enables implicit frequency counting) and the algorithm level (sentinel initialization for loop boundaries eliminates first-iteration special cases), using the same principle — absence of data carries semantic meaning — at different abstraction layers.","truth_value":"IN","source":"","source_url":"","source_hash":"","justifications":[{"type":"SL","antecedents":["counter-universal-frequency-primitive","sentinel-initialization-encodes-boundary-conditions"],"outlist":[],"label":"Counter's zero-default and sentinel -1/0/None are the same design principle (meaningful defaults) applied at data-structure vs algorithm level"}],"dependents":["defaults-enable-streaming-self-sufficiency","selective-defense-replaces-universal-validation"],"metadata":{"last_reviewed":"2026-06-07T22:02:22","review_result":"pass"},"created_at":"","updated_at":"","reviewed_at":"","verified_at":"","retracted_at":"","explanation":{"steps":[{"node":"defaults-encode-domain-knowledge-at-every-layer","truth_value":"IN","reason":"SL justification valid","antecedents":["counter-universal-frequency-primitive","sentinel-initialization-encodes-boundary-conditions"],"label":"Counter's zero-default and sentinel -1/0/None are the same design principle (meaningful defaults) applied at data-structure vs algorithm level"},{"node":"counter-universal-frequency-primitive","truth_value":"IN","reason":"SL justification valid","antecedents":["counter-dominant-frequency-tool","counter-pattern-dominates-frequency-problems","counter-missing-key-returns-zero","counter-subtraction-drops-nonpositive"],"label":"Counter's built-in semantics eliminate boilerplate that manual dicts would require"},{"node":"counter-dominant-frequency-tool","truth_value":"IN","reason":"premise"},{"node":"counter-pattern-dominates-frequency-problems","truth_value":"IN","reason":"premise"},{"node":"counter-missing-key-returns-zero","truth_value":"IN","reason":"premise"},{"node":"counter-subtraction-drops-nonpositive","truth_value":"IN","reason":"premise"},{"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"}]}}