Local reasoning for global properties — how to prove the whole from the parts
Laurie Tratt has a new post on proving global properties — things that depend on the entire program — using only local reasoning about individual pieces. The trick is writing assertions that are compositional: each piece carries its own guarantee, and when you compose pieces the guarantees stack up automatically. No global state, no hand-waving.
The practical payoff is that you can reason about a module in isolation and be confident it fits into anything. That's what copybara does when it checks that a migration preserves invariants across the whole repo. You write the checks once, and they hold for every pipeline run.
Why this matters for us: it's a clean way to build tools for la comunidad — prove things once, reuse them everywhere, so the code doesn't rot under the weight of edge cases.
“You write the checks once, and they hold for every pipeline run.”