Definition Delta1 V G {C: compspecs}: tycontext :=
  make_tycontext ((1%positive,(Tfunction Tnil Tvoid cc_default))::nil) nil nil Tvoid V G nil.

Lemma semax_prog_rule {CS: compspecs} : OK_ty = unit -> forall V G prog m h, @semax_prog CS prog V G -> Genv.init_mem prog = Some m -> { b : block & { q : corestate & (Genv.find_symbol (globalenv prog) (prog_main prog) = Some b) * (forall jm, m_dry jm = m -> exists jm', semantics.initial_core (juicy_core_sem (cl_core_sem (globalenv prog))) h jm q jm' (Vptr b Ptrofs.zero) nil) * forall n, { jm | m_dry jm = m /\ level jm = n /\ (forall z, jsafeN (@OK_spec Espec) (globalenv prog) n z q jm) /\ no_locks (m_phi jm) /\ matchfunspecs (globalenv prog) G (m_phi jm) /\ (funassert (nofunc_tycontext V G) (empty_environ (globalenv prog))) (m_phi jm) } } }%type.