{"id":"visitor-extensible-stateful-computation","text":"Visitor achieves extensible stateful computation through two complementary mechanisms: double-dispatch implements OCP axis inversion (the element's Accept calls the visitor's type-specific Visit method, enabling new operations without modifying elements), while structure-independent state accumulation enables aggregate computations across heterogeneous elements (e.g., PricingVisitor accumulating total cost), together providing complete operation extensibility with cross-element awareness — contingent on elements exposing sufficient internal state.","truth_value":"OUT","source":"","source_url":"","source_hash":"","justifications":[{"type":"SL","antecedents":["visitor-accumulates-across-structures","visitor-dispatch-implements-ocp-inversion"],"outlist":["gof-visitor-breaks-encapsulation"],"label":"Double-dispatch extensibility + stateful cross-element accumulation provides complete but encapsulation-bounded operation extensibility"}],"dependents":[],"metadata":{"source_type":"derived"},"created_at":"2026-06-17T23:16:44+00:00","updated_at":"2026-06-17T23:16:44+00:00","reviewed_at":"","verified_at":"","retracted_at":"","explanation":{"steps":[{"node":"visitor-extensible-stateful-computation","truth_value":"OUT","reason":"SL justification invalid","failed_antecedents":[],"label":"Double-dispatch extensibility + stateful cross-element accumulation provides complete but encapsulation-bounded operation extensibility","violated_outlist":["gof-visitor-breaks-encapsulation"]}]}}