Module ConcurCC_correct:= (Concurrent_correctness CC_correct Args).
(*USed to be start_stack*)
Definition Clight_init_state (p: Clight.program):=
Clight.initial_state p.
Definition Asm_init_state (p: Asm.program):=
Asm.initial_state  p.
Notation valid Sem:=
(valid dryResources Sem OrdinalPool.OrdinalThreadPool).
Definition opt_init_mem_source (p : Clight.program):=
(Genv.init_mem (Ctypes.program_of_program p)).
Definition opt_init_mem_target {F V} (tp:AST.program F V ):=
(Genv.init_mem tp).

(* Note, unused right now *)
Lemma thread_stepN_schedule_irr:
forall (tp : Asm.program)
(asm_genv_safety : Asm_core.safe_genv the_ge),
let SemTarget:= @X86Sem tp asm_genv_safety in
forall  n U U' (c c':  OrdinalPool.t(Sem:=SemTarget)) m m'
(Hsched: schedPeek U = schedPeek U')
(HstepN: machine_semantics_lemmas.thread_stepN
(AsmConcurSem (opt_init_mem_target tp)) (@the_ge tp) n U c m c' m'),
machine_semantics_lemmas.thread_stepN
(AsmConcurSem (opt_init_mem_target tp)) (@the_ge tp) n U' c m c' m'.