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.