Reasoning about multi-stage programs*. (7th November 2016)