Library rt.restructuring.model.schedule.nonpreemptive
Nonpreemptive Schedules
Consider any type of jobs with execution costs ... 
... and any kind of processor model. 
We say that a given schedule is nonpreemptive if every job,
      once it is scheduled, remains scheduled until completion. 
  Definition nonpreemptive_schedule (sched : schedule PState) := 
∀ (j : Job) (t t' : instant),
t ≤ t' →
scheduled_at sched j t →
~~ completed_by sched j t' →
scheduled_at sched j t'.
End NonpreemptiveSchedule.
∀ (j : Job) (t t' : instant),
t ≤ t' →
scheduled_at sched j t →
~~ completed_by sched j t' →
scheduled_at sched j t'.
End NonpreemptiveSchedule.