Hint Resolve thread_inv_exclusive.

Lemma body_thread_func : semax_body Vprog Gprog f_thread_func thread_func_spec.
Ltac cancel_for_forward_call ::=
match goal with
| gv: globals |- _ =>
repeat
match goal with
| x := gv ?i |- context [gv ?i] =>
change (gv i) with x
end
| _ => idtac
end;
cancel_for_evar_frame.