Library prosa.analysis.facts.model.sequential
Consider any type of job associated with any type of tasks... 
... with arrival times and costs ... 
... and any kind of processor state model. 
Assume a schedule ... 
in which the sequential tasks hypothesis holds. 
A simple corollary of this hypothesis is that the scheduler
      executes a job with the earliest arrival time. 
  Corollary scheduler_executes_job_with_earliest_arrival:
∀ j1 j2 t,
same_task j1 j2 →
~~ completed_by sched j2 t →
scheduled_at sched j1 t →
job_arrival j1 ≤ job_arrival j2.
Proof.
intros ? ? t TSK NCOMPL SCHED.
rewrite /same_task eq_sym in TSK.
have SEQ := H_sequential_tasks j2 j1 t TSK.
rewrite leqNgt; apply/negP; intros ARR.
move: NCOMPL ⇒ /negP NCOMPL; apply: NCOMPL.
by apply SEQ.
Qed.
End ExecutionOrder.
∀ j1 j2 t,
same_task j1 j2 →
~~ completed_by sched j2 t →
scheduled_at sched j1 t →
job_arrival j1 ≤ job_arrival j2.
Proof.
intros ? ? t TSK NCOMPL SCHED.
rewrite /same_task eq_sym in TSK.
have SEQ := H_sequential_tasks j2 j1 t TSK.
rewrite leqNgt; apply/negP; intros ARR.
move: NCOMPL ⇒ /negP NCOMPL; apply: NCOMPL.
by apply SEQ.
Qed.
End ExecutionOrder.