Context
A totalized rejecting sink preserves language acceptance but can pollute a frontier with irrelevant sink stacks. Pruning removes those failed branches in the same input round.
Hypotheses and scope
- The sink is nonaccepting and every call, return, and local command from it remains in it.
- Acceptance depends only on control; no assumption that the initial control differs from the sink is needed.
Proof or evidence
Lean proves step projection, preservation of successful pruned runs, the absorption argument for accepted total runs, two-way all-word language equality, epsilon behavior, and direct allocator/compiler composition.
Verification notes
The audit checked that pruning happens on the same observed letter, that sink stack changes do not matter once absorption is established, and that the result does not smuggle in allocator existence.
Limitations
- Pruning normalizes the semantic interface; it does not construct an allocator.
- The theorem requires a genuinely absorbing nonaccepting sink.
Notes
Lean 4.30.0 checks exact equality between the existing total one-stack evaluator and a direct tagged visible evaluator, syntactic pruning of sink-entering commands, preservation of every successful pruned run, the absorption argument that a total accepted run never entered the sink, two-directional all-words projected-language equality, same-prefix timing, empty-word behavior even when the initial state is the sink, and composition with the existing T102 allocator and T101 compiler. The finite calibration retains a call that pushes 7, prunes local and false call commands in the same round, and checks epsilon plus both one-letter outcomes. The theorem does not construct a stationary allocator for the pruned frontier. Carrier finiteness, positive degree, reversal, and LMR remain external. This opens no M34 and does not edit the paused EPAL publication.