{"id":"counter-subtraction-is-multiset-containment-test","text":"Counter subtraction serves as a multiset containment test across the repo: the drop-nonpositive semantics of `Counter.__sub__` mean that an empty result after `A - B` is equivalent to B containing at least as many of every element as A, and `not (A - B)` is the idiomatic one-expression sub-multiset check — replacing explicit key-by-key iteration with a single algebraic operation.","truth_value":"IN","source":"","source_url":"","source_hash":"","justifications":[{"type":"SL","antecedents":["counter-subtraction-as-subset-check","counter-sub-empty-means-containment","counter-subtraction-drops-nonpositive"],"outlist":[],"label":"Depth-1 unification: three base beliefs describe mechanism (drops nonpositive), consequence (empty = containment), and application (subset check) of the same Counter algebraic property"}],"dependents":["counter-is-complete-multiset-algebra"],"metadata":{"source_type":"derived","last_reviewed":"2026-06-07T22:02:22","review_result":"unnecessary"},"created_at":"","updated_at":"","reviewed_at":"","verified_at":"","retracted_at":"","explanation":{"steps":[{"node":"counter-subtraction-is-multiset-containment-test","truth_value":"IN","reason":"SL justification valid","antecedents":["counter-subtraction-as-subset-check","counter-sub-empty-means-containment","counter-subtraction-drops-nonpositive"],"label":"Depth-1 unification: three base beliefs describe mechanism (drops nonpositive), consequence (empty = containment), and application (subset check) of the same Counter algebraic property"},{"node":"counter-subtraction-as-subset-check","truth_value":"IN","reason":"premise"},{"node":"counter-sub-empty-means-containment","truth_value":"IN","reason":"premise"},{"node":"counter-subtraction-drops-nonpositive","truth_value":"IN","reason":"premise"}]}}