Definition pushdown_left_inv (b_res: val) (t_res: tree val): environ -> mpred :=
EX b: val, EX ta: tree val, EX x: nat, EX v: val, EX tb: tree val, EX P: tree val -> tree val,
PROP  (P (pushdown_left ta tb) = t_res)
LOCAL (temp _t b)
SEP   (treebox_rep (T ta x v tb) b; partial_treebox_rep P b_res b).

Lemma body_pushdown_left: semax_body Vprog Gprog f_pushdown_left pushdown_left_spec.