proposition: Lemma par_run_exists: forall m1 m2, (forall i, Disjoint (Call m1 i) (Call m2 i)) -> exists p, Recognizes p (fun i => Run (Call m1 i) true) /\ par_run (fun i => Call m1 i) (fun i => Call m2 i) p.
proof: Proof. intros. exists (fun i=> par_mach m1 m2 i). split. - auto using par_mach_lang. - auto using par_run_spec. Qed.
imports: Turing Coq.Bool.Bool