re-factored proof of context invariance