Searching protocol for "variable naming"
Refactor with safety nets: tests first, then change small steps.
Guaranteed algorithm correctness with machine-checked proofs.