Expr[] operands, Type[] types, VcBranch branch) {
// first, generate a constraint representing the post-condition.
VcBranch master = new VcBranch(externalBlock);
AssertOrAssumeScope scope = new AssertOrAssumeScope(false, externalBlock.size(), Collections.EMPTY_LIST);
master.scopes.add(scope);
// second, set initial environment
for (int i = 0; i != operands.length; ++i) {
master.write(i, operands[i], types[i]);