Definition program_proved (p: program) :=
exists G, semax_func G p G
/\ table_get G 0 = Some  (0::nil, fun s => allocpool (eval (Var 0) s)).

Axiom semax_pre:
forall P P' vars G c, (forall s, P s |-- P' s) -> semax vars G P' c -> semax vars G P c.