Separation logic [20,21,14] began life as an extended formalisation of Burstall's treatment of list-mutating programs [8]. It rapidly became clear that there was more that it could say: O'Hearn's discovery [13] of ownership transfer of buffers between threads and Boyland's suggestion [5] of permissions to deal with variable and heap sharing pointed the way to a treatment of safe resource management in concurrent programs. That treatment has so far been incomplete because it deals only with heap cells and not with with (stack) variables as resource. Adding `variable contexts' -- in the simplest case, lists of owned variables -- to assertions in Hoare logic allows a resource treatment of variables. It seems that a formal treatment of aliasing is possible too. It gives a complete formal treatment of critical sections (for the first time, so far as I am aware). Key words: separation, variables, verification, proof 1 Background Separation logic, pre permissions, is...