Built with Alectryon, running Coq+SerAPI v8.15.0+0.15.0. Bubbles () indicate interactive fragments: hover for details, tap to reveal contents. Use Ctrl+↑ Ctrl+↓ to navigate, Ctrl+🖱️ to focus. On Mac, use instead of Ctrl.
Notation "[ rel _ _ | _ ]" was already used in scope fun_scope. [notation-overridden,parsing]
Notation "[ rel _ _ : _ | _ ]" was already used in scope fun_scope. [notation-overridden,parsing]
Notation "[ rel _ _ in _ & _ | _ ]" was already used in scope fun_scope. [notation-overridden,parsing]
Notation "[ rel _ _ in _ & _ ]" was already used in scope fun_scope. [notation-overridden,parsing]
Notation "[ rel _ _ in _ | _ ]" was already used in scope fun_scope. [notation-overridden,parsing]
Notation "[ rel _ _ in _ ]" was already used in scope fun_scope. [notation-overridden,parsing]
Notation "_ + _" was already used in scope nat_scope. [notation-overridden,parsing]
Notation "_ - _" was already used in scope nat_scope. [notation-overridden,parsing]
Notation "_ <= _" was already used in scope nat_scope. [notation-overridden,parsing]
Notation "_ < _" was already used in scope nat_scope. [notation-overridden,parsing]
Notation "_ >= _" was already used in scope nat_scope. [notation-overridden,parsing]
Notation "_ > _" was already used in scope nat_scope. [notation-overridden,parsing]
Notation "_ <= _ <= _" was already used in scope nat_scope. [notation-overridden,parsing]
Notation "_ < _ <= _" was already used in scope nat_scope. [notation-overridden,parsing]
Notation "_ <= _ < _" was already used in scope nat_scope. [notation-overridden,parsing]
Notation "_ < _ < _" was already used in scope nat_scope. [notation-overridden,parsing]
Notation "_ * _" was already used in scope nat_scope. [notation-overridden,parsing]
Notation "[ rel _ _ | _ ]" was already used in scope fun_scope. [notation-overridden,parsing]
Notation "[ rel _ _ : _ | _ ]" was already used in scope fun_scope. [notation-overridden,parsing]
Notation "[ rel _ _ in _ & _ | _ ]" was already used in scope fun_scope. [notation-overridden,parsing]
Notation "[ rel _ _ in _ & _ ]" was already used in scope fun_scope. [notation-overridden,parsing]
Notation "[ rel _ _ in _ | _ ]" was already used in scope fun_scope. [notation-overridden,parsing]
Notation "[ rel _ _ in _ ]" was already used in scope fun_scope. [notation-overridden,parsing]
Notation "[ rel _ _ | _ ]" was already used in scope fun_scope. [notation-overridden,parsing]
Notation "[ rel _ _ : _ | _ ]" was already used in scope fun_scope. [notation-overridden,parsing]
Notation "[ rel _ _ in _ & _ | _ ]" was already used in scope fun_scope. [notation-overridden,parsing]
Notation "[ rel _ _ in _ & _ ]" was already used in scope fun_scope. [notation-overridden,parsing]
Notation "[ rel _ _ in _ | _ ]" was already used in scope fun_scope. [notation-overridden,parsing]
Notation "[ rel _ _ in _ ]" was already used in scope fun_scope. [notation-overridden,parsing]
Notation "[ rel _ _ | _ ]" was already used in scope fun_scope. [notation-overridden,parsing]
Notation "[ rel _ _ : _ | _ ]" was already used in scope fun_scope. [notation-overridden,parsing]
Notation "[ rel _ _ in _ & _ | _ ]" was already used in scope fun_scope. [notation-overridden,parsing]
Notation "[ rel _ _ in _ & _ ]" was already used in scope fun_scope. [notation-overridden,parsing]
Notation "[ rel _ _ in _ | _ ]" was already used in scope fun_scope. [notation-overridden,parsing]
Notation "[ rel _ _ in _ ]" was already used in scope fun_scope. [notation-overridden,parsing]
Notation "[ rel _ _ | _ ]" was already used in scope fun_scope. [notation-overridden,parsing]
Notation "[ rel _ _ : _ | _ ]" was already used in scope fun_scope. [notation-overridden,parsing]
Notation "[ rel _ _ in _ & _ | _ ]" was already used in scope fun_scope. [notation-overridden,parsing]
Notation "[ rel _ _ in _ & _ ]" was already used in scope fun_scope. [notation-overridden,parsing]
Notation "[ rel _ _ in _ | _ ]" was already used in scope fun_scope. [notation-overridden,parsing]
Notation "[ rel _ _ in _ ]" was already used in scope fun_scope. [notation-overridden,parsing]
Notation "[ rel _ _ | _ ]" was already used in scope fun_scope. [notation-overridden,parsing]
Notation "[ rel _ _ : _ | _ ]" was already used in scope fun_scope. [notation-overridden,parsing]
Notation "[ rel _ _ in _ & _ | _ ]" was already used in scope fun_scope. [notation-overridden,parsing]
Notation "[ rel _ _ in _ & _ ]" was already used in scope fun_scope. [notation-overridden,parsing]
Notation "[ rel _ _ in _ | _ ]" was already used in scope fun_scope. [notation-overridden,parsing]
Notation "[ rel _ _ in _ ]" was already used in scope fun_scope. [notation-overridden,parsing]
Notation "[ rel _ _ | _ ]" was already used in scope fun_scope. [notation-overridden,parsing]
Notation "[ rel _ _ : _ | _ ]" was already used in scope fun_scope. [notation-overridden,parsing]
Notation "[ rel _ _ in _ & _ | _ ]" was already used in scope fun_scope. [notation-overridden,parsing]
Notation "[ rel _ _ in _ & _ ]" was already used in scope fun_scope. [notation-overridden,parsing]
Notation "[ rel _ _ in _ | _ ]" was already used in scope fun_scope. [notation-overridden,parsing]
Notation "[ rel _ _ in _ ]" was already used in scope fun_scope. [notation-overridden,parsing]
Notation "[ rel _ _ | _ ]" was already used in scope fun_scope. [notation-overridden,parsing]
Notation "[ rel _ _ : _ | _ ]" was already used in scope fun_scope. [notation-overridden,parsing]
Notation "[ rel _ _ in _ & _ | _ ]" was already used in scope fun_scope. [notation-overridden,parsing]
Notation "[ rel _ _ in _ & _ ]" was already used in scope fun_scope. [notation-overridden,parsing]
Notation "[ rel _ _ in _ | _ ]" was already used in scope fun_scope. [notation-overridden,parsing]
Notation "[ rel _ _ in _ ]" was already used in scope fun_scope. [notation-overridden,parsing]
Notation "[ rel _ _ | _ ]" was already used in scope fun_scope. [notation-overridden,parsing]
Notation "[ rel _ _ : _ | _ ]" was already used in scope fun_scope. [notation-overridden,parsing]
Notation "[ rel _ _ in _ & _ | _ ]" was already used in scope fun_scope. [notation-overridden,parsing]
Notation "[ rel _ _ in _ & _ ]" was already used in scope fun_scope. [notation-overridden,parsing]
Notation "[ rel _ _ in _ | _ ]" was already used in scope fun_scope. [notation-overridden,parsing]
Notation "[ rel _ _ in _ ]" was already used in scope fun_scope. [notation-overridden,parsing]
Notation "[ rel _ _ | _ ]" was already used in scope fun_scope. [notation-overridden,parsing]
Notation "[ rel _ _ : _ | _ ]" was already used in scope fun_scope. [notation-overridden,parsing]
Notation "[ rel _ _ in _ & _ | _ ]" was already used in scope fun_scope. [notation-overridden,parsing]
Notation "[ rel _ _ in _ & _ ]" was already used in scope fun_scope. [notation-overridden,parsing]
Notation "[ rel _ _ in _ | _ ]" was already used in scope fun_scope. [notation-overridden,parsing]
Notation "[ rel _ _ in _ ]" was already used in scope fun_scope. [notation-overridden,parsing]
Notation "[ rel _ _ | _ ]" was already used in scope fun_scope. [notation-overridden,parsing]
Notation "[ rel _ _ : _ | _ ]" was already used in scope fun_scope. [notation-overridden,parsing]
Notation "[ rel _ _ in _ & _ | _ ]" was already used in scope fun_scope. [notation-overridden,parsing]
Notation "[ rel _ _ in _ & _ ]" was already used in scope fun_scope. [notation-overridden,parsing]
Notation "[ rel _ _ in _ | _ ]" was already used in scope fun_scope. [notation-overridden,parsing]
Notation "[ rel _ _ in _ ]" was already used in scope fun_scope. [notation-overridden,parsing]
(** Throughout this file, we assume ideal uni-processor schedules. *)
Notation "[ rel _ _ | _ ]" was already used in scope fun_scope. [notation-overridden,parsing]
Notation "[ rel _ _ : _ | _ ]" was already used in scope fun_scope. [notation-overridden,parsing]
Notation "[ rel _ _ in _ & _ | _ ]" was already used in scope fun_scope. [notation-overridden,parsing]
Notation "[ rel _ _ in _ & _ ]" was already used in scope fun_scope. [notation-overridden,parsing]
Notation "[ rel _ _ in _ | _ ]" was already used in scope fun_scope. [notation-overridden,parsing]
Notation "[ rel _ _ in _ ]" was already used in scope fun_scope. [notation-overridden,parsing]
Notation "[ rel _ _ | _ ]" was already used in scope fun_scope. [notation-overridden,parsing]
Notation "[ rel _ _ : _ | _ ]" was already used in scope fun_scope. [notation-overridden,parsing]
Notation "[ rel _ _ in _ & _ | _ ]" was already used in scope fun_scope. [notation-overridden,parsing]
Notation "[ rel _ _ in _ & _ ]" was already used in scope fun_scope. [notation-overridden,parsing]
Notation "[ rel _ _ in _ | _ ]" was already used in scope fun_scope. [notation-overridden,parsing]
Notation "[ rel _ _ in _ ]" was already used in scope fun_scope. [notation-overridden,parsing]
Notation "[ rel _ _ | _ ]" was already used in scope fun_scope. [notation-overridden,parsing]
Notation "[ rel _ _ : _ | _ ]" was already used in scope fun_scope. [notation-overridden,parsing]
Notation "[ rel _ _ in _ & _ | _ ]" was already used in scope fun_scope. [notation-overridden,parsing]
Notation "[ rel _ _ in _ & _ ]" was already used in scope fun_scope. [notation-overridden,parsing]
Notation "[ rel _ _ in _ | _ ]" was already used in scope fun_scope. [notation-overridden,parsing]
Notation "[ rel _ _ in _ ]" was already used in scope fun_scope. [notation-overridden,parsing]
Notation "[ rel _ _ | _ ]" was already used in scope fun_scope. [notation-overridden,parsing]
Notation "[ rel _ _ : _ | _ ]" was already used in scope fun_scope. [notation-overridden,parsing]
Notation "[ rel _ _ in _ & _ | _ ]" was already used in scope fun_scope. [notation-overridden,parsing]
Notation "[ rel _ _ in _ & _ ]" was already used in scope fun_scope. [notation-overridden,parsing]
Notation "[ rel _ _ in _ | _ ]" was already used in scope fun_scope. [notation-overridden,parsing]
Notation "[ rel _ _ in _ ]" was already used in scope fun_scope. [notation-overridden,parsing]
(** * JLFP instantiation of Interference and Interfering Workload for ideal uni-processor. *) (** In this module we instantiate functions Interference and Interfering Workload for ideal uni-processor schedulers with an arbitrary JLFP-policy that satisfies the sequential-tasks hypothesis. We also prove equivalence of Interference and Interfering Workload to the more conventional notions of service or workload. *) Section JLFPInstantiation. (** Consider any type of tasks ... *) Context {Task : TaskType}. Context `{TaskCost Task}. (** ... and any type of jobs associated with these tasks. *) Context {Job : JobType}. Context `{JobTask Job Task}. Context `{JobArrival Job}. Context `{JobCost Job}. (** Consider any valid arrival sequence with consistent arrivals... *) Variable arr_seq : arrival_sequence Job. Hypothesis H_valid_arrival_sequence : valid_arrival_sequence arr_seq. (** ... and any ideal uni-processor schedule of this arrival sequence... *) Variable sched : schedule (ideal.processor_state Job). Hypothesis H_jobs_come_from_arrival_sequence : jobs_come_from_arrival_sequence sched arr_seq. (** ... where jobs do not execute before their arrival or after completion. *) Hypothesis H_jobs_must_arrive_to_execute : jobs_must_arrive_to_execute sched. Hypothesis H_completed_jobs_dont_execute : completed_jobs_dont_execute sched. (** Consider a JLFP-policy that indicates a higher-or-equal priority relation, and assume that this relation is reflexive and transitive. *) Context `{JLFP_policy Job}. Hypothesis H_priority_is_reflexive : reflexive_priorities. Hypothesis H_priority_is_transitive : transitive_priorities. (** Let [tsk] be any task. *) Variable tsk : Task. (** Assume we have sequential tasks, i.e., jobs of the same task execute in the order of their arrival. *) Hypothesis H_sequential_tasks : sequential_tasks arr_seq sched. (** We also assume that the policy respects sequential tasks, meaning that later-arrived jobs of a task don't have higher priority than earlier-arrived jobs of the same task. *) Hypothesis H_JLFP_respects_sequential_tasks : policy_respects_sequential_tasks. (** * Interference and Interfering Workload *) (** In the following, we introduce definitions of interference, interfering workload and a function that bounds cumulative interference. *) (** ** Instantiation of Interference *) (** We say that job [j] is incurring interference from another job with higher-or-equal priority at time [t] if there exists a job [jhp] (different from [j]) with a higher-or-equal priority that executes at time [t]. *) Definition another_hep_job_interference (j : Job) (t : instant) := exists jhp, (jhp \in arrivals_up_to arr_seq t) /\ another_hep_job jhp j /\ receives_service_at sched jhp t. (** In order to use the above definition in aRTA, we need to define its computational version. *) Definition another_hep_job_interference_dec (j : Job) (t : instant) := has (fun jhp => another_hep_job jhp j && receives_service_at sched jhp t) (arrivals_up_to arr_seq t). (** Notice that the computational and propositional definitions are equivalent; ... *)
Task: TaskType
H: TaskCost Task
Job: JobType
H0: JobTask Job Task
H1: JobArrival Job
H2: JobCost Job
arr_seq: arrival_sequence Job
H_valid_arrival_sequence: valid_arrival_sequence arr_seq
sched: schedule (processor_state Job)
H_jobs_come_from_arrival_sequence: jobs_come_from_arrival_sequence sched arr_seq
H_jobs_must_arrive_to_execute: jobs_must_arrive_to_execute sched
H_completed_jobs_dont_execute: completed_jobs_dont_execute sched
H3: JLFP_policy Job
H_priority_is_reflexive: reflexive_priorities
H_priority_is_transitive: transitive_priorities
tsk: Task
H_sequential_tasks: sequential_tasks arr_seq sched
H_JLFP_respects_sequential_tasks: policy_respects_sequential_tasks

forall (j : Job) (t : instant), reflect (another_hep_job_interference j t) (another_hep_job_interference_dec j t)
Task: TaskType
H: TaskCost Task
Job: JobType
H0: JobTask Job Task
H1: JobArrival Job
H2: JobCost Job
arr_seq: arrival_sequence Job
H_valid_arrival_sequence: valid_arrival_sequence arr_seq
sched: schedule (processor_state Job)
H_jobs_come_from_arrival_sequence: jobs_come_from_arrival_sequence sched arr_seq
H_jobs_must_arrive_to_execute: jobs_must_arrive_to_execute sched
H_completed_jobs_dont_execute: completed_jobs_dont_execute sched
H3: JLFP_policy Job
H_priority_is_reflexive: reflexive_priorities
H_priority_is_transitive: transitive_priorities
tsk: Task
H_sequential_tasks: sequential_tasks arr_seq sched
H_JLFP_respects_sequential_tasks: policy_respects_sequential_tasks

forall (j : Job) (t : instant), reflect (another_hep_job_interference j t) (another_hep_job_interference_dec j t)
Task: TaskType
H: TaskCost Task
Job: JobType
H0: JobTask Job Task
H1: JobArrival Job
H2: JobCost Job
arr_seq: arrival_sequence Job
H_valid_arrival_sequence: valid_arrival_sequence arr_seq
sched: schedule (processor_state Job)
H_jobs_come_from_arrival_sequence: jobs_come_from_arrival_sequence sched arr_seq
H_jobs_must_arrive_to_execute: jobs_must_arrive_to_execute sched
H_completed_jobs_dont_execute: completed_jobs_dont_execute sched
H3: JLFP_policy Job
H_priority_is_reflexive: reflexive_priorities
H_priority_is_transitive: transitive_priorities
tsk: Task
H_sequential_tasks: sequential_tasks arr_seq sched
H_JLFP_respects_sequential_tasks: policy_respects_sequential_tasks
j: Job
t: instant

another_hep_job_interference_dec j t -> another_hep_job_interference j t
Task: TaskType
H: TaskCost Task
Job: JobType
H0: JobTask Job Task
H1: JobArrival Job
H2: JobCost Job
arr_seq: arrival_sequence Job
H_valid_arrival_sequence: valid_arrival_sequence arr_seq
sched: schedule (processor_state Job)
H_jobs_come_from_arrival_sequence: jobs_come_from_arrival_sequence sched arr_seq
H_jobs_must_arrive_to_execute: jobs_must_arrive_to_execute sched
H_completed_jobs_dont_execute: completed_jobs_dont_execute sched
H3: JLFP_policy Job
H_priority_is_reflexive: reflexive_priorities
H_priority_is_transitive: transitive_priorities
tsk: Task
H_sequential_tasks: sequential_tasks arr_seq sched
H_JLFP_respects_sequential_tasks: policy_respects_sequential_tasks
j: Job
t: instant
~~ another_hep_job_interference_dec j t -> ~ another_hep_job_interference j t
Task: TaskType
H: TaskCost Task
Job: JobType
H0: JobTask Job Task
H1: JobArrival Job
H2: JobCost Job
arr_seq: arrival_sequence Job
H_valid_arrival_sequence: valid_arrival_sequence arr_seq
sched: schedule (processor_state Job)
H_jobs_come_from_arrival_sequence: jobs_come_from_arrival_sequence sched arr_seq
H_jobs_must_arrive_to_execute: jobs_must_arrive_to_execute sched
H_completed_jobs_dont_execute: completed_jobs_dont_execute sched
H3: JLFP_policy Job
H_priority_is_reflexive: reflexive_priorities
H_priority_is_transitive: transitive_priorities
tsk: Task
H_sequential_tasks: sequential_tasks arr_seq sched
H_JLFP_respects_sequential_tasks: policy_respects_sequential_tasks
j: Job
t: instant

another_hep_job_interference_dec j t -> another_hep_job_interference j t
Task: TaskType
H: TaskCost Task
Job: JobType
H0: JobTask Job Task
H1: JobArrival Job
H2: JobCost Job
arr_seq: arrival_sequence Job
H_valid_arrival_sequence: valid_arrival_sequence arr_seq
sched: schedule (processor_state Job)
H_jobs_come_from_arrival_sequence: jobs_come_from_arrival_sequence sched arr_seq
H_jobs_must_arrive_to_execute: jobs_must_arrive_to_execute sched
H_completed_jobs_dont_execute: completed_jobs_dont_execute sched
H3: JLFP_policy Job
H_priority_is_reflexive: reflexive_priorities
H_priority_is_transitive: transitive_priorities
tsk: Task
H_sequential_tasks: sequential_tasks arr_seq sched
H_JLFP_respects_sequential_tasks: policy_respects_sequential_tasks
j: Job
t: instant
~~ another_hep_job_interference_dec j t -> ~ another_hep_job_interference j t
Task: TaskType
H: TaskCost Task
Job: JobType
H0: JobTask Job Task
H1: JobArrival Job
H2: JobCost Job
arr_seq: arrival_sequence Job
H_valid_arrival_sequence: valid_arrival_sequence arr_seq
sched: schedule (processor_state Job)
H_jobs_come_from_arrival_sequence: jobs_come_from_arrival_sequence sched arr_seq
H_jobs_must_arrive_to_execute: jobs_must_arrive_to_execute sched
H_completed_jobs_dont_execute: completed_jobs_dont_execute sched
H3: JLFP_policy Job
H_priority_is_reflexive: reflexive_priorities
H_priority_is_transitive: transitive_priorities
tsk: Task
H_sequential_tasks: sequential_tasks arr_seq sched
H_JLFP_respects_sequential_tasks: policy_respects_sequential_tasks
j: Job
t: instant

~~ another_hep_job_interference_dec j t -> ~ another_hep_job_interference j t
Task: TaskType
H: TaskCost Task
Job: JobType
H0: JobTask Job Task
H1: JobArrival Job
H2: JobCost Job
arr_seq: arrival_sequence Job
H_valid_arrival_sequence: valid_arrival_sequence arr_seq
sched: schedule (processor_state Job)
H_jobs_come_from_arrival_sequence: jobs_come_from_arrival_sequence sched arr_seq
H_jobs_must_arrive_to_execute: jobs_must_arrive_to_execute sched
H_completed_jobs_dont_execute: completed_jobs_dont_execute sched
H3: JLFP_policy Job
H_priority_is_reflexive: reflexive_priorities
H_priority_is_transitive: transitive_priorities
tsk: Task
H_sequential_tasks: sequential_tasks arr_seq sched
H_JLFP_respects_sequential_tasks: policy_respects_sequential_tasks
j: Job
t: instant

~~ another_hep_job_interference_dec j t -> ~ another_hep_job_interference j t
Task: TaskType
H: TaskCost Task
Job: JobType
H0: JobTask Job Task
H1: JobArrival Job
H2: JobCost Job
arr_seq: arrival_sequence Job
H_valid_arrival_sequence: valid_arrival_sequence arr_seq
sched: schedule (processor_state Job)
H_jobs_come_from_arrival_sequence: jobs_come_from_arrival_sequence sched arr_seq
H_jobs_must_arrive_to_execute: jobs_must_arrive_to_execute sched
H_completed_jobs_dont_execute: completed_jobs_dont_execute sched
H3: JLFP_policy Job
H_priority_is_reflexive: reflexive_priorities
H_priority_is_transitive: transitive_priorities
tsk: Task
H_sequential_tasks: sequential_tasks arr_seq sched
H_JLFP_respects_sequential_tasks: policy_respects_sequential_tasks
j: Job
t: instant
T1: ~ another_hep_job_interference_dec j t
jhp: Job
ARR: jhp \in arrivals_up_to arr_seq t
HEP: another_hep_job jhp j
SCHED: receives_service_at sched jhp t

False
Task: TaskType
H: TaskCost Task
Job: JobType
H0: JobTask Job Task
H1: JobArrival Job
H2: JobCost Job
arr_seq: arrival_sequence Job
H_valid_arrival_sequence: valid_arrival_sequence arr_seq
sched: schedule (processor_state Job)
H_jobs_come_from_arrival_sequence: jobs_come_from_arrival_sequence sched arr_seq
H_jobs_must_arrive_to_execute: jobs_must_arrive_to_execute sched
H_completed_jobs_dont_execute: completed_jobs_dont_execute sched
H3: JLFP_policy Job
H_priority_is_reflexive: reflexive_priorities
H_priority_is_transitive: transitive_priorities
tsk: Task
H_sequential_tasks: sequential_tasks arr_seq sched
H_JLFP_respects_sequential_tasks: policy_respects_sequential_tasks
j: Job
t: instant
jhp: Job
ARR: jhp \in arrivals_up_to arr_seq t
HEP: another_hep_job jhp j
SCHED: receives_service_at sched jhp t

exists2 x : Job, x \in arrivals_up_to arr_seq t & another_hep_job x j && receives_service_at sched x t
Task: TaskType
H: TaskCost Task
Job: JobType
H0: JobTask Job Task
H1: JobArrival Job
H2: JobCost Job
arr_seq: arrival_sequence Job
H_valid_arrival_sequence: valid_arrival_sequence arr_seq
sched: schedule (processor_state Job)
H_jobs_come_from_arrival_sequence: jobs_come_from_arrival_sequence sched arr_seq
H_jobs_must_arrive_to_execute: jobs_must_arrive_to_execute sched
H_completed_jobs_dont_execute: completed_jobs_dont_execute sched
H3: JLFP_policy Job
H_priority_is_reflexive: reflexive_priorities
H_priority_is_transitive: transitive_priorities
tsk: Task
H_sequential_tasks: sequential_tasks arr_seq sched
H_JLFP_respects_sequential_tasks: policy_respects_sequential_tasks
j: Job
t: instant
jhp: Job
ARR: jhp \in arrivals_up_to arr_seq t
HEP: another_hep_job jhp j
SCHED: receives_service_at sched jhp t

another_hep_job jhp j && receives_service_at sched jhp t
by apply/andP; split. Qed. (** ... for convenience, we prove that their negated counterparts are equivalent as well. *)
Task: TaskType
H: TaskCost Task
Job: JobType
H0: JobTask Job Task
H1: JobArrival Job
H2: JobCost Job
arr_seq: arrival_sequence Job
H_valid_arrival_sequence: valid_arrival_sequence arr_seq
sched: schedule (processor_state Job)
H_jobs_come_from_arrival_sequence: jobs_come_from_arrival_sequence sched arr_seq
H_jobs_must_arrive_to_execute: jobs_must_arrive_to_execute sched
H_completed_jobs_dont_execute: completed_jobs_dont_execute sched
H3: JLFP_policy Job
H_priority_is_reflexive: reflexive_priorities
H_priority_is_transitive: transitive_priorities
tsk: Task
H_sequential_tasks: sequential_tasks arr_seq sched
H_JLFP_respects_sequential_tasks: policy_respects_sequential_tasks

forall (j : Job) (t : instant), reflect (~ another_hep_job_interference j t) (~~ another_hep_job_interference_dec j t)
Task: TaskType
H: TaskCost Task
Job: JobType
H0: JobTask Job Task
H1: JobArrival Job
H2: JobCost Job
arr_seq: arrival_sequence Job
H_valid_arrival_sequence: valid_arrival_sequence arr_seq
sched: schedule (processor_state Job)
H_jobs_come_from_arrival_sequence: jobs_come_from_arrival_sequence sched arr_seq
H_jobs_must_arrive_to_execute: jobs_must_arrive_to_execute sched
H_completed_jobs_dont_execute: completed_jobs_dont_execute sched
H3: JLFP_policy Job
H_priority_is_reflexive: reflexive_priorities
H_priority_is_transitive: transitive_priorities
tsk: Task
H_sequential_tasks: sequential_tasks arr_seq sched
H_JLFP_respects_sequential_tasks: policy_respects_sequential_tasks

forall (j : Job) (t : instant), reflect (~ another_hep_job_interference j t) (~~ another_hep_job_interference_dec j t)
Task: TaskType
H: TaskCost Task
Job: JobType
H0: JobTask Job Task
H1: JobArrival Job
H2: JobCost Job
arr_seq: arrival_sequence Job
H_valid_arrival_sequence: valid_arrival_sequence arr_seq
sched: schedule (processor_state Job)
H_jobs_come_from_arrival_sequence: jobs_come_from_arrival_sequence sched arr_seq
H_jobs_must_arrive_to_execute: jobs_must_arrive_to_execute sched
H_completed_jobs_dont_execute: completed_jobs_dont_execute sched
H3: JLFP_policy Job
H_priority_is_reflexive: reflexive_priorities
H_priority_is_transitive: transitive_priorities
tsk: Task
H_sequential_tasks: sequential_tasks arr_seq sched
H_JLFP_respects_sequential_tasks: policy_respects_sequential_tasks
j: Job
t: instant

~~ another_hep_job_interference_dec j t -> ~ another_hep_job_interference j t
Task: TaskType
H: TaskCost Task
Job: JobType
H0: JobTask Job Task
H1: JobArrival Job
H2: JobCost Job
arr_seq: arrival_sequence Job
H_valid_arrival_sequence: valid_arrival_sequence arr_seq
sched: schedule (processor_state Job)
H_jobs_come_from_arrival_sequence: jobs_come_from_arrival_sequence sched arr_seq
H_jobs_must_arrive_to_execute: jobs_must_arrive_to_execute sched
H_completed_jobs_dont_execute: completed_jobs_dont_execute sched
H3: JLFP_policy Job
H_priority_is_reflexive: reflexive_priorities
H_priority_is_transitive: transitive_priorities
tsk: Task
H_sequential_tasks: sequential_tasks arr_seq sched
H_JLFP_respects_sequential_tasks: policy_respects_sequential_tasks
j: Job
t: instant
~~ ~~ another_hep_job_interference_dec j t -> ~ ~ another_hep_job_interference j t
Task: TaskType
H: TaskCost Task
Job: JobType
H0: JobTask Job Task
H1: JobArrival Job
H2: JobCost Job
arr_seq: arrival_sequence Job
H_valid_arrival_sequence: valid_arrival_sequence arr_seq
sched: schedule (processor_state Job)
H_jobs_come_from_arrival_sequence: jobs_come_from_arrival_sequence sched arr_seq
H_jobs_must_arrive_to_execute: jobs_must_arrive_to_execute sched
H_completed_jobs_dont_execute: completed_jobs_dont_execute sched
H3: JLFP_policy Job
H_priority_is_reflexive: reflexive_priorities
H_priority_is_transitive: transitive_priorities
tsk: Task
H_sequential_tasks: sequential_tasks arr_seq sched
H_JLFP_respects_sequential_tasks: policy_respects_sequential_tasks
j: Job
t: instant

~~ another_hep_job_interference_dec j t -> ~ another_hep_job_interference j t
Task: TaskType
H: TaskCost Task
Job: JobType
H0: JobTask Job Task
H1: JobArrival Job
H2: JobCost Job
arr_seq: arrival_sequence Job
H_valid_arrival_sequence: valid_arrival_sequence arr_seq
sched: schedule (processor_state Job)
H_jobs_come_from_arrival_sequence: jobs_come_from_arrival_sequence sched arr_seq
H_jobs_must_arrive_to_execute: jobs_must_arrive_to_execute sched
H_completed_jobs_dont_execute: completed_jobs_dont_execute sched
H3: JLFP_policy Job
H_priority_is_reflexive: reflexive_priorities
H_priority_is_transitive: transitive_priorities
tsk: Task
H_sequential_tasks: sequential_tasks arr_seq sched
H_JLFP_respects_sequential_tasks: policy_respects_sequential_tasks
j: Job
t: instant
~~ ~~ another_hep_job_interference_dec j t -> ~ ~ another_hep_job_interference j t
Task: TaskType
H: TaskCost Task
Job: JobType
H0: JobTask Job Task
H1: JobArrival Job
H2: JobCost Job
arr_seq: arrival_sequence Job
H_valid_arrival_sequence: valid_arrival_sequence arr_seq
sched: schedule (processor_state Job)
H_jobs_come_from_arrival_sequence: jobs_come_from_arrival_sequence sched arr_seq
H_jobs_must_arrive_to_execute: jobs_must_arrive_to_execute sched
H_completed_jobs_dont_execute: completed_jobs_dont_execute sched
H3: JLFP_policy Job
H_priority_is_reflexive: reflexive_priorities
H_priority_is_transitive: transitive_priorities
tsk: Task
H_sequential_tasks: sequential_tasks arr_seq sched
H_JLFP_respects_sequential_tasks: policy_respects_sequential_tasks
j: Job
t: instant

~~ ~~ another_hep_job_interference_dec j t -> ~ ~ another_hep_job_interference j t
Task: TaskType
H: TaskCost Task
Job: JobType
H0: JobTask Job Task
H1: JobArrival Job
H2: JobCost Job
arr_seq: arrival_sequence Job
H_valid_arrival_sequence: valid_arrival_sequence arr_seq
sched: schedule (processor_state Job)
H_jobs_come_from_arrival_sequence: jobs_come_from_arrival_sequence sched arr_seq
H_jobs_must_arrive_to_execute: jobs_must_arrive_to_execute sched
H_completed_jobs_dont_execute: completed_jobs_dont_execute sched
H3: JLFP_policy Job
H_priority_is_reflexive: reflexive_priorities
H_priority_is_transitive: transitive_priorities
tsk: Task
H_sequential_tasks: sequential_tasks arr_seq sched
H_JLFP_respects_sequential_tasks: policy_respects_sequential_tasks
j: Job
t: instant

~~ ~~ another_hep_job_interference_dec j t -> ~ ~ another_hep_job_interference j t
move => /negPn/another_hep_job_interference_P; auto. Qed. (** Similarly, we say that job [j] is incurring interference from a job with higher-or-equal priority of another task at time [t] if there exists a job [jhp] (of a different task) with higher-or-equal priority that executes at time [t]. *) Definition another_task_hep_job_interference (j : Job) (t : instant) := exists jhp, (jhp \in arrivals_up_to arr_seq t) /\ another_task_hep_job jhp j /\ receives_service_at sched jhp t. (** In order to use the above definition in aRTA, we need to define its computational version. *) Definition another_task_hep_job_interference_dec (j : Job) (t : instant) := has (fun jhp => another_task_hep_job jhp j && receives_service_at sched jhp t) (arrivals_up_to arr_seq t). (** We also show that the computational and propositional definitions are equivalent. *)
Task: TaskType
H: TaskCost Task
Job: JobType
H0: JobTask Job Task
H1: JobArrival Job
H2: JobCost Job
arr_seq: arrival_sequence Job
H_valid_arrival_sequence: valid_arrival_sequence arr_seq
sched: schedule (processor_state Job)
H_jobs_come_from_arrival_sequence: jobs_come_from_arrival_sequence sched arr_seq
H_jobs_must_arrive_to_execute: jobs_must_arrive_to_execute sched
H_completed_jobs_dont_execute: completed_jobs_dont_execute sched
H3: JLFP_policy Job
H_priority_is_reflexive: reflexive_priorities
H_priority_is_transitive: transitive_priorities
tsk: Task
H_sequential_tasks: sequential_tasks arr_seq sched
H_JLFP_respects_sequential_tasks: policy_respects_sequential_tasks

forall (j : Job) (t : instant), reflect (another_task_hep_job_interference j t) (another_task_hep_job_interference_dec j t)
Task: TaskType
H: TaskCost Task
Job: JobType
H0: JobTask Job Task
H1: JobArrival Job
H2: JobCost Job
arr_seq: arrival_sequence Job
H_valid_arrival_sequence: valid_arrival_sequence arr_seq
sched: schedule (processor_state Job)
H_jobs_come_from_arrival_sequence: jobs_come_from_arrival_sequence sched arr_seq
H_jobs_must_arrive_to_execute: jobs_must_arrive_to_execute sched
H_completed_jobs_dont_execute: completed_jobs_dont_execute sched
H3: JLFP_policy Job
H_priority_is_reflexive: reflexive_priorities
H_priority_is_transitive: transitive_priorities
tsk: Task
H_sequential_tasks: sequential_tasks arr_seq sched
H_JLFP_respects_sequential_tasks: policy_respects_sequential_tasks

forall (j : Job) (t : instant), reflect (another_task_hep_job_interference j t) (another_task_hep_job_interference_dec j t)
Task: TaskType
H: TaskCost Task
Job: JobType
H0: JobTask Job Task
H1: JobArrival Job
H2: JobCost Job
arr_seq: arrival_sequence Job
H_valid_arrival_sequence: valid_arrival_sequence arr_seq
sched: schedule (processor_state Job)
H_jobs_come_from_arrival_sequence: jobs_come_from_arrival_sequence sched arr_seq
H_jobs_must_arrive_to_execute: jobs_must_arrive_to_execute sched
H_completed_jobs_dont_execute: completed_jobs_dont_execute sched
H3: JLFP_policy Job
H_priority_is_reflexive: reflexive_priorities
H_priority_is_transitive: transitive_priorities
tsk: Task
H_sequential_tasks: sequential_tasks arr_seq sched
H_JLFP_respects_sequential_tasks: policy_respects_sequential_tasks
j: Job
t: instant

another_task_hep_job_interference_dec j t -> another_task_hep_job_interference j t
Task: TaskType
H: TaskCost Task
Job: JobType
H0: JobTask Job Task
H1: JobArrival Job
H2: JobCost Job
arr_seq: arrival_sequence Job
H_valid_arrival_sequence: valid_arrival_sequence arr_seq
sched: schedule (processor_state Job)
H_jobs_come_from_arrival_sequence: jobs_come_from_arrival_sequence sched arr_seq
H_jobs_must_arrive_to_execute: jobs_must_arrive_to_execute sched
H_completed_jobs_dont_execute: completed_jobs_dont_execute sched
H3: JLFP_policy Job
H_priority_is_reflexive: reflexive_priorities
H_priority_is_transitive: transitive_priorities
tsk: Task
H_sequential_tasks: sequential_tasks arr_seq sched
H_JLFP_respects_sequential_tasks: policy_respects_sequential_tasks
j: Job
t: instant
~~ another_task_hep_job_interference_dec j t -> ~ another_task_hep_job_interference j t
Task: TaskType
H: TaskCost Task
Job: JobType
H0: JobTask Job Task
H1: JobArrival Job
H2: JobCost Job
arr_seq: arrival_sequence Job
H_valid_arrival_sequence: valid_arrival_sequence arr_seq
sched: schedule (processor_state Job)
H_jobs_come_from_arrival_sequence: jobs_come_from_arrival_sequence sched arr_seq
H_jobs_must_arrive_to_execute: jobs_must_arrive_to_execute sched
H_completed_jobs_dont_execute: completed_jobs_dont_execute sched
H3: JLFP_policy Job
H_priority_is_reflexive: reflexive_priorities
H_priority_is_transitive: transitive_priorities
tsk: Task
H_sequential_tasks: sequential_tasks arr_seq sched
H_JLFP_respects_sequential_tasks: policy_respects_sequential_tasks
j: Job
t: instant

another_task_hep_job_interference_dec j t -> another_task_hep_job_interference j t
Task: TaskType
H: TaskCost Task
Job: JobType
H0: JobTask Job Task
H1: JobArrival Job
H2: JobCost Job
arr_seq: arrival_sequence Job
H_valid_arrival_sequence: valid_arrival_sequence arr_seq
sched: schedule (processor_state Job)
H_jobs_come_from_arrival_sequence: jobs_come_from_arrival_sequence sched arr_seq
H_jobs_must_arrive_to_execute: jobs_must_arrive_to_execute sched
H_completed_jobs_dont_execute: completed_jobs_dont_execute sched
H3: JLFP_policy Job
H_priority_is_reflexive: reflexive_priorities
H_priority_is_transitive: transitive_priorities
tsk: Task
H_sequential_tasks: sequential_tasks arr_seq sched
H_JLFP_respects_sequential_tasks: policy_respects_sequential_tasks
j: Job
t: instant
~~ another_task_hep_job_interference_dec j t -> ~ another_task_hep_job_interference j t
Task: TaskType
H: TaskCost Task
Job: JobType
H0: JobTask Job Task
H1: JobArrival Job
H2: JobCost Job
arr_seq: arrival_sequence Job
H_valid_arrival_sequence: valid_arrival_sequence arr_seq
sched: schedule (processor_state Job)
H_jobs_come_from_arrival_sequence: jobs_come_from_arrival_sequence sched arr_seq
H_jobs_must_arrive_to_execute: jobs_must_arrive_to_execute sched
H_completed_jobs_dont_execute: completed_jobs_dont_execute sched
H3: JLFP_policy Job
H_priority_is_reflexive: reflexive_priorities
H_priority_is_transitive: transitive_priorities
tsk: Task
H_sequential_tasks: sequential_tasks arr_seq sched
H_JLFP_respects_sequential_tasks: policy_respects_sequential_tasks
j: Job
t: instant

~~ another_task_hep_job_interference_dec j t -> ~ another_task_hep_job_interference j t
Task: TaskType
H: TaskCost Task
Job: JobType
H0: JobTask Job Task
H1: JobArrival Job
H2: JobCost Job
arr_seq: arrival_sequence Job
H_valid_arrival_sequence: valid_arrival_sequence arr_seq
sched: schedule (processor_state Job)
H_jobs_come_from_arrival_sequence: jobs_come_from_arrival_sequence sched arr_seq
H_jobs_must_arrive_to_execute: jobs_must_arrive_to_execute sched
H_completed_jobs_dont_execute: completed_jobs_dont_execute sched
H3: JLFP_policy Job
H_priority_is_reflexive: reflexive_priorities
H_priority_is_transitive: transitive_priorities
tsk: Task
H_sequential_tasks: sequential_tasks arr_seq sched
H_JLFP_respects_sequential_tasks: policy_respects_sequential_tasks
j: Job
t: instant

~~ another_task_hep_job_interference_dec j t -> ~ another_task_hep_job_interference j t
Task: TaskType
H: TaskCost Task
Job: JobType
H0: JobTask Job Task
H1: JobArrival Job
H2: JobCost Job
arr_seq: arrival_sequence Job
H_valid_arrival_sequence: valid_arrival_sequence arr_seq
sched: schedule (processor_state Job)
H_jobs_come_from_arrival_sequence: jobs_come_from_arrival_sequence sched arr_seq
H_jobs_must_arrive_to_execute: jobs_must_arrive_to_execute sched
H_completed_jobs_dont_execute: completed_jobs_dont_execute sched
H3: JLFP_policy Job
H_priority_is_reflexive: reflexive_priorities
H_priority_is_transitive: transitive_priorities
tsk: Task
H_sequential_tasks: sequential_tasks arr_seq sched
H_JLFP_respects_sequential_tasks: policy_respects_sequential_tasks
j: Job
t: instant
T1: ~ another_task_hep_job_interference_dec j t
jhp: Job
ARR: jhp \in arrivals_up_to arr_seq t
HEP: another_task_hep_job jhp j
SCHED: receives_service_at sched jhp t

False
Task: TaskType
H: TaskCost Task
Job: JobType
H0: JobTask Job Task
H1: JobArrival Job
H2: JobCost Job
arr_seq: arrival_sequence Job
H_valid_arrival_sequence: valid_arrival_sequence arr_seq
sched: schedule (processor_state Job)
H_jobs_come_from_arrival_sequence: jobs_come_from_arrival_sequence sched arr_seq
H_jobs_must_arrive_to_execute: jobs_must_arrive_to_execute sched
H_completed_jobs_dont_execute: completed_jobs_dont_execute sched
H3: JLFP_policy Job
H_priority_is_reflexive: reflexive_priorities
H_priority_is_transitive: transitive_priorities
tsk: Task
H_sequential_tasks: sequential_tasks arr_seq sched
H_JLFP_respects_sequential_tasks: policy_respects_sequential_tasks
j: Job
t: instant
jhp: Job
ARR: jhp \in arrivals_up_to arr_seq t
HEP: another_task_hep_job jhp j
SCHED: receives_service_at sched jhp t

exists2 x : Job, x \in arrivals_up_to arr_seq t & another_task_hep_job x j && receives_service_at sched x t
Task: TaskType
H: TaskCost Task
Job: JobType
H0: JobTask Job Task
H1: JobArrival Job
H2: JobCost Job
arr_seq: arrival_sequence Job
H_valid_arrival_sequence: valid_arrival_sequence arr_seq
sched: schedule (processor_state Job)
H_jobs_come_from_arrival_sequence: jobs_come_from_arrival_sequence sched arr_seq
H_jobs_must_arrive_to_execute: jobs_must_arrive_to_execute sched
H_completed_jobs_dont_execute: completed_jobs_dont_execute sched
H3: JLFP_policy Job
H_priority_is_reflexive: reflexive_priorities
H_priority_is_transitive: transitive_priorities
tsk: Task
H_sequential_tasks: sequential_tasks arr_seq sched
H_JLFP_respects_sequential_tasks: policy_respects_sequential_tasks
j: Job
t: instant
jhp: Job
ARR: jhp \in arrivals_up_to arr_seq t
HEP: another_task_hep_job jhp j
SCHED: receives_service_at sched jhp t

another_task_hep_job jhp j && receives_service_at sched jhp t
by apply/andP; split. Qed. (** Before we define the notion of interference, we need to recall the definition of priority inversion. We say that job [j] is incurring a priority inversion at time [t] if there exists a job with lower priority that executes at time [t]. In order to simplify things, we ignore the fact that according to this definition a job can incur priority inversion even before its release (or after completion). All such (potentially bad) cases do not cause problems, as each job is analyzed only within the corresponding busy interval where the priority inversion behaves in the expected way. *) (** We say that job [j] incurs interference at time [t] iff it cannot execute due to a higher-or-equal-priority job being scheduled, or if it incurs a priority inversion. *) #[local,program] Instance ideal_jlfp_interference : Interference Job := { interference (j : Job) (t : instant) := priority_inversion_dec arr_seq sched j t || another_hep_job_interference_dec j t }. (** ** Instantiation of Interfering Workload *) (** Now, we define the notion of cumulative interfering workload, called [other_hep_jobs_interfering_workload], that says how many units of workload are generated by jobs with higher-or-equal priority released at time [t]. *) Definition other_hep_jobs_interfering_workload (j : Job) (t : instant) := \sum_(jhp <- arrivals_at arr_seq t | another_hep_job jhp j) job_cost jhp. (** The interfering workload, in turn, is defined as the sum of the priority inversion predicate and interfering workload of jobs with higher or equal priority. *) #[local,program] Instance ideal_jlfp_interfering_workload : InterferingWorkload Job := { interfering_workload (j : Job) (t : instant) := priority_inversion_dec arr_seq sched j t + other_hep_jobs_interfering_workload j t }. (** ** Auxiliary definitions *) (** For each of the concepts defined above, we introduce a corresponding cumulative function: *) (** (a) cumulative interference from other jobs with higher-or-equal priority ... *) Definition cumulative_another_hep_job_interference (j : Job) (t1 t2 : instant) := \sum_(t1 <= t < t2) another_hep_job_interference_dec j t. (** ... (b) and cumulative interference from jobs with higher or equal priority from other tasks, ... *) Definition cumulative_another_task_hep_job_interference (j : Job) (t1 t2 : instant) := \sum_(t1 <= t < t2) another_task_hep_job_interference_dec j t. (** ... and (c) cumulative workload from jobs with higher or equal priority. *) Definition cumulative_other_hep_jobs_interfering_workload (j : Job) (t1 t2 : instant) := \sum_(t1 <= t < t2) other_hep_jobs_interfering_workload j t. (** Instantiated functions usually do not come with any useful lemmas about them. In order to reuse existing lemmas, we need to prove equivalence of the instantiated functions to some conventional notions. The instantiations given in this file are equivalent to service and workload. Further, we prove these equivalences formally. *) (** Before we present the formal proofs of the equivalences, we recall the notion of workload of higher or equal priority jobs. *) Definition workload_of_another_hep_jobs (j : Job) (t1 t2 : instant) := workload_of_jobs (fun jhp => another_hep_job jhp j) (arrivals_between arr_seq t1 t2). (** ... and service of all other jobs with higher or equal priority. *) Definition service_of_another_hep_jobs (j : Job) (t1 t2 : instant) := service_of_jobs sched (fun jhp => another_hep_job jhp j) (arrivals_between arr_seq t1 t2) t1 t2. (** Similarly, we recall notions of service of higher or equal priority jobs from other tasks. *) Definition service_of_another_task_hep_job (j : Job) (t1 t2 : instant) := service_of_jobs sched (fun jhp => another_task_hep_job jhp j) (arrivals_between arr_seq t1 t2) t1 t2. (** ** Equivalences *) (** In this section we prove useful equivalences between the definitions obtained by instantiation of definitions from the Abstract RTA module (interference and interfering workload) and definitions corresponding to the conventional concepts. As it was mentioned previously, instantiated functions of interference and interfering workload usually do not have any useful lemmas about them. However, it is possible to prove their equivalence to the more conventional notions like service or workload. Next we prove the equivalence between the instantiations and conventional notions. *) Section Equivalences. (** In the following subsection, we prove properties of the introduced functions under the assumption that the schedule is idle. *) Section IdleSchedule. (** Consider a time instant [t] ... *) Variable t : instant. (** ... and assume that the schedule is idle at [t]. *) Hypothesis H_idle : is_idle sched t. (** We prove that in this case: ... *) (** ... there is no interference from higher-or-equal priority jobs, ... *)
Task: TaskType
H: TaskCost Task
Job: JobType
H0: JobTask Job Task
H1: JobArrival Job
H2: JobCost Job
arr_seq: arrival_sequence Job
H_valid_arrival_sequence: valid_arrival_sequence arr_seq
sched: schedule (processor_state Job)
H_jobs_come_from_arrival_sequence: jobs_come_from_arrival_sequence sched arr_seq
H_jobs_must_arrive_to_execute: jobs_must_arrive_to_execute sched
H_completed_jobs_dont_execute: completed_jobs_dont_execute sched
H3: JLFP_policy Job
H_priority_is_reflexive: reflexive_priorities
H_priority_is_transitive: transitive_priorities
tsk: Task
H_sequential_tasks: sequential_tasks arr_seq sched
H_JLFP_respects_sequential_tasks: policy_respects_sequential_tasks
t: instant
H_idle: is_idle sched t

forall j : Job, ~ another_hep_job_interference j t
Task: TaskType
H: TaskCost Task
Job: JobType
H0: JobTask Job Task
H1: JobArrival Job
H2: JobCost Job
arr_seq: arrival_sequence Job
H_valid_arrival_sequence: valid_arrival_sequence arr_seq
sched: schedule (processor_state Job)
H_jobs_come_from_arrival_sequence: jobs_come_from_arrival_sequence sched arr_seq
H_jobs_must_arrive_to_execute: jobs_must_arrive_to_execute sched
H_completed_jobs_dont_execute: completed_jobs_dont_execute sched
H3: JLFP_policy Job
H_priority_is_reflexive: reflexive_priorities
H_priority_is_transitive: transitive_priorities
tsk: Task
H_sequential_tasks: sequential_tasks arr_seq sched
H_JLFP_respects_sequential_tasks: policy_respects_sequential_tasks
t: instant
H_idle: is_idle sched t

forall j : Job, ~ another_hep_job_interference j t
Task: TaskType
H: TaskCost Task
Job: JobType
H0: JobTask Job Task
H1: JobArrival Job
H2: JobCost Job
arr_seq: arrival_sequence Job
H_valid_arrival_sequence: valid_arrival_sequence arr_seq
sched: schedule (processor_state Job)
H_jobs_come_from_arrival_sequence: jobs_come_from_arrival_sequence sched arr_seq
H_jobs_must_arrive_to_execute: jobs_must_arrive_to_execute sched
H_completed_jobs_dont_execute: completed_jobs_dont_execute sched
H3: JLFP_policy Job
H_priority_is_reflexive: reflexive_priorities
H_priority_is_transitive: transitive_priorities
tsk: Task
H_sequential_tasks: sequential_tasks arr_seq sched
H_JLFP_respects_sequential_tasks: policy_respects_sequential_tasks
t: instant
H_idle: is_idle sched t
j, j': Job
SERV: receives_service_at sched j' t

False
by rewrite /receives_service_at ideal_not_idle_implies_sched in SERV. Qed. (** ... there is no interference from higher-or-equal priority jobs from another task, ... *)
Task: TaskType
H: TaskCost Task
Job: JobType
H0: JobTask Job Task
H1: JobArrival Job
H2: JobCost Job
arr_seq: arrival_sequence Job
H_valid_arrival_sequence: valid_arrival_sequence arr_seq
sched: schedule (processor_state Job)
H_jobs_come_from_arrival_sequence: jobs_come_from_arrival_sequence sched arr_seq
H_jobs_must_arrive_to_execute: jobs_must_arrive_to_execute sched
H_completed_jobs_dont_execute: completed_jobs_dont_execute sched
H3: JLFP_policy Job
H_priority_is_reflexive: reflexive_priorities
H_priority_is_transitive: transitive_priorities
tsk: Task
H_sequential_tasks: sequential_tasks arr_seq sched
H_JLFP_respects_sequential_tasks: policy_respects_sequential_tasks
t: instant
H_idle: is_idle sched t

forall j : Job, ~ another_task_hep_job_interference j t
Task: TaskType
H: TaskCost Task
Job: JobType
H0: JobTask Job Task
H1: JobArrival Job
H2: JobCost Job
arr_seq: arrival_sequence Job
H_valid_arrival_sequence: valid_arrival_sequence arr_seq
sched: schedule (processor_state Job)
H_jobs_come_from_arrival_sequence: jobs_come_from_arrival_sequence sched arr_seq
H_jobs_must_arrive_to_execute: jobs_must_arrive_to_execute sched
H_completed_jobs_dont_execute: completed_jobs_dont_execute sched
H3: JLFP_policy Job
H_priority_is_reflexive: reflexive_priorities
H_priority_is_transitive: transitive_priorities
tsk: Task
H_sequential_tasks: sequential_tasks arr_seq sched
H_JLFP_respects_sequential_tasks: policy_respects_sequential_tasks
t: instant
H_idle: is_idle sched t

forall j : Job, ~ another_task_hep_job_interference j t
Task: TaskType
H: TaskCost Task
Job: JobType
H0: JobTask Job Task
H1: JobArrival Job
H2: JobCost Job
arr_seq: arrival_sequence Job
H_valid_arrival_sequence: valid_arrival_sequence arr_seq
sched: schedule (processor_state Job)
H_jobs_come_from_arrival_sequence: jobs_come_from_arrival_sequence sched arr_seq
H_jobs_must_arrive_to_execute: jobs_must_arrive_to_execute sched
H_completed_jobs_dont_execute: completed_jobs_dont_execute sched
H3: JLFP_policy Job
H_priority_is_reflexive: reflexive_priorities
H_priority_is_transitive: transitive_priorities
tsk: Task
H_sequential_tasks: sequential_tasks arr_seq sched
H_JLFP_respects_sequential_tasks: policy_respects_sequential_tasks
t: instant
H_idle: is_idle sched t
j, j': Job
SERV: receives_service_at sched j' t

False
by rewrite /receives_service_at ideal_not_idle_implies_sched in SERV. Qed. (** ... there is no interference, ... *)
Task: TaskType
H: TaskCost Task
Job: JobType
H0: JobTask Job Task
H1: JobArrival Job
H2: JobCost Job
arr_seq: arrival_sequence Job
H_valid_arrival_sequence: valid_arrival_sequence arr_seq
sched: schedule (processor_state Job)
H_jobs_come_from_arrival_sequence: jobs_come_from_arrival_sequence sched arr_seq
H_jobs_must_arrive_to_execute: jobs_must_arrive_to_execute sched
H_completed_jobs_dont_execute: completed_jobs_dont_execute sched
H3: JLFP_policy Job
H_priority_is_reflexive: reflexive_priorities
H_priority_is_transitive: transitive_priorities
tsk: Task
H_sequential_tasks: sequential_tasks arr_seq sched
H_JLFP_respects_sequential_tasks: policy_respects_sequential_tasks
t: instant
H_idle: is_idle sched t

forall j : Job, ~ interference j t
Task: TaskType
H: TaskCost Task
Job: JobType
H0: JobTask Job Task
H1: JobArrival Job
H2: JobCost Job
arr_seq: arrival_sequence Job
H_valid_arrival_sequence: valid_arrival_sequence arr_seq
sched: schedule (processor_state Job)
H_jobs_come_from_arrival_sequence: jobs_come_from_arrival_sequence sched arr_seq
H_jobs_must_arrive_to_execute: jobs_must_arrive_to_execute sched
H_completed_jobs_dont_execute: completed_jobs_dont_execute sched
H3: JLFP_policy Job
H_priority_is_reflexive: reflexive_priorities
H_priority_is_transitive: transitive_priorities
tsk: Task
H_sequential_tasks: sequential_tasks arr_seq sched
H_JLFP_respects_sequential_tasks: policy_respects_sequential_tasks
t: instant
H_idle: is_idle sched t

forall j : Job, ~ interference j t
Task: TaskType
H: TaskCost Task
Job: JobType
H0: JobTask Job Task
H1: JobArrival Job
H2: JobCost Job
arr_seq: arrival_sequence Job
H_valid_arrival_sequence: valid_arrival_sequence arr_seq
sched: schedule (processor_state Job)
H_jobs_come_from_arrival_sequence: jobs_come_from_arrival_sequence sched arr_seq
H_jobs_must_arrive_to_execute: jobs_must_arrive_to_execute sched
H_completed_jobs_dont_execute: completed_jobs_dont_execute sched
H3: JLFP_policy Job
H_priority_is_reflexive: reflexive_priorities
H_priority_is_transitive: transitive_priorities
tsk: Task
H_sequential_tasks: sequential_tasks arr_seq sched
H_JLFP_respects_sequential_tasks: policy_respects_sequential_tasks
t: instant
H_idle: is_idle sched t
j: Job

~ interference j t
Task: TaskType
H: TaskCost Task
Job: JobType
H0: JobTask Job Task
H1: JobArrival Job
H2: JobCost Job
arr_seq: arrival_sequence Job
H_valid_arrival_sequence: valid_arrival_sequence arr_seq
sched: schedule (processor_state Job)
H_jobs_come_from_arrival_sequence: jobs_come_from_arrival_sequence sched arr_seq
H_jobs_must_arrive_to_execute: jobs_must_arrive_to_execute sched
H_completed_jobs_dont_execute: completed_jobs_dont_execute sched
H3: JLFP_policy Job
H_priority_is_reflexive: reflexive_priorities
H_priority_is_transitive: transitive_priorities
tsk: Task
H_sequential_tasks: sequential_tasks arr_seq sched
H_JLFP_respects_sequential_tasks: policy_respects_sequential_tasks
t: instant
H_idle: is_idle sched t
j: Job
PI: priority_inversion_dec arr_seq sched j t

False
Task: TaskType
H: TaskCost Task
Job: JobType
H0: JobTask Job Task
H1: JobArrival Job
H2: JobCost Job
arr_seq: arrival_sequence Job
H_valid_arrival_sequence: valid_arrival_sequence arr_seq
sched: schedule (processor_state Job)
H_jobs_come_from_arrival_sequence: jobs_come_from_arrival_sequence sched arr_seq
H_jobs_must_arrive_to_execute: jobs_must_arrive_to_execute sched
H_completed_jobs_dont_execute: completed_jobs_dont_execute sched
H3: JLFP_policy Job
H_priority_is_reflexive: reflexive_priorities
H_priority_is_transitive: transitive_priorities
tsk: Task
H_sequential_tasks: sequential_tasks arr_seq sched
H_JLFP_respects_sequential_tasks: policy_respects_sequential_tasks
t: instant
H_idle: is_idle sched t
j: Job
HEPI: another_hep_job_interference_dec j t
False
Task: TaskType
H: TaskCost Task
Job: JobType
H0: JobTask Job Task
H1: JobArrival Job
H2: JobCost Job
arr_seq: arrival_sequence Job
H_valid_arrival_sequence: valid_arrival_sequence arr_seq
sched: schedule (processor_state Job)
H_jobs_come_from_arrival_sequence: jobs_come_from_arrival_sequence sched arr_seq
H_jobs_must_arrive_to_execute: jobs_must_arrive_to_execute sched
H_completed_jobs_dont_execute: completed_jobs_dont_execute sched
H3: JLFP_policy Job
H_priority_is_reflexive: reflexive_priorities
H_priority_is_transitive: transitive_priorities
tsk: Task
H_sequential_tasks: sequential_tasks arr_seq sched
H_JLFP_respects_sequential_tasks: policy_respects_sequential_tasks
t: instant
H_idle: is_idle sched t
j: Job
PI: priority_inversion_dec arr_seq sched j t

False
Task: TaskType
H: TaskCost Task
Job: JobType
H0: JobTask Job Task
H1: JobArrival Job
H2: JobCost Job
arr_seq: arrival_sequence Job
H_valid_arrival_sequence: valid_arrival_sequence arr_seq
sched: schedule (processor_state Job)
H_jobs_come_from_arrival_sequence: jobs_come_from_arrival_sequence sched arr_seq
H_jobs_must_arrive_to_execute: jobs_must_arrive_to_execute sched
H_completed_jobs_dont_execute: completed_jobs_dont_execute sched
H3: JLFP_policy Job
H_priority_is_reflexive: reflexive_priorities
H_priority_is_transitive: transitive_priorities
tsk: Task
H_sequential_tasks: sequential_tasks arr_seq sched
H_JLFP_respects_sequential_tasks: policy_respects_sequential_tasks
t: instant
H_idle: is_idle sched t
j: Job
HEPI: another_hep_job_interference_dec j t
False
Task: TaskType
H: TaskCost Task
Job: JobType
H0: JobTask Job Task
H1: JobArrival Job
H2: JobCost Job
arr_seq: arrival_sequence Job
H_valid_arrival_sequence: valid_arrival_sequence arr_seq
sched: schedule (processor_state Job)
H_jobs_come_from_arrival_sequence: jobs_come_from_arrival_sequence sched arr_seq
H_jobs_must_arrive_to_execute: jobs_must_arrive_to_execute sched
H_completed_jobs_dont_execute: completed_jobs_dont_execute sched
H3: JLFP_policy Job
H_priority_is_reflexive: reflexive_priorities
H_priority_is_transitive: transitive_priorities
tsk: Task
H_sequential_tasks: sequential_tasks arr_seq sched
H_JLFP_respects_sequential_tasks: policy_respects_sequential_tasks
t: instant
H_idle: is_idle sched t
j: Job
PI: priority_inversion sched j t

False
Task: TaskType
H: TaskCost Task
Job: JobType
H0: JobTask Job Task
H1: JobArrival Job
H2: JobCost Job
arr_seq: arrival_sequence Job
H_valid_arrival_sequence: valid_arrival_sequence arr_seq
sched: schedule (processor_state Job)
H_jobs_come_from_arrival_sequence: jobs_come_from_arrival_sequence sched arr_seq
H_jobs_must_arrive_to_execute: jobs_must_arrive_to_execute sched
H_completed_jobs_dont_execute: completed_jobs_dont_execute sched
H3: JLFP_policy Job
H_priority_is_reflexive: reflexive_priorities
H_priority_is_transitive: transitive_priorities
tsk: Task
H_sequential_tasks: sequential_tasks arr_seq sched
H_JLFP_respects_sequential_tasks: policy_respects_sequential_tasks
t: instant
H_idle: is_idle sched t
j: Job
HEPI: another_hep_job_interference_dec j t
False
Task: TaskType
H: TaskCost Task
Job: JobType
H0: JobTask Job Task
H1: JobArrival Job
H2: JobCost Job
arr_seq: arrival_sequence Job
H_valid_arrival_sequence: valid_arrival_sequence arr_seq
sched: schedule (processor_state Job)
H_jobs_come_from_arrival_sequence: jobs_come_from_arrival_sequence sched arr_seq
H_jobs_must_arrive_to_execute: jobs_must_arrive_to_execute sched
H_completed_jobs_dont_execute: completed_jobs_dont_execute sched
H3: JLFP_policy Job
H_priority_is_reflexive: reflexive_priorities
H_priority_is_transitive: transitive_priorities
tsk: Task
H_sequential_tasks: sequential_tasks arr_seq sched
H_JLFP_respects_sequential_tasks: policy_respects_sequential_tasks
t: instant
H_idle: is_idle sched t
j, j': Job
SCHED: scheduled_at sched j' t

False
Task: TaskType
H: TaskCost Task
Job: JobType
H0: JobTask Job Task
H1: JobArrival Job
H2: JobCost Job
arr_seq: arrival_sequence Job
H_valid_arrival_sequence: valid_arrival_sequence arr_seq
sched: schedule (processor_state Job)
H_jobs_come_from_arrival_sequence: jobs_come_from_arrival_sequence sched arr_seq
H_jobs_must_arrive_to_execute: jobs_must_arrive_to_execute sched
H_completed_jobs_dont_execute: completed_jobs_dont_execute sched
H3: JLFP_policy Job
H_priority_is_reflexive: reflexive_priorities
H_priority_is_transitive: transitive_priorities
tsk: Task
H_sequential_tasks: sequential_tasks arr_seq sched
H_JLFP_respects_sequential_tasks: policy_respects_sequential_tasks
t: instant
H_idle: is_idle sched t
j: Job
HEPI: another_hep_job_interference_dec j t
False
Task: TaskType
H: TaskCost Task
Job: JobType
H0: JobTask Job Task
H1: JobArrival Job
H2: JobCost Job
arr_seq: arrival_sequence Job
H_valid_arrival_sequence: valid_arrival_sequence arr_seq
sched: schedule (processor_state Job)
H_jobs_come_from_arrival_sequence: jobs_come_from_arrival_sequence sched arr_seq
H_jobs_must_arrive_to_execute: jobs_must_arrive_to_execute sched
H_completed_jobs_dont_execute: completed_jobs_dont_execute sched
H3: JLFP_policy Job
H_priority_is_reflexive: reflexive_priorities
H_priority_is_transitive: transitive_priorities
tsk: Task
H_sequential_tasks: sequential_tasks arr_seq sched
H_JLFP_respects_sequential_tasks: policy_respects_sequential_tasks
t: instant
H_idle: is_idle sched t
j: Job
HEPI: another_hep_job_interference_dec j t

False
Task: TaskType
H: TaskCost Task
Job: JobType
H0: JobTask Job Task
H1: JobArrival Job
H2: JobCost Job
arr_seq: arrival_sequence Job
H_valid_arrival_sequence: valid_arrival_sequence arr_seq
sched: schedule (processor_state Job)
H_jobs_come_from_arrival_sequence: jobs_come_from_arrival_sequence sched arr_seq
H_jobs_must_arrive_to_execute: jobs_must_arrive_to_execute sched
H_completed_jobs_dont_execute: completed_jobs_dont_execute sched
H3: JLFP_policy Job
H_priority_is_reflexive: reflexive_priorities
H_priority_is_transitive: transitive_priorities
tsk: Task
H_sequential_tasks: sequential_tasks arr_seq sched
H_JLFP_respects_sequential_tasks: policy_respects_sequential_tasks
t: instant
H_idle: is_idle sched t
j: Job
HEPI: another_hep_job_interference_dec j t

False
Task: TaskType
H: TaskCost Task
Job: JobType
H0: JobTask Job Task
H1: JobArrival Job
H2: JobCost Job
arr_seq: arrival_sequence Job
H_valid_arrival_sequence: valid_arrival_sequence arr_seq
sched: schedule (processor_state Job)
H_jobs_come_from_arrival_sequence: jobs_come_from_arrival_sequence sched arr_seq
H_jobs_must_arrive_to_execute: jobs_must_arrive_to_execute sched
H_completed_jobs_dont_execute: completed_jobs_dont_execute sched
H3: JLFP_policy Job
H_priority_is_reflexive: reflexive_priorities
H_priority_is_transitive: transitive_priorities
tsk: Task
H_sequential_tasks: sequential_tasks arr_seq sched
H_JLFP_respects_sequential_tasks: policy_respects_sequential_tasks
t: instant
H_idle: is_idle sched t
j: Job
HEPI: another_hep_job_interference j t

False
by apply idle_implies_no_hep_job_interference in HEPI. Qed. (** ... as well as no interference for [tsk]. Recall that the additional argument [upper_bound] is an artificial horizon needed needed to make task interference function constructive. For more details, refer to the original description of the function. *)
Task: TaskType
H: TaskCost Task
Job: JobType
H0: JobTask Job Task
H1: JobArrival Job
H2: JobCost Job
arr_seq: arrival_sequence Job
H_valid_arrival_sequence: valid_arrival_sequence arr_seq
sched: schedule (processor_state Job)
H_jobs_come_from_arrival_sequence: jobs_come_from_arrival_sequence sched arr_seq
H_jobs_must_arrive_to_execute: jobs_must_arrive_to_execute sched
H_completed_jobs_dont_execute: completed_jobs_dont_execute sched
H3: JLFP_policy Job
H_priority_is_reflexive: reflexive_priorities
H_priority_is_transitive: transitive_priorities
tsk: Task
H_sequential_tasks: sequential_tasks arr_seq sched
H_JLFP_respects_sequential_tasks: policy_respects_sequential_tasks
t: instant
H_idle: is_idle sched t

forall upper_bound : instant, ~ task_interference_received_before arr_seq sched tsk upper_bound t
Task: TaskType
H: TaskCost Task
Job: JobType
H0: JobTask Job Task
H1: JobArrival Job
H2: JobCost Job
arr_seq: arrival_sequence Job
H_valid_arrival_sequence: valid_arrival_sequence arr_seq
sched: schedule (processor_state Job)
H_jobs_come_from_arrival_sequence: jobs_come_from_arrival_sequence sched arr_seq
H_jobs_must_arrive_to_execute: jobs_must_arrive_to_execute sched
H_completed_jobs_dont_execute: completed_jobs_dont_execute sched
H3: JLFP_policy Job
H_priority_is_reflexive: reflexive_priorities
H_priority_is_transitive: transitive_priorities
tsk: Task
H_sequential_tasks: sequential_tasks arr_seq sched
H_JLFP_respects_sequential_tasks: policy_respects_sequential_tasks
t: instant
H_idle: is_idle sched t

forall upper_bound : instant, ~ task_interference_received_before arr_seq sched tsk upper_bound t
Task: TaskType
H: TaskCost Task
Job: JobType
H0: JobTask Job Task
H1: JobArrival Job
H2: JobCost Job
arr_seq: arrival_sequence Job
H_valid_arrival_sequence: valid_arrival_sequence arr_seq
sched: schedule (processor_state Job)
H_jobs_come_from_arrival_sequence: jobs_come_from_arrival_sequence sched arr_seq
H_jobs_must_arrive_to_execute: jobs_must_arrive_to_execute sched
H_completed_jobs_dont_execute: completed_jobs_dont_execute sched
H3: JLFP_policy Job
H_priority_is_reflexive: reflexive_priorities
H_priority_is_transitive: transitive_priorities
tsk: Task
H_sequential_tasks: sequential_tasks arr_seq sched
H_JLFP_respects_sequential_tasks: policy_respects_sequential_tasks
t: instant
H_idle: is_idle sched t
upp: instant
NSCHEDT: ~ task_scheduled_at sched tsk t
j': Job
INT: interference j' t
TSKBE: j' \in task_arrivals_before arr_seq tsk upp

False
by apply idle_implies_no_interference in INT. Qed. End IdleSchedule. (** Next, we prove properties of the introduced functions under the assumption that the scheduler is not idle. *) Section ScheduledJob. (** Consider a job [j] of task [tsk]. In this subsection, job [j] is deemed to be the main job with respect to which the functions are computed. *) Variable j : Job. Hypothesis H_j_tsk : job_of_task tsk j. (** Consider a time instant [t]. *) Variable t : instant. (** First, consider a case when _some_ jobs is scheduled at time [t]. *) Section SomeJobIsScheduled. (** Consider a job [j'] (not necessarily distinct from job [j]) that is scheduled at time [t]. *) Variable j' : Job. Hypothesis H_sched : scheduled_at sched j' t. (** Under the stated assumptions, we show that the interference from another higher-or-equal priority job is equivalent to the relation [another_hep_job]. *)
Task: TaskType
H: TaskCost Task
Job: JobType
H0: JobTask Job Task
H1: JobArrival Job
H2: JobCost Job
arr_seq: arrival_sequence Job
H_valid_arrival_sequence: valid_arrival_sequence arr_seq
sched: schedule (processor_state Job)
H_jobs_come_from_arrival_sequence: jobs_come_from_arrival_sequence sched arr_seq
H_jobs_must_arrive_to_execute: jobs_must_arrive_to_execute sched
H_completed_jobs_dont_execute: completed_jobs_dont_execute sched
H3: JLFP_policy Job
H_priority_is_reflexive: reflexive_priorities
H_priority_is_transitive: transitive_priorities
tsk: Task
H_sequential_tasks: sequential_tasks arr_seq sched
H_JLFP_respects_sequential_tasks: policy_respects_sequential_tasks
j: Job
H_j_tsk: job_of_task tsk j
t: instant
j': Job
H_sched: scheduled_at sched j' t

another_hep_job_interference j t <-> another_hep_job j' j
Task: TaskType
H: TaskCost Task
Job: JobType
H0: JobTask Job Task
H1: JobArrival Job
H2: JobCost Job
arr_seq: arrival_sequence Job
H_valid_arrival_sequence: valid_arrival_sequence arr_seq
sched: schedule (processor_state Job)
H_jobs_come_from_arrival_sequence: jobs_come_from_arrival_sequence sched arr_seq
H_jobs_must_arrive_to_execute: jobs_must_arrive_to_execute sched
H_completed_jobs_dont_execute: completed_jobs_dont_execute sched
H3: JLFP_policy Job
H_priority_is_reflexive: reflexive_priorities
H_priority_is_transitive: transitive_priorities
tsk: Task
H_sequential_tasks: sequential_tasks arr_seq sched
H_JLFP_respects_sequential_tasks: policy_respects_sequential_tasks
j: Job
H_j_tsk: job_of_task tsk j
t: instant
j': Job
H_sched: scheduled_at sched j' t

another_hep_job_interference j t <-> another_hep_job j' j
Task: TaskType
H: TaskCost Task
Job: JobType
H0: JobTask Job Task
H1: JobArrival Job
H2: JobCost Job
arr_seq: arrival_sequence Job
H_valid_arrival_sequence: valid_arrival_sequence arr_seq
sched: schedule (processor_state Job)
H_jobs_come_from_arrival_sequence: jobs_come_from_arrival_sequence sched arr_seq
H_jobs_must_arrive_to_execute: jobs_must_arrive_to_execute sched
H_completed_jobs_dont_execute: completed_jobs_dont_execute sched
H3: JLFP_policy Job
H_priority_is_reflexive: reflexive_priorities
H_priority_is_transitive: transitive_priorities
tsk: Task
H_sequential_tasks: sequential_tasks arr_seq sched
H_JLFP_respects_sequential_tasks: policy_respects_sequential_tasks
j: Job
H_j_tsk: job_of_task tsk j
t: instant
j': Job
H_sched: scheduled_at sched j' t
jhp: Job
IN: jhp \in arrivals_up_to arr_seq t
AHEP: another_hep_job jhp j
PSERV: receives_service_at sched jhp t

another_hep_job j' j
Task: TaskType
H: TaskCost Task
Job: JobType
H0: JobTask Job Task
H1: JobArrival Job
H2: JobCost Job
arr_seq: arrival_sequence Job
H_valid_arrival_sequence: valid_arrival_sequence arr_seq
sched: schedule (processor_state Job)
H_jobs_come_from_arrival_sequence: jobs_come_from_arrival_sequence sched arr_seq
H_jobs_must_arrive_to_execute: jobs_must_arrive_to_execute sched
H_completed_jobs_dont_execute: completed_jobs_dont_execute sched
H3: JLFP_policy Job
H_priority_is_reflexive: reflexive_priorities
H_priority_is_transitive: transitive_priorities
tsk: Task
H_sequential_tasks: sequential_tasks arr_seq sched
H_JLFP_respects_sequential_tasks: policy_respects_sequential_tasks
j: Job
H_j_tsk: job_of_task tsk j
t: instant
j': Job
H_sched: scheduled_at sched j' t
AHEP: another_hep_job j' j
another_hep_job_interference j t
Task: TaskType
H: TaskCost Task
Job: JobType
H0: JobTask Job Task
H1: JobArrival Job
H2: JobCost Job
arr_seq: arrival_sequence Job
H_valid_arrival_sequence: valid_arrival_sequence arr_seq
sched: schedule (processor_state Job)
H_jobs_come_from_arrival_sequence: jobs_come_from_arrival_sequence sched arr_seq
H_jobs_must_arrive_to_execute: jobs_must_arrive_to_execute sched
H_completed_jobs_dont_execute: completed_jobs_dont_execute sched
H3: JLFP_policy Job
H_priority_is_reflexive: reflexive_priorities
H_priority_is_transitive: transitive_priorities
tsk: Task
H_sequential_tasks: sequential_tasks arr_seq sched
H_JLFP_respects_sequential_tasks: policy_respects_sequential_tasks
j: Job
H_j_tsk: job_of_task tsk j
t: instant
j': Job
H_sched: scheduled_at sched j' t
jhp: Job
IN: jhp \in arrivals_up_to arr_seq t
AHEP: another_hep_job jhp j
PSERV: receives_service_at sched jhp t

another_hep_job j' j
Task: TaskType
H: TaskCost Task
Job: JobType
H0: JobTask Job Task
H1: JobArrival Job
H2: JobCost Job
arr_seq: arrival_sequence Job
H_valid_arrival_sequence: valid_arrival_sequence arr_seq
sched: schedule (processor_state Job)
H_jobs_come_from_arrival_sequence: jobs_come_from_arrival_sequence sched arr_seq
H_jobs_must_arrive_to_execute: jobs_must_arrive_to_execute sched
H_completed_jobs_dont_execute: completed_jobs_dont_execute sched
H3: JLFP_policy Job
H_priority_is_reflexive: reflexive_priorities
H_priority_is_transitive: transitive_priorities
tsk: Task
H_sequential_tasks: sequential_tasks arr_seq sched
H_JLFP_respects_sequential_tasks: policy_respects_sequential_tasks
j: Job
H_j_tsk: job_of_task tsk j
t: instant
j': Job
H_sched: scheduled_at sched j' t
AHEP: another_hep_job j' j
another_hep_job_interference j t
Task: TaskType
H: TaskCost Task
Job: JobType
H0: JobTask Job Task
H1: JobArrival Job
H2: JobCost Job
arr_seq: arrival_sequence Job
H_valid_arrival_sequence: valid_arrival_sequence arr_seq
sched: schedule (processor_state Job)
H_jobs_come_from_arrival_sequence: jobs_come_from_arrival_sequence sched arr_seq
H_jobs_must_arrive_to_execute: jobs_must_arrive_to_execute sched
H_completed_jobs_dont_execute: completed_jobs_dont_execute sched
H3: JLFP_policy Job
H_priority_is_reflexive: reflexive_priorities
H_priority_is_transitive: transitive_priorities
tsk: Task
H_sequential_tasks: sequential_tasks arr_seq sched
H_JLFP_respects_sequential_tasks: policy_respects_sequential_tasks
j: Job
H_j_tsk: job_of_task tsk j
t: instant
j': Job
H_sched: scheduled_at sched j' t
jhp: Job
IN: jhp \in arrivals_up_to arr_seq t
AHEP: another_hep_job jhp j
PSERV: scheduled_at sched jhp t

another_hep_job j' j
Task: TaskType
H: TaskCost Task
Job: JobType
H0: JobTask Job Task
H1: JobArrival Job
H2: JobCost Job
arr_seq: arrival_sequence Job
H_valid_arrival_sequence: valid_arrival_sequence arr_seq
sched: schedule (processor_state Job)
H_jobs_come_from_arrival_sequence: jobs_come_from_arrival_sequence sched arr_seq
H_jobs_must_arrive_to_execute: jobs_must_arrive_to_execute sched
H_completed_jobs_dont_execute: completed_jobs_dont_execute sched
H3: JLFP_policy Job
H_priority_is_reflexive: reflexive_priorities
H_priority_is_transitive: transitive_priorities
tsk: Task
H_sequential_tasks: sequential_tasks arr_seq sched
H_JLFP_respects_sequential_tasks: policy_respects_sequential_tasks
j: Job
H_j_tsk: job_of_task tsk j
t: instant
j': Job
H_sched: scheduled_at sched j' t
AHEP: another_hep_job j' j
another_hep_job_interference j t
Task: TaskType
H: TaskCost Task
Job: JobType
H0: JobTask Job Task
H1: JobArrival Job
H2: JobCost Job
arr_seq: arrival_sequence Job
H_valid_arrival_sequence: valid_arrival_sequence arr_seq
sched: schedule (processor_state Job)
H_jobs_come_from_arrival_sequence: jobs_come_from_arrival_sequence sched arr_seq
H_jobs_must_arrive_to_execute: jobs_must_arrive_to_execute sched
H_completed_jobs_dont_execute: completed_jobs_dont_execute sched
H3: JLFP_policy Job
H_priority_is_reflexive: reflexive_priorities
H_priority_is_transitive: transitive_priorities
tsk: Task
H_sequential_tasks: sequential_tasks arr_seq sched
H_JLFP_respects_sequential_tasks: policy_respects_sequential_tasks
j: Job
H_j_tsk: job_of_task tsk j
t: instant
j': Job
H_sched: scheduled_at sched j' t
AHEP: another_hep_job j' j

another_hep_job_interference j t
Task: TaskType
H: TaskCost Task
Job: JobType
H0: JobTask Job Task
H1: JobArrival Job
H2: JobCost Job
arr_seq: arrival_sequence Job
H_valid_arrival_sequence: valid_arrival_sequence arr_seq
sched: schedule (processor_state Job)
H_jobs_come_from_arrival_sequence: jobs_come_from_arrival_sequence sched arr_seq
H_jobs_must_arrive_to_execute: jobs_must_arrive_to_execute sched
H_completed_jobs_dont_execute: completed_jobs_dont_execute sched
H3: JLFP_policy Job
H_priority_is_reflexive: reflexive_priorities
H_priority_is_transitive: transitive_priorities
tsk: Task
H_sequential_tasks: sequential_tasks arr_seq sched
H_JLFP_respects_sequential_tasks: policy_respects_sequential_tasks
j: Job
H_j_tsk: job_of_task tsk j
t: instant
j': Job
H_sched: scheduled_at sched j' t
AHEP: another_hep_job j' j

another_hep_job_interference j t
Task: TaskType
H: TaskCost Task
Job: JobType
H0: JobTask Job Task
H1: JobArrival Job
H2: JobCost Job
arr_seq: arrival_sequence Job
H_valid_arrival_sequence: valid_arrival_sequence arr_seq
sched: schedule (processor_state Job)
H_jobs_come_from_arrival_sequence: jobs_come_from_arrival_sequence sched arr_seq
H_jobs_must_arrive_to_execute: jobs_must_arrive_to_execute sched
H_completed_jobs_dont_execute: completed_jobs_dont_execute sched
H3: JLFP_policy Job
H_priority_is_reflexive: reflexive_priorities
H_priority_is_transitive: transitive_priorities
tsk: Task
H_sequential_tasks: sequential_tasks arr_seq sched
H_JLFP_respects_sequential_tasks: policy_respects_sequential_tasks
j: Job
H_j_tsk: job_of_task tsk j
t: instant
j': Job
H_sched: scheduled_at sched j' t
AHEP: another_hep_job j' j

j' \in arrivals_up_to arr_seq t
Task: TaskType
H: TaskCost Task
Job: JobType
H0: JobTask Job Task
H1: JobArrival Job
H2: JobCost Job
arr_seq: arrival_sequence Job
H_valid_arrival_sequence: valid_arrival_sequence arr_seq
sched: schedule (processor_state Job)
H_jobs_come_from_arrival_sequence: jobs_come_from_arrival_sequence sched arr_seq
H_jobs_must_arrive_to_execute: jobs_must_arrive_to_execute sched
H_completed_jobs_dont_execute: completed_jobs_dont_execute sched
H3: JLFP_policy Job
H_priority_is_reflexive: reflexive_priorities
H_priority_is_transitive: transitive_priorities
tsk: Task
H_sequential_tasks: sequential_tasks arr_seq sched
H_JLFP_respects_sequential_tasks: policy_respects_sequential_tasks
j: Job
H_j_tsk: job_of_task tsk j
t: instant
j': Job
H_sched: scheduled_at sched j' t
AHEP: another_hep_job j' j
another_hep_job j' j
Task: TaskType
H: TaskCost Task
Job: JobType
H0: JobTask Job Task
H1: JobArrival Job
H2: JobCost Job
arr_seq: arrival_sequence Job
H_valid_arrival_sequence: valid_arrival_sequence arr_seq
sched: schedule (processor_state Job)
H_jobs_come_from_arrival_sequence: jobs_come_from_arrival_sequence sched arr_seq
H_jobs_must_arrive_to_execute: jobs_must_arrive_to_execute sched
H_completed_jobs_dont_execute: completed_jobs_dont_execute sched
H3: JLFP_policy Job
H_priority_is_reflexive: reflexive_priorities
H_priority_is_transitive: transitive_priorities
tsk: Task
H_sequential_tasks: sequential_tasks arr_seq sched
H_JLFP_respects_sequential_tasks: policy_respects_sequential_tasks
j: Job
H_j_tsk: job_of_task tsk j
t: instant
j': Job
H_sched: scheduled_at sched j' t
AHEP: another_hep_job j' j
receives_service_at sched j' t
Task: TaskType
H: TaskCost Task
Job: JobType
H0: JobTask Job Task
H1: JobArrival Job
H2: JobCost Job
arr_seq: arrival_sequence Job
H_valid_arrival_sequence: valid_arrival_sequence arr_seq
sched: schedule (processor_state Job)
H_jobs_come_from_arrival_sequence: jobs_come_from_arrival_sequence sched arr_seq
H_jobs_must_arrive_to_execute: jobs_must_arrive_to_execute sched
H_completed_jobs_dont_execute: completed_jobs_dont_execute sched
H3: JLFP_policy Job
H_priority_is_reflexive: reflexive_priorities
H_priority_is_transitive: transitive_priorities
tsk: Task
H_sequential_tasks: sequential_tasks arr_seq sched
H_JLFP_respects_sequential_tasks: policy_respects_sequential_tasks
j: Job
H_j_tsk: job_of_task tsk j
t: instant
j': Job
H_sched: scheduled_at sched j' t
AHEP: another_hep_job j' j

j' \in arrivals_up_to arr_seq t
Task: TaskType
H: TaskCost Task
Job: JobType
H0: JobTask Job Task
H1: JobArrival Job
H2: JobCost Job
arr_seq: arrival_sequence Job
H_valid_arrival_sequence: valid_arrival_sequence arr_seq
sched: schedule (processor_state Job)
H_jobs_come_from_arrival_sequence: jobs_come_from_arrival_sequence sched arr_seq
H_jobs_must_arrive_to_execute: jobs_must_arrive_to_execute sched
H_completed_jobs_dont_execute: completed_jobs_dont_execute sched
H3: JLFP_policy Job
H_priority_is_reflexive: reflexive_priorities
H_priority_is_transitive: transitive_priorities
tsk: Task
H_sequential_tasks: sequential_tasks arr_seq sched
H_JLFP_respects_sequential_tasks: policy_respects_sequential_tasks
j: Job
H_j_tsk: job_of_task tsk j
t: instant
j': Job
H_sched: scheduled_at sched j' t
AHEP: another_hep_job j' j
another_hep_job j' j
Task: TaskType
H: TaskCost Task
Job: JobType
H0: JobTask Job Task
H1: JobArrival Job
H2: JobCost Job
arr_seq: arrival_sequence Job
H_valid_arrival_sequence: valid_arrival_sequence arr_seq
sched: schedule (processor_state Job)
H_jobs_come_from_arrival_sequence: jobs_come_from_arrival_sequence sched arr_seq
H_jobs_must_arrive_to_execute: jobs_must_arrive_to_execute sched
H_completed_jobs_dont_execute: completed_jobs_dont_execute sched
H3: JLFP_policy Job
H_priority_is_reflexive: reflexive_priorities
H_priority_is_transitive: transitive_priorities
tsk: Task
H_sequential_tasks: sequential_tasks arr_seq sched
H_JLFP_respects_sequential_tasks: policy_respects_sequential_tasks
j: Job
H_j_tsk: job_of_task tsk j
t: instant
j': Job
H_sched: scheduled_at sched j' t
AHEP: another_hep_job j' j
receives_service_at sched j' t
Task: TaskType
H: TaskCost Task
Job: JobType
H0: JobTask Job Task
H1: JobArrival Job
H2: JobCost Job
arr_seq: arrival_sequence Job
H_valid_arrival_sequence: valid_arrival_sequence arr_seq
sched: schedule (processor_state Job)
H_jobs_come_from_arrival_sequence: jobs_come_from_arrival_sequence sched arr_seq
H_jobs_must_arrive_to_execute: jobs_must_arrive_to_execute sched
H_completed_jobs_dont_execute: completed_jobs_dont_execute sched
H3: JLFP_policy Job
H_priority_is_reflexive: reflexive_priorities
H_priority_is_transitive: transitive_priorities
tsk: Task
H_sequential_tasks: sequential_tasks arr_seq sched
H_JLFP_respects_sequential_tasks: policy_respects_sequential_tasks
j: Job
H_j_tsk: job_of_task tsk j
t: instant
j': Job
H_sched: scheduled_at sched j' t
AHEP: another_hep_job j' j

arrived_between j' 0 t.+1
Task: TaskType
H: TaskCost Task
Job: JobType
H0: JobTask Job Task
H1: JobArrival Job
H2: JobCost Job
arr_seq: arrival_sequence Job
H_valid_arrival_sequence: valid_arrival_sequence arr_seq
sched: schedule (processor_state Job)
H_jobs_come_from_arrival_sequence: jobs_come_from_arrival_sequence sched arr_seq
H_jobs_must_arrive_to_execute: jobs_must_arrive_to_execute sched
H_completed_jobs_dont_execute: completed_jobs_dont_execute sched
H3: JLFP_policy Job
H_priority_is_reflexive: reflexive_priorities
H_priority_is_transitive: transitive_priorities
tsk: Task
H_sequential_tasks: sequential_tasks arr_seq sched
H_JLFP_respects_sequential_tasks: policy_respects_sequential_tasks
j: Job
H_j_tsk: job_of_task tsk j
t: instant
j': Job
H_sched: scheduled_at sched j' t
AHEP: another_hep_job j' j
another_hep_job j' j
Task: TaskType
H: TaskCost Task
Job: JobType
H0: JobTask Job Task
H1: JobArrival Job
H2: JobCost Job
arr_seq: arrival_sequence Job
H_valid_arrival_sequence: valid_arrival_sequence arr_seq
sched: schedule (processor_state Job)
H_jobs_come_from_arrival_sequence: jobs_come_from_arrival_sequence sched arr_seq
H_jobs_must_arrive_to_execute: jobs_must_arrive_to_execute sched
H_completed_jobs_dont_execute: completed_jobs_dont_execute sched
H3: JLFP_policy Job
H_priority_is_reflexive: reflexive_priorities
H_priority_is_transitive: transitive_priorities
tsk: Task
H_sequential_tasks: sequential_tasks arr_seq sched
H_JLFP_respects_sequential_tasks: policy_respects_sequential_tasks
j: Job
H_j_tsk: job_of_task tsk j
t: instant
j': Job
H_sched: scheduled_at sched j' t
AHEP: another_hep_job j' j
receives_service_at sched j' t
Task: TaskType
H: TaskCost Task
Job: JobType
H0: JobTask Job Task
H1: JobArrival Job
H2: JobCost Job
arr_seq: arrival_sequence Job
H_valid_arrival_sequence: valid_arrival_sequence arr_seq
sched: schedule (processor_state Job)
H_jobs_come_from_arrival_sequence: jobs_come_from_arrival_sequence sched arr_seq
H_jobs_must_arrive_to_execute: jobs_must_arrive_to_execute sched
H_completed_jobs_dont_execute: completed_jobs_dont_execute sched
H3: JLFP_policy Job
H_priority_is_reflexive: reflexive_priorities
H_priority_is_transitive: transitive_priorities
tsk: Task
H_sequential_tasks: sequential_tasks arr_seq sched
H_JLFP_respects_sequential_tasks: policy_respects_sequential_tasks
j: Job
H_j_tsk: job_of_task tsk j
t: instant
j': Job
H_sched: scheduled_at sched j' t
AHEP: another_hep_job j' j

job_arrival j' < t.+1
Task: TaskType
H: TaskCost Task
Job: JobType
H0: JobTask Job Task
H1: JobArrival Job
H2: JobCost Job
arr_seq: arrival_sequence Job
H_valid_arrival_sequence: valid_arrival_sequence arr_seq
sched: schedule (processor_state Job)
H_jobs_come_from_arrival_sequence: jobs_come_from_arrival_sequence sched arr_seq
H_jobs_must_arrive_to_execute: jobs_must_arrive_to_execute sched
H_completed_jobs_dont_execute: completed_jobs_dont_execute sched
H3: JLFP_policy Job
H_priority_is_reflexive: reflexive_priorities
H_priority_is_transitive: transitive_priorities
tsk: Task
H_sequential_tasks: sequential_tasks arr_seq sched
H_JLFP_respects_sequential_tasks: policy_respects_sequential_tasks
j: Job
H_j_tsk: job_of_task tsk j
t: instant
j': Job
H_sched: scheduled_at sched j' t
AHEP: another_hep_job j' j
another_hep_job j' j
Task: TaskType
H: TaskCost Task
Job: JobType
H0: JobTask Job Task
H1: JobArrival Job
H2: JobCost Job
arr_seq: arrival_sequence Job
H_valid_arrival_sequence: valid_arrival_sequence arr_seq
sched: schedule (processor_state Job)
H_jobs_come_from_arrival_sequence: jobs_come_from_arrival_sequence sched arr_seq
H_jobs_must_arrive_to_execute: jobs_must_arrive_to_execute sched
H_completed_jobs_dont_execute: completed_jobs_dont_execute sched
H3: JLFP_policy Job
H_priority_is_reflexive: reflexive_priorities
H_priority_is_transitive: transitive_priorities
tsk: Task
H_sequential_tasks: sequential_tasks arr_seq sched
H_JLFP_respects_sequential_tasks: policy_respects_sequential_tasks
j: Job
H_j_tsk: job_of_task tsk j
t: instant
j': Job
H_sched: scheduled_at sched j' t
AHEP: another_hep_job j' j
receives_service_at sched j' t
Task: TaskType
H: TaskCost Task
Job: JobType
H0: JobTask Job Task
H1: JobArrival Job
H2: JobCost Job
arr_seq: arrival_sequence Job
H_valid_arrival_sequence: valid_arrival_sequence arr_seq
sched: schedule (processor_state Job)
H_jobs_come_from_arrival_sequence: jobs_come_from_arrival_sequence sched arr_seq
H_jobs_must_arrive_to_execute: jobs_must_arrive_to_execute sched
H_completed_jobs_dont_execute: completed_jobs_dont_execute sched
H3: JLFP_policy Job
H_priority_is_reflexive: reflexive_priorities
H_priority_is_transitive: transitive_priorities
tsk: Task
H_sequential_tasks: sequential_tasks arr_seq sched
H_JLFP_respects_sequential_tasks: policy_respects_sequential_tasks
j: Job
H_j_tsk: job_of_task tsk j
t: instant
j': Job
H_sched: scheduled_at sched j' t
AHEP: another_hep_job j' j

another_hep_job j' j
Task: TaskType
H: TaskCost Task
Job: JobType
H0: JobTask Job Task
H1: JobArrival Job
H2: JobCost Job
arr_seq: arrival_sequence Job
H_valid_arrival_sequence: valid_arrival_sequence arr_seq
sched: schedule (processor_state Job)
H_jobs_come_from_arrival_sequence: jobs_come_from_arrival_sequence sched arr_seq
H_jobs_must_arrive_to_execute: jobs_must_arrive_to_execute sched
H_completed_jobs_dont_execute: completed_jobs_dont_execute sched
H3: JLFP_policy Job
H_priority_is_reflexive: reflexive_priorities
H_priority_is_transitive: transitive_priorities
tsk: Task
H_sequential_tasks: sequential_tasks arr_seq sched
H_JLFP_respects_sequential_tasks: policy_respects_sequential_tasks
j: Job
H_j_tsk: job_of_task tsk j
t: instant
j': Job
H_sched: scheduled_at sched j' t
AHEP: another_hep_job j' j
receives_service_at sched j' t
Task: TaskType
H: TaskCost Task
Job: JobType
H0: JobTask Job Task
H1: JobArrival Job
H2: JobCost Job
arr_seq: arrival_sequence Job
H_valid_arrival_sequence: valid_arrival_sequence arr_seq
sched: schedule (processor_state Job)
H_jobs_come_from_arrival_sequence: jobs_come_from_arrival_sequence sched arr_seq
H_jobs_must_arrive_to_execute: jobs_must_arrive_to_execute sched
H_completed_jobs_dont_execute: completed_jobs_dont_execute sched
H3: JLFP_policy Job
H_priority_is_reflexive: reflexive_priorities
H_priority_is_transitive: transitive_priorities
tsk: Task
H_sequential_tasks: sequential_tasks arr_seq sched
H_JLFP_respects_sequential_tasks: policy_respects_sequential_tasks
j: Job
H_j_tsk: job_of_task tsk j
t: instant
j': Job
H_sched: scheduled_at sched j' t
AHEP: another_hep_job j' j

another_hep_job j' j
Task: TaskType
H: TaskCost Task
Job: JobType
H0: JobTask Job Task
H1: JobArrival Job
H2: JobCost Job
arr_seq: arrival_sequence Job
H_valid_arrival_sequence: valid_arrival_sequence arr_seq
sched: schedule (processor_state Job)
H_jobs_come_from_arrival_sequence: jobs_come_from_arrival_sequence sched arr_seq
H_jobs_must_arrive_to_execute: jobs_must_arrive_to_execute sched
H_completed_jobs_dont_execute: completed_jobs_dont_execute sched
H3: JLFP_policy Job
H_priority_is_reflexive: reflexive_priorities
H_priority_is_transitive: transitive_priorities
tsk: Task
H_sequential_tasks: sequential_tasks arr_seq sched
H_JLFP_respects_sequential_tasks: policy_respects_sequential_tasks
j: Job
H_j_tsk: job_of_task tsk j
t: instant
j': Job
H_sched: scheduled_at sched j' t
AHEP: another_hep_job j' j
receives_service_at sched j' t
Task: TaskType
H: TaskCost Task
Job: JobType
H0: JobTask Job Task
H1: JobArrival Job
H2: JobCost Job
arr_seq: arrival_sequence Job
H_valid_arrival_sequence: valid_arrival_sequence arr_seq
sched: schedule (processor_state Job)
H_jobs_come_from_arrival_sequence: jobs_come_from_arrival_sequence sched arr_seq
H_jobs_must_arrive_to_execute: jobs_must_arrive_to_execute sched
H_completed_jobs_dont_execute: completed_jobs_dont_execute sched
H3: JLFP_policy Job
H_priority_is_reflexive: reflexive_priorities
H_priority_is_transitive: transitive_priorities
tsk: Task
H_sequential_tasks: sequential_tasks arr_seq sched
H_JLFP_respects_sequential_tasks: policy_respects_sequential_tasks
j: Job
H_j_tsk: job_of_task tsk j
t: instant
j': Job
H_sched: scheduled_at sched j' t
AHEP: another_hep_job j' j

receives_service_at sched j' t
Task: TaskType
H: TaskCost Task
Job: JobType
H0: JobTask Job Task
H1: JobArrival Job
H2: JobCost Job
arr_seq: arrival_sequence Job
H_valid_arrival_sequence: valid_arrival_sequence arr_seq
sched: schedule (processor_state Job)
H_jobs_come_from_arrival_sequence: jobs_come_from_arrival_sequence sched arr_seq
H_jobs_must_arrive_to_execute: jobs_must_arrive_to_execute sched
H_completed_jobs_dont_execute: completed_jobs_dont_execute sched
H3: JLFP_policy Job
H_priority_is_reflexive: reflexive_priorities
H_priority_is_transitive: transitive_priorities
tsk: Task
H_sequential_tasks: sequential_tasks arr_seq sched
H_JLFP_respects_sequential_tasks: policy_respects_sequential_tasks
j: Job
H_j_tsk: job_of_task tsk j
t: instant
j': Job
H_sched: scheduled_at sched j' t
AHEP: another_hep_job j' j

receives_service_at sched j' t
by rewrite /receives_service_at service_at_is_scheduled_at H_sched. Qed. End SomeJobIsScheduled. (** Next, consider a case when [j] itself is scheduled at [t]. *) Section JIsScheduled. (** Assume that [j] is scheduled at time [t]. *) Hypothesis H_j_sched : scheduled_at sched j t. (** Then there is no interference from higher-or-equal priority jobs at time [t]. *)
Task: TaskType
H: TaskCost Task
Job: JobType
H0: JobTask Job Task
H1: JobArrival Job
H2: JobCost Job
arr_seq: arrival_sequence Job
H_valid_arrival_sequence: valid_arrival_sequence arr_seq
sched: schedule (processor_state Job)
H_jobs_come_from_arrival_sequence: jobs_come_from_arrival_sequence sched arr_seq
H_jobs_must_arrive_to_execute: jobs_must_arrive_to_execute sched
H_completed_jobs_dont_execute: completed_jobs_dont_execute sched
H3: JLFP_policy Job
H_priority_is_reflexive: reflexive_priorities
H_priority_is_transitive: transitive_priorities
tsk: Task
H_sequential_tasks: sequential_tasks arr_seq sched
H_JLFP_respects_sequential_tasks: policy_respects_sequential_tasks
j: Job
H_j_tsk: job_of_task tsk j
t: instant
H_j_sched: scheduled_at sched j t

~ another_hep_job_interference j t
Task: TaskType
H: TaskCost Task
Job: JobType
H0: JobTask Job Task
H1: JobArrival Job
H2: JobCost Job
arr_seq: arrival_sequence Job
H_valid_arrival_sequence: valid_arrival_sequence arr_seq
sched: schedule (processor_state Job)
H_jobs_come_from_arrival_sequence: jobs_come_from_arrival_sequence sched arr_seq
H_jobs_must_arrive_to_execute: jobs_must_arrive_to_execute sched
H_completed_jobs_dont_execute: completed_jobs_dont_execute sched
H3: JLFP_policy Job
H_priority_is_reflexive: reflexive_priorities
H_priority_is_transitive: transitive_priorities
tsk: Task
H_sequential_tasks: sequential_tasks arr_seq sched
H_JLFP_respects_sequential_tasks: policy_respects_sequential_tasks
j: Job
H_j_tsk: job_of_task tsk j
t: instant
H_j_sched: scheduled_at sched j t

~ another_hep_job_interference j t
Task: TaskType
H: TaskCost Task
Job: JobType
H0: JobTask Job Task
H1: JobArrival Job
H2: JobCost Job
arr_seq: arrival_sequence Job
H_valid_arrival_sequence: valid_arrival_sequence arr_seq
sched: schedule (processor_state Job)
H_jobs_come_from_arrival_sequence: jobs_come_from_arrival_sequence sched arr_seq
H_jobs_must_arrive_to_execute: jobs_must_arrive_to_execute sched
H_completed_jobs_dont_execute: completed_jobs_dont_execute sched
H3: JLFP_policy Job
H_priority_is_reflexive: reflexive_priorities
H_priority_is_transitive: transitive_priorities
tsk: Task
H_sequential_tasks: sequential_tasks arr_seq sched
H_JLFP_respects_sequential_tasks: policy_respects_sequential_tasks
j: Job
H_j_tsk: job_of_task tsk j
t: instant
H_j_sched: scheduled_at sched j t
jhp: Job
IN: jhp \in arrivals_up_to arr_seq t
AHEP: another_hep_job jhp j
PSERV: receives_service_at sched jhp t

False
Task: TaskType
H: TaskCost Task
Job: JobType
H0: JobTask Job Task
H1: JobArrival Job
H2: JobCost Job
arr_seq: arrival_sequence Job
H_valid_arrival_sequence: valid_arrival_sequence arr_seq
sched: schedule (processor_state Job)
H_jobs_come_from_arrival_sequence: jobs_come_from_arrival_sequence sched arr_seq
H_jobs_must_arrive_to_execute: jobs_must_arrive_to_execute sched
H_completed_jobs_dont_execute: completed_jobs_dont_execute sched
H3: JLFP_policy Job
H_priority_is_reflexive: reflexive_priorities
H_priority_is_transitive: transitive_priorities
tsk: Task
H_sequential_tasks: sequential_tasks arr_seq sched
H_JLFP_respects_sequential_tasks: policy_respects_sequential_tasks
j: Job
H_j_tsk: job_of_task tsk j
t: instant
H_j_sched: scheduled_at sched j t
jhp: Job
IN: jhp \in arrivals_up_to arr_seq t
AHEP: another_hep_job jhp j
PSERV: scheduled_at sched jhp t

False
Task: TaskType
H: TaskCost Task
Job: JobType
H0: JobTask Job Task
H1: JobArrival Job
H2: JobCost Job
arr_seq: arrival_sequence Job
H_valid_arrival_sequence: valid_arrival_sequence arr_seq
sched: schedule (processor_state Job)
H_jobs_come_from_arrival_sequence: jobs_come_from_arrival_sequence sched arr_seq
H_jobs_must_arrive_to_execute: jobs_must_arrive_to_execute sched
H_completed_jobs_dont_execute: completed_jobs_dont_execute sched
H3: JLFP_policy Job
H_priority_is_reflexive: reflexive_priorities
H_priority_is_transitive: transitive_priorities
tsk: Task
H_sequential_tasks: sequential_tasks arr_seq sched
H_JLFP_respects_sequential_tasks: policy_respects_sequential_tasks
j: Job
H_j_tsk: job_of_task tsk j
t: instant
H_j_sched, PSERV: scheduled_at sched j t
AHEP: another_hep_job j j
IN: j \in arrivals_up_to arr_seq t

False
by apply another_hep_job_antireflexive in AHEP. Qed. End JIsScheduled. (** In the next subsection, we consider a case when a job [j'] from the same task (as job [j]) is scheduled. *) Section FromSameTask. (** Consider a job [j'] that comes from task [tsk] and is scheduled at time instant [t]. *) Variable j' : Job. Hypothesis H_j'_tsk : job_of_task tsk j'. Hypothesis H_j'_sched : scheduled_at sched j' t. (** Then we show that interference from higher-or-equal priority jobs from another task is false. *)
Task: TaskType
H: TaskCost Task
Job: JobType
H0: JobTask Job Task
H1: JobArrival Job
H2: JobCost Job
arr_seq: arrival_sequence Job
H_valid_arrival_sequence: valid_arrival_sequence arr_seq
sched: schedule (processor_state Job)
H_jobs_come_from_arrival_sequence: jobs_come_from_arrival_sequence sched arr_seq
H_jobs_must_arrive_to_execute: jobs_must_arrive_to_execute sched
H_completed_jobs_dont_execute: completed_jobs_dont_execute sched
H3: JLFP_policy Job
H_priority_is_reflexive: reflexive_priorities
H_priority_is_transitive: transitive_priorities
tsk: Task
H_sequential_tasks: sequential_tasks arr_seq sched
H_JLFP_respects_sequential_tasks: policy_respects_sequential_tasks
j: Job
H_j_tsk: job_of_task tsk j
t: instant
j': Job
H_j'_tsk: job_of_task tsk j'
H_j'_sched: scheduled_at sched j' t

~ another_task_hep_job_interference j t
Task: TaskType
H: TaskCost Task
Job: JobType
H0: JobTask Job Task
H1: JobArrival Job
H2: JobCost Job
arr_seq: arrival_sequence Job
H_valid_arrival_sequence: valid_arrival_sequence arr_seq
sched: schedule (processor_state Job)
H_jobs_come_from_arrival_sequence: jobs_come_from_arrival_sequence sched arr_seq
H_jobs_must_arrive_to_execute: jobs_must_arrive_to_execute sched
H_completed_jobs_dont_execute: completed_jobs_dont_execute sched
H3: JLFP_policy Job
H_priority_is_reflexive: reflexive_priorities
H_priority_is_transitive: transitive_priorities
tsk: Task
H_sequential_tasks: sequential_tasks arr_seq sched
H_JLFP_respects_sequential_tasks: policy_respects_sequential_tasks
j: Job
H_j_tsk: job_of_task tsk j
t: instant
j': Job
H_j'_tsk: job_of_task tsk j'
H_j'_sched: scheduled_at sched j' t

~ another_task_hep_job_interference j t
Task: TaskType
H: TaskCost Task
Job: JobType
H0: JobTask Job Task
H1: JobArrival Job
H2: JobCost Job
arr_seq: arrival_sequence Job
H_valid_arrival_sequence: valid_arrival_sequence arr_seq
sched: schedule (processor_state Job)
H_jobs_come_from_arrival_sequence: jobs_come_from_arrival_sequence sched arr_seq
H_jobs_must_arrive_to_execute: jobs_must_arrive_to_execute sched
H_completed_jobs_dont_execute: completed_jobs_dont_execute sched
H3: JLFP_policy Job
H_priority_is_reflexive: reflexive_priorities
H_priority_is_transitive: transitive_priorities
tsk: Task
H_sequential_tasks: sequential_tasks arr_seq sched
H_JLFP_respects_sequential_tasks: policy_respects_sequential_tasks
j: Job
H_j_tsk: job_of_task tsk j
t: instant
j': Job
H_j'_tsk: job_of_task tsk j'
H_j'_sched: scheduled_at sched j' t
jhp: Job
IN: jhp \in arrivals_up_to arr_seq t
AHEP: another_task_hep_job jhp j
PSERV: receives_service_at sched jhp t

False
Task: TaskType
H: TaskCost Task
Job: JobType
H0: JobTask Job Task
H1: JobArrival Job
H2: JobCost Job
arr_seq: arrival_sequence Job
H_valid_arrival_sequence: valid_arrival_sequence arr_seq
sched: schedule (processor_state Job)
H_jobs_come_from_arrival_sequence: jobs_come_from_arrival_sequence sched arr_seq
H_jobs_must_arrive_to_execute: jobs_must_arrive_to_execute sched
H_completed_jobs_dont_execute: completed_jobs_dont_execute sched
H3: JLFP_policy Job
H_priority_is_reflexive: reflexive_priorities
H_priority_is_transitive: transitive_priorities
tsk: Task
H_sequential_tasks: sequential_tasks arr_seq sched
H_JLFP_respects_sequential_tasks: policy_respects_sequential_tasks
j: Job
H_j_tsk: job_of_task tsk j
t: instant
j': Job
H_j'_tsk: job_of_task tsk j'
H_j'_sched: scheduled_at sched j' t
jhp: Job
IN: jhp \in arrivals_up_to arr_seq t
AHEP: another_task_hep_job jhp j
PSERV: scheduled_at sched jhp t

False
Task: TaskType
H: TaskCost Task
Job: JobType
H0: JobTask Job Task
H1: JobArrival Job
H2: JobCost Job
arr_seq: arrival_sequence Job
H_valid_arrival_sequence: valid_arrival_sequence arr_seq
sched: schedule (processor_state Job)
H_jobs_come_from_arrival_sequence: jobs_come_from_arrival_sequence sched arr_seq
H_jobs_must_arrive_to_execute: jobs_must_arrive_to_execute sched
H_completed_jobs_dont_execute: completed_jobs_dont_execute sched
H3: JLFP_policy Job
H_priority_is_reflexive: reflexive_priorities
H_priority_is_transitive: transitive_priorities
tsk: Task
H_sequential_tasks: sequential_tasks arr_seq sched
H_JLFP_respects_sequential_tasks: policy_respects_sequential_tasks
j: Job
H_j_tsk: job_of_task tsk j
t: instant
j': Job
H_j'_tsk: job_of_task tsk j'
H_j'_sched, PSERV: scheduled_at sched j' t
AHEP: another_task_hep_job j' j
IN: j' \in arrivals_up_to arr_seq t

False
by eapply another_task_hep_job_taskwise_antireflexive in AHEP; rt_eauto. Qed. (** Similarly, there is no task interference, since in order to incur the task interference, a job from a distinct task must be scheduled. *)
Task: TaskType
H: TaskCost Task
Job: JobType
H0: JobTask Job Task
H1: JobArrival Job
H2: JobCost Job
arr_seq: arrival_sequence Job
H_valid_arrival_sequence: valid_arrival_sequence arr_seq
sched: schedule (processor_state Job)
H_jobs_come_from_arrival_sequence: jobs_come_from_arrival_sequence sched arr_seq
H_jobs_must_arrive_to_execute: jobs_must_arrive_to_execute sched
H_completed_jobs_dont_execute: completed_jobs_dont_execute sched
H3: JLFP_policy Job
H_priority_is_reflexive: reflexive_priorities
H_priority_is_transitive: transitive_priorities
tsk: Task
H_sequential_tasks: sequential_tasks arr_seq sched
H_JLFP_respects_sequential_tasks: policy_respects_sequential_tasks
j: Job
H_j_tsk: job_of_task tsk j
t: instant
j': Job
H_j'_tsk: job_of_task tsk j'
H_j'_sched: scheduled_at sched j' t

forall upper_bound : instant, ~ task_interference_received_before arr_seq sched tsk upper_bound t
Task: TaskType
H: TaskCost Task
Job: JobType
H0: JobTask Job Task
H1: JobArrival Job
H2: JobCost Job
arr_seq: arrival_sequence Job
H_valid_arrival_sequence: valid_arrival_sequence arr_seq
sched: schedule (processor_state Job)
H_jobs_come_from_arrival_sequence: jobs_come_from_arrival_sequence sched arr_seq
H_jobs_must_arrive_to_execute: jobs_must_arrive_to_execute sched
H_completed_jobs_dont_execute: completed_jobs_dont_execute sched
H3: JLFP_policy Job
H_priority_is_reflexive: reflexive_priorities
H_priority_is_transitive: transitive_priorities
tsk: Task
H_sequential_tasks: sequential_tasks arr_seq sched
H_JLFP_respects_sequential_tasks: policy_respects_sequential_tasks
j: Job
H_j_tsk: job_of_task tsk j
t: instant
j': Job
H_j'_tsk: job_of_task tsk j'
H_j'_sched: scheduled_at sched j' t

forall upper_bound : instant, ~ task_interference_received_before arr_seq sched tsk upper_bound t
Task: TaskType
H: TaskCost Task
Job: JobType
H0: JobTask Job Task
H1: JobArrival Job
H2: JobCost Job
arr_seq: arrival_sequence Job
H_valid_arrival_sequence: valid_arrival_sequence arr_seq
sched: schedule (processor_state Job)
H_jobs_come_from_arrival_sequence: jobs_come_from_arrival_sequence sched arr_seq
H_jobs_must_arrive_to_execute: jobs_must_arrive_to_execute sched
H_completed_jobs_dont_execute: completed_jobs_dont_execute sched
H3: JLFP_policy Job
H_priority_is_reflexive: reflexive_priorities
H_priority_is_transitive: transitive_priorities
tsk: Task
H_sequential_tasks: sequential_tasks arr_seq sched
H_JLFP_respects_sequential_tasks: policy_respects_sequential_tasks
j: Job
H_j_tsk: job_of_task tsk j
t: instant
j': Job
H_j'_tsk: job_of_task tsk j'
H_j'_sched: scheduled_at sched j' t
upp: instant
TNSCHED: ~ task_scheduled_at sched tsk t
j'': Job
INT: interference j'' t
ARR: j'' \in task_arrivals_before arr_seq tsk upp

False
Task: TaskType
H: TaskCost Task
Job: JobType
H0: JobTask Job Task
H1: JobArrival Job
H2: JobCost Job
arr_seq: arrival_sequence Job
H_valid_arrival_sequence: valid_arrival_sequence arr_seq
sched: schedule (processor_state Job)
H_jobs_come_from_arrival_sequence: jobs_come_from_arrival_sequence sched arr_seq
H_jobs_must_arrive_to_execute: jobs_must_arrive_to_execute sched
H_completed_jobs_dont_execute: completed_jobs_dont_execute sched
H3: JLFP_policy Job
H_priority_is_reflexive: reflexive_priorities
H_priority_is_transitive: transitive_priorities
tsk: Task
H_sequential_tasks: sequential_tasks arr_seq sched
H_JLFP_respects_sequential_tasks: policy_respects_sequential_tasks
j: Job
H_j_tsk: job_of_task tsk j
t: instant
j': Job
H_j'_tsk: job_of_task tsk j'
H_j'_sched: scheduled_at sched j' t
upp: instant
TNSCHED: ~ task_scheduled_at sched tsk t
j'': Job
INT: priority_inversion_dec arr_seq sched j'' t || another_hep_job_interference_dec j'' t
ARR: j'' \in task_arrivals_before arr_seq tsk upp

False
Task: TaskType
H: TaskCost Task
Job: JobType
H0: JobTask Job Task
H1: JobArrival Job
H2: JobCost Job
arr_seq: arrival_sequence Job
H_valid_arrival_sequence: valid_arrival_sequence arr_seq
sched: schedule (processor_state Job)
H_jobs_come_from_arrival_sequence: jobs_come_from_arrival_sequence sched arr_seq
H_jobs_must_arrive_to_execute: jobs_must_arrive_to_execute sched
H_completed_jobs_dont_execute: completed_jobs_dont_execute sched
H3: JLFP_policy Job
H_priority_is_reflexive: reflexive_priorities
H_priority_is_transitive: transitive_priorities
tsk: Task
H_sequential_tasks: sequential_tasks arr_seq sched
H_JLFP_respects_sequential_tasks: policy_respects_sequential_tasks
j: Job
H_j_tsk: job_of_task tsk j
t: instant
j': Job
H_j'_tsk: job_of_task tsk j'
H_j'_sched: scheduled_at sched j' t
upp: instant
j'': Job
INT: priority_inversion_dec arr_seq sched j'' t || another_hep_job_interference_dec j'' t
ARR: j'' \in task_arrivals_before arr_seq tsk upp

match sched t with | Some j => job_task j == tsk | None => false end
by move: (H_j'_sched); rewrite scheduled_at_def => /eqP->. Qed. End FromSameTask. (** In the next subsection, we consider a case when a job [j'] from a task other than [j]'s task is scheduled. *) Section FromDifferentTask. (** Consider a job [j'] that _does_ _not_ comes from task [tsk] and is scheduled at time instant [t]. *) Variable j' : Job. Hypothesis H_j'_not_tsk : ~~ job_of_task tsk j'. Hypothesis H_j'_sched : scheduled_at sched j' t. (** We prove that then [j] incurs higher-or-equal priority interference from another task iff [j'] has higher-or-equal priority than [j]. *)
Task: TaskType
H: TaskCost Task
Job: JobType
H0: JobTask Job Task
H1: JobArrival Job
H2: JobCost Job
arr_seq: arrival_sequence Job
H_valid_arrival_sequence: valid_arrival_sequence arr_seq
sched: schedule (processor_state Job)
H_jobs_come_from_arrival_sequence: jobs_come_from_arrival_sequence sched arr_seq
H_jobs_must_arrive_to_execute: jobs_must_arrive_to_execute sched
H_completed_jobs_dont_execute: completed_jobs_dont_execute sched
H3: JLFP_policy Job
H_priority_is_reflexive: reflexive_priorities
H_priority_is_transitive: transitive_priorities
tsk: Task
H_sequential_tasks: sequential_tasks arr_seq sched
H_JLFP_respects_sequential_tasks: policy_respects_sequential_tasks
j: Job
H_j_tsk: job_of_task tsk j
t: instant
j': Job
H_j'_not_tsk: ~~ job_of_task tsk j'
H_j'_sched: scheduled_at sched j' t

another_task_hep_job_interference j t <-> hep_job j' j
Task: TaskType
H: TaskCost Task
Job: JobType
H0: JobTask Job Task
H1: JobArrival Job
H2: JobCost Job
arr_seq: arrival_sequence Job
H_valid_arrival_sequence: valid_arrival_sequence arr_seq
sched: schedule (processor_state Job)
H_jobs_come_from_arrival_sequence: jobs_come_from_arrival_sequence sched arr_seq
H_jobs_must_arrive_to_execute: jobs_must_arrive_to_execute sched
H_completed_jobs_dont_execute: completed_jobs_dont_execute sched
H3: JLFP_policy Job
H_priority_is_reflexive: reflexive_priorities
H_priority_is_transitive: transitive_priorities
tsk: Task
H_sequential_tasks: sequential_tasks arr_seq sched
H_JLFP_respects_sequential_tasks: policy_respects_sequential_tasks
j: Job
H_j_tsk: job_of_task tsk j
t: instant
j': Job
H_j'_not_tsk: ~~ job_of_task tsk j'
H_j'_sched: scheduled_at sched j' t

another_task_hep_job_interference j t <-> hep_job j' j
Task: TaskType
H: TaskCost Task
Job: JobType
H0: JobTask Job Task
H1: JobArrival Job
H2: JobCost Job
arr_seq: arrival_sequence Job
H_valid_arrival_sequence: valid_arrival_sequence arr_seq
sched: schedule (processor_state Job)
H_jobs_come_from_arrival_sequence: jobs_come_from_arrival_sequence sched arr_seq
H_jobs_must_arrive_to_execute: jobs_must_arrive_to_execute sched
H_completed_jobs_dont_execute: completed_jobs_dont_execute sched
H3: JLFP_policy Job
H_priority_is_reflexive: reflexive_priorities
H_priority_is_transitive: transitive_priorities
tsk: Task
H_sequential_tasks: sequential_tasks arr_seq sched
H_JLFP_respects_sequential_tasks: policy_respects_sequential_tasks
j: Job
H_j_tsk: job_of_task tsk j
t: instant
j': Job
H_j'_not_tsk: ~~ job_of_task tsk j'
H_j'_sched: scheduled_at sched j' t
j'': Job
IN: j'' \in arrivals_up_to arr_seq t
AHEP: hep_job j'' j
FF: job_task j'' != job_task j
RSERV: receives_service_at sched j'' t

hep_job j' j
Task: TaskType
H: TaskCost Task
Job: JobType
H0: JobTask Job Task
H1: JobArrival Job
H2: JobCost Job
arr_seq: arrival_sequence Job
H_valid_arrival_sequence: valid_arrival_sequence arr_seq
sched: schedule (processor_state Job)
H_jobs_come_from_arrival_sequence: jobs_come_from_arrival_sequence sched arr_seq
H_jobs_must_arrive_to_execute: jobs_must_arrive_to_execute sched
H_completed_jobs_dont_execute: completed_jobs_dont_execute sched
H3: JLFP_policy Job
H_priority_is_reflexive: reflexive_priorities
H_priority_is_transitive: transitive_priorities
tsk: Task
H_sequential_tasks: sequential_tasks arr_seq sched
H_JLFP_respects_sequential_tasks: policy_respects_sequential_tasks
j: Job
H_j_tsk: job_of_task tsk j
t: instant
j': Job
H_j'_not_tsk: ~~ job_of_task tsk j'
H_j'_sched: scheduled_at sched j' t
HEP: hep_job j' j
another_task_hep_job_interference j t
Task: TaskType
H: TaskCost Task
Job: JobType
H0: JobTask Job Task
H1: JobArrival Job
H2: JobCost Job
arr_seq: arrival_sequence Job
H_valid_arrival_sequence: valid_arrival_sequence arr_seq
sched: schedule (processor_state Job)
H_jobs_come_from_arrival_sequence: jobs_come_from_arrival_sequence sched arr_seq
H_jobs_must_arrive_to_execute: jobs_must_arrive_to_execute sched
H_completed_jobs_dont_execute: completed_jobs_dont_execute sched
H3: JLFP_policy Job
H_priority_is_reflexive: reflexive_priorities
H_priority_is_transitive: transitive_priorities
tsk: Task
H_sequential_tasks: sequential_tasks arr_seq sched
H_JLFP_respects_sequential_tasks: policy_respects_sequential_tasks
j: Job
H_j_tsk: job_of_task tsk j
t: instant
j': Job
H_j'_not_tsk: ~~ job_of_task tsk j'
H_j'_sched: scheduled_at sched j' t
j'': Job
IN: j'' \in arrivals_up_to arr_seq t
AHEP: hep_job j'' j
FF: job_task j'' != job_task j
RSERV: receives_service_at sched j'' t

hep_job j' j
Task: TaskType
H: TaskCost Task
Job: JobType
H0: JobTask Job Task
H1: JobArrival Job
H2: JobCost Job
arr_seq: arrival_sequence Job
H_valid_arrival_sequence: valid_arrival_sequence arr_seq
sched: schedule (processor_state Job)
H_jobs_come_from_arrival_sequence: jobs_come_from_arrival_sequence sched arr_seq
H_jobs_must_arrive_to_execute: jobs_must_arrive_to_execute sched
H_completed_jobs_dont_execute: completed_jobs_dont_execute sched
H3: JLFP_policy Job
H_priority_is_reflexive: reflexive_priorities
H_priority_is_transitive: transitive_priorities
tsk: Task
H_sequential_tasks: sequential_tasks arr_seq sched
H_JLFP_respects_sequential_tasks: policy_respects_sequential_tasks
j: Job
H_j_tsk: job_of_task tsk j
t: instant
j': Job
H_j'_not_tsk: ~~ job_of_task tsk j'
H_j'_sched: scheduled_at sched j' t
HEP: hep_job j' j
another_task_hep_job_interference j t
Task: TaskType
H: TaskCost Task
Job: JobType
H0: JobTask Job Task
H1: JobArrival Job
H2: JobCost Job
arr_seq: arrival_sequence Job
H_valid_arrival_sequence: valid_arrival_sequence arr_seq
sched: schedule (processor_state Job)
H_jobs_come_from_arrival_sequence: jobs_come_from_arrival_sequence sched arr_seq
H_jobs_must_arrive_to_execute: jobs_must_arrive_to_execute sched
H_completed_jobs_dont_execute: completed_jobs_dont_execute sched
H3: JLFP_policy Job
H_priority_is_reflexive: reflexive_priorities
H_priority_is_transitive: transitive_priorities
tsk: Task
H_sequential_tasks: sequential_tasks arr_seq sched
H_JLFP_respects_sequential_tasks: policy_respects_sequential_tasks
j: Job
H_j_tsk: job_of_task tsk j
t: instant
j': Job
H_j'_not_tsk: ~~ job_of_task tsk j'
H_j'_sched: scheduled_at sched j' t
j'': Job
IN: j'' \in arrivals_up_to arr_seq t
AHEP: hep_job j'' j
FF: job_task j'' != job_task j
RSERV: scheduled_at sched j'' t

hep_job j' j
Task: TaskType
H: TaskCost Task
Job: JobType
H0: JobTask Job Task
H1: JobArrival Job
H2: JobCost Job
arr_seq: arrival_sequence Job
H_valid_arrival_sequence: valid_arrival_sequence arr_seq
sched: schedule (processor_state Job)
H_jobs_come_from_arrival_sequence: jobs_come_from_arrival_sequence sched arr_seq
H_jobs_must_arrive_to_execute: jobs_must_arrive_to_execute sched
H_completed_jobs_dont_execute: completed_jobs_dont_execute sched
H3: JLFP_policy Job
H_priority_is_reflexive: reflexive_priorities
H_priority_is_transitive: transitive_priorities
tsk: Task
H_sequential_tasks: sequential_tasks arr_seq sched
H_JLFP_respects_sequential_tasks: policy_respects_sequential_tasks
j: Job
H_j_tsk: job_of_task tsk j
t: instant
j': Job
H_j'_not_tsk: ~~ job_of_task tsk j'
H_j'_sched: scheduled_at sched j' t
HEP: hep_job j' j
another_task_hep_job_interference j t
Task: TaskType
H: TaskCost Task
Job: JobType
H0: JobTask Job Task
H1: JobArrival Job
H2: JobCost Job
arr_seq: arrival_sequence Job
H_valid_arrival_sequence: valid_arrival_sequence arr_seq
sched: schedule (processor_state Job)
H_jobs_come_from_arrival_sequence: jobs_come_from_arrival_sequence sched arr_seq
H_jobs_must_arrive_to_execute: jobs_must_arrive_to_execute sched
H_completed_jobs_dont_execute: completed_jobs_dont_execute sched
H3: JLFP_policy Job
H_priority_is_reflexive: reflexive_priorities
H_priority_is_transitive: transitive_priorities
tsk: Task
H_sequential_tasks: sequential_tasks arr_seq sched
H_JLFP_respects_sequential_tasks: policy_respects_sequential_tasks
j: Job
H_j_tsk: job_of_task tsk j
t: instant
j': Job
H_j'_not_tsk: ~~ job_of_task tsk j'
H_j'_sched: scheduled_at sched j' t
HEP: hep_job j' j

another_task_hep_job_interference j t
Task: TaskType
H: TaskCost Task
Job: JobType
H0: JobTask Job Task
H1: JobArrival Job
H2: JobCost Job
arr_seq: arrival_sequence Job
H_valid_arrival_sequence: valid_arrival_sequence arr_seq
sched: schedule (processor_state Job)
H_jobs_come_from_arrival_sequence: jobs_come_from_arrival_sequence sched arr_seq
H_jobs_must_arrive_to_execute: jobs_must_arrive_to_execute sched
H_completed_jobs_dont_execute: completed_jobs_dont_execute sched
H3: JLFP_policy Job
H_priority_is_reflexive: reflexive_priorities
H_priority_is_transitive: transitive_priorities
tsk: Task
H_sequential_tasks: sequential_tasks arr_seq sched
H_JLFP_respects_sequential_tasks: policy_respects_sequential_tasks
j: Job
H_j_tsk: job_of_task tsk j
t: instant
j': Job
H_j'_not_tsk: ~~ job_of_task tsk j'
H_j'_sched: scheduled_at sched j' t
HEP: hep_job j' j

another_task_hep_job_interference j t
Task: TaskType
H: TaskCost Task
Job: JobType
H0: JobTask Job Task
H1: JobArrival Job
H2: JobCost Job
arr_seq: arrival_sequence Job
H_valid_arrival_sequence: valid_arrival_sequence arr_seq
sched: schedule (processor_state Job)
H_jobs_come_from_arrival_sequence: jobs_come_from_arrival_sequence sched arr_seq
H_jobs_must_arrive_to_execute: jobs_must_arrive_to_execute sched
H_completed_jobs_dont_execute: completed_jobs_dont_execute sched
H3: JLFP_policy Job
H_priority_is_reflexive: reflexive_priorities
H_priority_is_transitive: transitive_priorities
tsk: Task
H_sequential_tasks: sequential_tasks arr_seq sched
H_JLFP_respects_sequential_tasks: policy_respects_sequential_tasks
j: Job
H_j_tsk: job_of_task tsk j
t: instant
j': Job
H_j'_not_tsk: ~~ job_of_task tsk j'
H_j'_sched: scheduled_at sched j' t
HEP: hep_job j' j

j' \in arrivals_up_to arr_seq t
Task: TaskType
H: TaskCost Task
Job: JobType
H0: JobTask Job Task
H1: JobArrival Job
H2: JobCost Job
arr_seq: arrival_sequence Job
H_valid_arrival_sequence: valid_arrival_sequence arr_seq
sched: schedule (processor_state Job)
H_jobs_come_from_arrival_sequence: jobs_come_from_arrival_sequence sched arr_seq
H_jobs_must_arrive_to_execute: jobs_must_arrive_to_execute sched
H_completed_jobs_dont_execute: completed_jobs_dont_execute sched
H3: JLFP_policy Job
H_priority_is_reflexive: reflexive_priorities
H_priority_is_transitive: transitive_priorities
tsk: Task
H_sequential_tasks: sequential_tasks arr_seq sched
H_JLFP_respects_sequential_tasks: policy_respects_sequential_tasks
j: Job
H_j_tsk: job_of_task tsk j
t: instant
j': Job
H_j'_not_tsk: ~~ job_of_task tsk j'
H_j'_sched: scheduled_at sched j' t
HEP: hep_job j' j
another_task_hep_job j' j
Task: TaskType
H: TaskCost Task
Job: JobType
H0: JobTask Job Task
H1: JobArrival Job
H2: JobCost Job
arr_seq: arrival_sequence Job
H_valid_arrival_sequence: valid_arrival_sequence arr_seq
sched: schedule (processor_state Job)
H_jobs_come_from_arrival_sequence: jobs_come_from_arrival_sequence sched arr_seq
H_jobs_must_arrive_to_execute: jobs_must_arrive_to_execute sched
H_completed_jobs_dont_execute: completed_jobs_dont_execute sched
H3: JLFP_policy Job
H_priority_is_reflexive: reflexive_priorities
H_priority_is_transitive: transitive_priorities
tsk: Task
H_sequential_tasks: sequential_tasks arr_seq sched
H_JLFP_respects_sequential_tasks: policy_respects_sequential_tasks
j: Job
H_j_tsk: job_of_task tsk j
t: instant
j': Job
H_j'_not_tsk: ~~ job_of_task tsk j'
H_j'_sched: scheduled_at sched j' t
HEP: hep_job j' j
receives_service_at sched j' t
Task: TaskType
H: TaskCost Task
Job: JobType
H0: JobTask Job Task
H1: JobArrival Job
H2: JobCost Job
arr_seq: arrival_sequence Job
H_valid_arrival_sequence: valid_arrival_sequence arr_seq
sched: schedule (processor_state Job)
H_jobs_come_from_arrival_sequence: jobs_come_from_arrival_sequence sched arr_seq
H_jobs_must_arrive_to_execute: jobs_must_arrive_to_execute sched
H_completed_jobs_dont_execute: completed_jobs_dont_execute sched
H3: JLFP_policy Job
H_priority_is_reflexive: reflexive_priorities
H_priority_is_transitive: transitive_priorities
tsk: Task
H_sequential_tasks: sequential_tasks arr_seq sched
H_JLFP_respects_sequential_tasks: policy_respects_sequential_tasks
j: Job
H_j_tsk: job_of_task tsk j
t: instant
j': Job
H_j'_not_tsk: ~~ job_of_task tsk j'
H_j'_sched: scheduled_at sched j' t
HEP: hep_job j' j

j' \in arrivals_up_to arr_seq t
Task: TaskType
H: TaskCost Task
Job: JobType
H0: JobTask Job Task
H1: JobArrival Job
H2: JobCost Job
arr_seq: arrival_sequence Job
H_valid_arrival_sequence: valid_arrival_sequence arr_seq
sched: schedule (processor_state Job)
H_jobs_come_from_arrival_sequence: jobs_come_from_arrival_sequence sched arr_seq
H_jobs_must_arrive_to_execute: jobs_must_arrive_to_execute sched
H_completed_jobs_dont_execute: completed_jobs_dont_execute sched
H3: JLFP_policy Job
H_priority_is_reflexive: reflexive_priorities
H_priority_is_transitive: transitive_priorities
tsk: Task
H_sequential_tasks: sequential_tasks arr_seq sched
H_JLFP_respects_sequential_tasks: policy_respects_sequential_tasks
j: Job
H_j_tsk: job_of_task tsk j
t: instant
j': Job
H_j'_not_tsk: ~~ job_of_task tsk j'
H_j'_sched: scheduled_at sched j' t
HEP: hep_job j' j
another_task_hep_job j' j
Task: TaskType
H: TaskCost Task
Job: JobType
H0: JobTask Job Task
H1: JobArrival Job
H2: JobCost Job
arr_seq: arrival_sequence Job
H_valid_arrival_sequence: valid_arrival_sequence arr_seq
sched: schedule (processor_state Job)
H_jobs_come_from_arrival_sequence: jobs_come_from_arrival_sequence sched arr_seq
H_jobs_must_arrive_to_execute: jobs_must_arrive_to_execute sched
H_completed_jobs_dont_execute: completed_jobs_dont_execute sched
H3: JLFP_policy Job
H_priority_is_reflexive: reflexive_priorities
H_priority_is_transitive: transitive_priorities
tsk: Task
H_sequential_tasks: sequential_tasks arr_seq sched
H_JLFP_respects_sequential_tasks: policy_respects_sequential_tasks
j: Job
H_j_tsk: job_of_task tsk j
t: instant
j': Job
H_j'_not_tsk: ~~ job_of_task tsk j'
H_j'_sched: scheduled_at sched j' t
HEP: hep_job j' j
receives_service_at sched j' t
Task: TaskType
H: TaskCost Task
Job: JobType
H0: JobTask Job Task
H1: JobArrival Job
H2: JobCost Job
arr_seq: arrival_sequence Job
H_valid_arrival_sequence: valid_arrival_sequence arr_seq
sched: schedule (processor_state Job)
H_jobs_come_from_arrival_sequence: jobs_come_from_arrival_sequence sched arr_seq
H_jobs_must_arrive_to_execute: jobs_must_arrive_to_execute sched
H_completed_jobs_dont_execute: completed_jobs_dont_execute sched
H3: JLFP_policy Job
H_priority_is_reflexive: reflexive_priorities
H_priority_is_transitive: transitive_priorities
tsk: Task
H_sequential_tasks: sequential_tasks arr_seq sched
H_JLFP_respects_sequential_tasks: policy_respects_sequential_tasks
j: Job
H_j_tsk: job_of_task tsk j
t: instant
j': Job
H_j'_not_tsk: ~~ job_of_task tsk j'
H_j'_sched: scheduled_at sched j' t
HEP: hep_job j' j

arrived_between j' 0 t.+1
Task: TaskType
H: TaskCost Task
Job: JobType
H0: JobTask Job Task
H1: JobArrival Job
H2: JobCost Job
arr_seq: arrival_sequence Job
H_valid_arrival_sequence: valid_arrival_sequence arr_seq
sched: schedule (processor_state Job)
H_jobs_come_from_arrival_sequence: jobs_come_from_arrival_sequence sched arr_seq
H_jobs_must_arrive_to_execute: jobs_must_arrive_to_execute sched
H_completed_jobs_dont_execute: completed_jobs_dont_execute sched
H3: JLFP_policy Job
H_priority_is_reflexive: reflexive_priorities
H_priority_is_transitive: transitive_priorities
tsk: Task
H_sequential_tasks: sequential_tasks arr_seq sched
H_JLFP_respects_sequential_tasks: policy_respects_sequential_tasks
j: Job
H_j_tsk: job_of_task tsk j
t: instant
j': Job
H_j'_not_tsk: ~~ job_of_task tsk j'
H_j'_sched: scheduled_at sched j' t
HEP: hep_job j' j
another_task_hep_job j' j
Task: TaskType
H: TaskCost Task
Job: JobType
H0: JobTask Job Task
H1: JobArrival Job
H2: JobCost Job
arr_seq: arrival_sequence Job
H_valid_arrival_sequence: valid_arrival_sequence arr_seq
sched: schedule (processor_state Job)
H_jobs_come_from_arrival_sequence: jobs_come_from_arrival_sequence sched arr_seq
H_jobs_must_arrive_to_execute: jobs_must_arrive_to_execute sched
H_completed_jobs_dont_execute: completed_jobs_dont_execute sched
H3: JLFP_policy Job
H_priority_is_reflexive: reflexive_priorities
H_priority_is_transitive: transitive_priorities
tsk: Task
H_sequential_tasks: sequential_tasks arr_seq sched
H_JLFP_respects_sequential_tasks: policy_respects_sequential_tasks
j: Job
H_j_tsk: job_of_task tsk j
t: instant
j': Job
H_j'_not_tsk: ~~ job_of_task tsk j'
H_j'_sched: scheduled_at sched j' t
HEP: hep_job j' j
receives_service_at sched j' t
Task: TaskType
H: TaskCost Task
Job: JobType
H0: JobTask Job Task
H1: JobArrival Job
H2: JobCost Job
arr_seq: arrival_sequence Job
H_valid_arrival_sequence: valid_arrival_sequence arr_seq
sched: schedule (processor_state Job)
H_jobs_come_from_arrival_sequence: jobs_come_from_arrival_sequence sched arr_seq
H_jobs_must_arrive_to_execute: jobs_must_arrive_to_execute sched
H_completed_jobs_dont_execute: completed_jobs_dont_execute sched
H3: JLFP_policy Job
H_priority_is_reflexive: reflexive_priorities
H_priority_is_transitive: transitive_priorities
tsk: Task
H_sequential_tasks: sequential_tasks arr_seq sched
H_JLFP_respects_sequential_tasks: policy_respects_sequential_tasks
j: Job
H_j_tsk: job_of_task tsk j
t: instant
j': Job
H_j'_not_tsk: ~~ job_of_task tsk j'
H_j'_sched: scheduled_at sched j' t
HEP: hep_job j' j

job_arrival j' < t.+1
Task: TaskType
H: TaskCost Task
Job: JobType
H0: JobTask Job Task
H1: JobArrival Job
H2: JobCost Job
arr_seq: arrival_sequence Job
H_valid_arrival_sequence: valid_arrival_sequence arr_seq
sched: schedule (processor_state Job)
H_jobs_come_from_arrival_sequence: jobs_come_from_arrival_sequence sched arr_seq
H_jobs_must_arrive_to_execute: jobs_must_arrive_to_execute sched
H_completed_jobs_dont_execute: completed_jobs_dont_execute sched
H3: JLFP_policy Job
H_priority_is_reflexive: reflexive_priorities
H_priority_is_transitive: transitive_priorities
tsk: Task
H_sequential_tasks: sequential_tasks arr_seq sched
H_JLFP_respects_sequential_tasks: policy_respects_sequential_tasks
j: Job
H_j_tsk: job_of_task tsk j
t: instant
j': Job
H_j'_not_tsk: ~~ job_of_task tsk j'
H_j'_sched: scheduled_at sched j' t
HEP: hep_job j' j
another_task_hep_job j' j
Task: TaskType
H: TaskCost Task
Job: JobType
H0: JobTask Job Task
H1: JobArrival Job
H2: JobCost Job
arr_seq: arrival_sequence Job
H_valid_arrival_sequence: valid_arrival_sequence arr_seq
sched: schedule (processor_state Job)
H_jobs_come_from_arrival_sequence: jobs_come_from_arrival_sequence sched arr_seq
H_jobs_must_arrive_to_execute: jobs_must_arrive_to_execute sched
H_completed_jobs_dont_execute: completed_jobs_dont_execute sched
H3: JLFP_policy Job
H_priority_is_reflexive: reflexive_priorities
H_priority_is_transitive: transitive_priorities
tsk: Task
H_sequential_tasks: sequential_tasks arr_seq sched
H_JLFP_respects_sequential_tasks: policy_respects_sequential_tasks
j: Job
H_j_tsk: job_of_task tsk j
t: instant
j': Job
H_j'_not_tsk: ~~ job_of_task tsk j'
H_j'_sched: scheduled_at sched j' t
HEP: hep_job j' j
receives_service_at sched j' t
Task: TaskType
H: TaskCost Task
Job: JobType
H0: JobTask Job Task
H1: JobArrival Job
H2: JobCost Job
arr_seq: arrival_sequence Job
H_valid_arrival_sequence: valid_arrival_sequence arr_seq
sched: schedule (processor_state Job)
H_jobs_come_from_arrival_sequence: jobs_come_from_arrival_sequence sched arr_seq
H_jobs_must_arrive_to_execute: jobs_must_arrive_to_execute sched
H_completed_jobs_dont_execute: completed_jobs_dont_execute sched
H3: JLFP_policy Job
H_priority_is_reflexive: reflexive_priorities
H_priority_is_transitive: transitive_priorities
tsk: Task
H_sequential_tasks: sequential_tasks arr_seq sched
H_JLFP_respects_sequential_tasks: policy_respects_sequential_tasks
j: Job
H_j_tsk: job_of_task tsk j
t: instant
j': Job
H_j'_not_tsk: ~~ job_of_task tsk j'
H_j'_sched: scheduled_at sched j' t
HEP: hep_job j' j

another_task_hep_job j' j
Task: TaskType
H: TaskCost Task
Job: JobType
H0: JobTask Job Task
H1: JobArrival Job
H2: JobCost Job
arr_seq: arrival_sequence Job
H_valid_arrival_sequence: valid_arrival_sequence arr_seq
sched: schedule (processor_state Job)
H_jobs_come_from_arrival_sequence: jobs_come_from_arrival_sequence sched arr_seq
H_jobs_must_arrive_to_execute: jobs_must_arrive_to_execute sched
H_completed_jobs_dont_execute: completed_jobs_dont_execute sched
H3: JLFP_policy Job
H_priority_is_reflexive: reflexive_priorities
H_priority_is_transitive: transitive_priorities
tsk: Task
H_sequential_tasks: sequential_tasks arr_seq sched
H_JLFP_respects_sequential_tasks: policy_respects_sequential_tasks
j: Job
H_j_tsk: job_of_task tsk j
t: instant
j': Job
H_j'_not_tsk: ~~ job_of_task tsk j'
H_j'_sched: scheduled_at sched j' t
HEP: hep_job j' j
receives_service_at sched j' t
Task: TaskType
H: TaskCost Task
Job: JobType
H0: JobTask Job Task
H1: JobArrival Job
H2: JobCost Job
arr_seq: arrival_sequence Job
H_valid_arrival_sequence: valid_arrival_sequence arr_seq
sched: schedule (processor_state Job)
H_jobs_come_from_arrival_sequence: jobs_come_from_arrival_sequence sched arr_seq
H_jobs_must_arrive_to_execute: jobs_must_arrive_to_execute sched
H_completed_jobs_dont_execute: completed_jobs_dont_execute sched
H3: JLFP_policy Job
H_priority_is_reflexive: reflexive_priorities
H_priority_is_transitive: transitive_priorities
tsk: Task
H_sequential_tasks: sequential_tasks arr_seq sched
H_JLFP_respects_sequential_tasks: policy_respects_sequential_tasks
j: Job
H_j_tsk: job_of_task tsk j
t: instant
j': Job
H_j'_not_tsk: ~~ job_of_task tsk j'
H_j'_sched: scheduled_at sched j' t
HEP: hep_job j' j

another_task_hep_job j' j
Task: TaskType
H: TaskCost Task
Job: JobType
H0: JobTask Job Task
H1: JobArrival Job
H2: JobCost Job
arr_seq: arrival_sequence Job
H_valid_arrival_sequence: valid_arrival_sequence arr_seq
sched: schedule (processor_state Job)
H_jobs_come_from_arrival_sequence: jobs_come_from_arrival_sequence sched arr_seq
H_jobs_must_arrive_to_execute: jobs_must_arrive_to_execute sched
H_completed_jobs_dont_execute: completed_jobs_dont_execute sched
H3: JLFP_policy Job
H_priority_is_reflexive: reflexive_priorities
H_priority_is_transitive: transitive_priorities
tsk: Task
H_sequential_tasks: sequential_tasks arr_seq sched
H_JLFP_respects_sequential_tasks: policy_respects_sequential_tasks
j: Job
H_j_tsk: job_of_task tsk j
t: instant
j': Job
H_j'_not_tsk: ~~ job_of_task tsk j'
H_j'_sched: scheduled_at sched j' t
HEP: hep_job j' j
receives_service_at sched j' t
Task: TaskType
H: TaskCost Task
Job: JobType
H0: JobTask Job Task
H1: JobArrival Job
H2: JobCost Job
arr_seq: arrival_sequence Job
H_valid_arrival_sequence: valid_arrival_sequence arr_seq
sched: schedule (processor_state Job)
H_jobs_come_from_arrival_sequence: jobs_come_from_arrival_sequence sched arr_seq
H_jobs_must_arrive_to_execute: jobs_must_arrive_to_execute sched
H_completed_jobs_dont_execute: completed_jobs_dont_execute sched
H3: JLFP_policy Job
H_priority_is_reflexive: reflexive_priorities
H_priority_is_transitive: transitive_priorities
tsk: Task
H_sequential_tasks: sequential_tasks arr_seq sched
H_JLFP_respects_sequential_tasks: policy_respects_sequential_tasks
j: Job
H_j_tsk: job_of_task tsk j
t: instant
j': Job
H_j'_not_tsk: ~~ job_of_task tsk j'
H_j'_sched: scheduled_at sched j' t
HEP: hep_job j' j

job_task j' != job_task j
Task: TaskType
H: TaskCost Task
Job: JobType
H0: JobTask Job Task
H1: JobArrival Job
H2: JobCost Job
arr_seq: arrival_sequence Job
H_valid_arrival_sequence: valid_arrival_sequence arr_seq
sched: schedule (processor_state Job)
H_jobs_come_from_arrival_sequence: jobs_come_from_arrival_sequence sched arr_seq
H_jobs_must_arrive_to_execute: jobs_must_arrive_to_execute sched
H_completed_jobs_dont_execute: completed_jobs_dont_execute sched
H3: JLFP_policy Job
H_priority_is_reflexive: reflexive_priorities
H_priority_is_transitive: transitive_priorities
tsk: Task
H_sequential_tasks: sequential_tasks arr_seq sched
H_JLFP_respects_sequential_tasks: policy_respects_sequential_tasks
j: Job
H_j_tsk: job_of_task tsk j
t: instant
j': Job
H_j'_not_tsk: ~~ job_of_task tsk j'
H_j'_sched: scheduled_at sched j' t
HEP: hep_job j' j
receives_service_at sched j' t
Task: TaskType
H: TaskCost Task
Job: JobType
H0: JobTask Job Task
H1: JobArrival Job
H2: JobCost Job
arr_seq: arrival_sequence Job
H_valid_arrival_sequence: valid_arrival_sequence arr_seq
sched: schedule (processor_state Job)
H_jobs_come_from_arrival_sequence: jobs_come_from_arrival_sequence sched arr_seq
H_jobs_must_arrive_to_execute: jobs_must_arrive_to_execute sched
H_completed_jobs_dont_execute: completed_jobs_dont_execute sched
H3: JLFP_policy Job
H_priority_is_reflexive: reflexive_priorities
H_priority_is_transitive: transitive_priorities
tsk: Task
H_sequential_tasks: sequential_tasks arr_seq sched
H_JLFP_respects_sequential_tasks: policy_respects_sequential_tasks
j: Job
H_j_tsk: job_of_task tsk j
t: instant
j': Job
H_j'_not_tsk: ~~ job_of_task tsk j'
H_j'_sched: scheduled_at sched j' t
HEP: hep_job j' j
EQ: job_task j' = job_task j

False
Task: TaskType
H: TaskCost Task
Job: JobType
H0: JobTask Job Task
H1: JobArrival Job
H2: JobCost Job
arr_seq: arrival_sequence Job
H_valid_arrival_sequence: valid_arrival_sequence arr_seq
sched: schedule (processor_state Job)
H_jobs_come_from_arrival_sequence: jobs_come_from_arrival_sequence sched arr_seq
H_jobs_must_arrive_to_execute: jobs_must_arrive_to_execute sched
H_completed_jobs_dont_execute: completed_jobs_dont_execute sched
H3: JLFP_policy Job
H_priority_is_reflexive: reflexive_priorities
H_priority_is_transitive: transitive_priorities
tsk: Task
H_sequential_tasks: sequential_tasks arr_seq sched
H_JLFP_respects_sequential_tasks: policy_respects_sequential_tasks
j: Job
H_j_tsk: job_of_task tsk j
t: instant
j': Job
H_j'_not_tsk: ~~ job_of_task tsk j'
H_j'_sched: scheduled_at sched j' t
HEP: hep_job j' j
receives_service_at sched j' t
Task: TaskType
H: TaskCost Task
Job: JobType
H0: JobTask Job Task
H1: JobArrival Job
H2: JobCost Job
arr_seq: arrival_sequence Job
H_valid_arrival_sequence: valid_arrival_sequence arr_seq
sched: schedule (processor_state Job)
H_jobs_come_from_arrival_sequence: jobs_come_from_arrival_sequence sched arr_seq
H_jobs_must_arrive_to_execute: jobs_must_arrive_to_execute sched
H_completed_jobs_dont_execute: completed_jobs_dont_execute sched
H3: JLFP_policy Job
H_priority_is_reflexive: reflexive_priorities
H_priority_is_transitive: transitive_priorities
tsk: Task
H_sequential_tasks: sequential_tasks arr_seq sched
H_JLFP_respects_sequential_tasks: policy_respects_sequential_tasks
j: Job
H_j_tsk: job_of_task tsk j
t: instant
j': Job
H_j'_not_tsk: ~~ job_of_task tsk j'
H_j'_sched: scheduled_at sched j' t
HEP: hep_job j' j

receives_service_at sched j' t
Task: TaskType
H: TaskCost Task
Job: JobType
H0: JobTask Job Task
H1: JobArrival Job
H2: JobCost Job
arr_seq: arrival_sequence Job
H_valid_arrival_sequence: valid_arrival_sequence arr_seq
sched: schedule (processor_state Job)
H_jobs_come_from_arrival_sequence: jobs_come_from_arrival_sequence sched arr_seq
H_jobs_must_arrive_to_execute: jobs_must_arrive_to_execute sched
H_completed_jobs_dont_execute: completed_jobs_dont_execute sched
H3: JLFP_policy Job
H_priority_is_reflexive: reflexive_priorities
H_priority_is_transitive: transitive_priorities
tsk: Task
H_sequential_tasks: sequential_tasks arr_seq sched
H_JLFP_respects_sequential_tasks: policy_respects_sequential_tasks
j: Job
H_j_tsk: job_of_task tsk j
t: instant
j': Job
H_j'_not_tsk: ~~ job_of_task tsk j'
H_j'_sched: scheduled_at sched j' t
HEP: hep_job j' j

receives_service_at sched j' t
by rewrite /receives_service_at service_at_is_scheduled_at H_j'_sched. Qed. (** Hence, if we assume that [j'] has higher-or-equal priority, ... *) Hypothesis H_j'_hep : hep_job j' j. (** ... we are able to show that [j] incurs higher-or-equal priority interference from another task. *)
Task: TaskType
H: TaskCost Task
Job: JobType
H0: JobTask Job Task
H1: JobArrival Job
H2: JobCost Job
arr_seq: arrival_sequence Job
H_valid_arrival_sequence: valid_arrival_sequence arr_seq
sched: schedule (processor_state Job)
H_jobs_come_from_arrival_sequence: jobs_come_from_arrival_sequence sched arr_seq
H_jobs_must_arrive_to_execute: jobs_must_arrive_to_execute sched
H_completed_jobs_dont_execute: completed_jobs_dont_execute sched
H3: JLFP_policy Job
H_priority_is_reflexive: reflexive_priorities
H_priority_is_transitive: transitive_priorities
tsk: Task
H_sequential_tasks: sequential_tasks arr_seq sched
H_JLFP_respects_sequential_tasks: policy_respects_sequential_tasks
j: Job
H_j_tsk: job_of_task tsk j
t: instant
j': Job
H_j'_not_tsk: ~~ job_of_task tsk j'
H_j'_sched: scheduled_at sched j' t
H_j'_hep: hep_job j' j

another_task_hep_job_interference j t
Task: TaskType
H: TaskCost Task
Job: JobType
H0: JobTask Job Task
H1: JobArrival Job
H2: JobCost Job
arr_seq: arrival_sequence Job
H_valid_arrival_sequence: valid_arrival_sequence arr_seq
sched: schedule (processor_state Job)
H_jobs_come_from_arrival_sequence: jobs_come_from_arrival_sequence sched arr_seq
H_jobs_must_arrive_to_execute: jobs_must_arrive_to_execute sched
H_completed_jobs_dont_execute: completed_jobs_dont_execute sched
H3: JLFP_policy Job
H_priority_is_reflexive: reflexive_priorities
H_priority_is_transitive: transitive_priorities
tsk: Task
H_sequential_tasks: sequential_tasks arr_seq sched
H_JLFP_respects_sequential_tasks: policy_respects_sequential_tasks
j: Job
H_j_tsk: job_of_task tsk j
t: instant
j': Job
H_j'_not_tsk: ~~ job_of_task tsk j'
H_j'_sched: scheduled_at sched j' t
H_j'_hep: hep_job j' j

another_task_hep_job_interference j t
by apply sched_at_implies_interference_athep_eq_hep. Qed. (** Moreover, in this case, task [tsk] also incurs interference. *)
Task: TaskType
H: TaskCost Task
Job: JobType
H0: JobTask Job Task
H1: JobArrival Job
H2: JobCost Job
arr_seq: arrival_sequence Job
H_valid_arrival_sequence: valid_arrival_sequence arr_seq
sched: schedule (processor_state Job)
H_jobs_come_from_arrival_sequence: jobs_come_from_arrival_sequence sched arr_seq
H_jobs_must_arrive_to_execute: jobs_must_arrive_to_execute sched
H_completed_jobs_dont_execute: completed_jobs_dont_execute sched
H3: JLFP_policy Job
H_priority_is_reflexive: reflexive_priorities
H_priority_is_transitive: transitive_priorities
tsk: Task
H_sequential_tasks: sequential_tasks arr_seq sched
H_JLFP_respects_sequential_tasks: policy_respects_sequential_tasks
j: Job
H_j_tsk: job_of_task tsk j
t: instant
j': Job
H_j'_not_tsk: ~~ job_of_task tsk j'
H_j'_sched: scheduled_at sched j' t
H_j'_hep: hep_job j' j

forall upper_bound : instant, j \in arrivals_between arr_seq 0 upper_bound -> task_interference_received_before arr_seq sched tsk upper_bound t
Task: TaskType
H: TaskCost Task
Job: JobType
H0: JobTask Job Task
H1: JobArrival Job
H2: JobCost Job
arr_seq: arrival_sequence Job
H_valid_arrival_sequence: valid_arrival_sequence arr_seq
sched: schedule (processor_state Job)
H_jobs_come_from_arrival_sequence: jobs_come_from_arrival_sequence sched arr_seq
H_jobs_must_arrive_to_execute: jobs_must_arrive_to_execute sched
H_completed_jobs_dont_execute: completed_jobs_dont_execute sched
H3: JLFP_policy Job
H_priority_is_reflexive: reflexive_priorities
H_priority_is_transitive: transitive_priorities
tsk: Task
H_sequential_tasks: sequential_tasks arr_seq sched
H_JLFP_respects_sequential_tasks: policy_respects_sequential_tasks
j: Job
H_j_tsk: job_of_task tsk j
t: instant
j': Job
H_j'_not_tsk: ~~ job_of_task tsk j'
H_j'_sched: scheduled_at sched j' t
H_j'_hep: hep_job j' j

forall upper_bound : instant, j \in arrivals_between arr_seq 0 upper_bound -> task_interference_received_before arr_seq sched tsk upper_bound t
Task: TaskType
H: TaskCost Task
Job: JobType
H0: JobTask Job Task
H1: JobArrival Job
H2: JobCost Job
arr_seq: arrival_sequence Job
H_valid_arrival_sequence: valid_arrival_sequence arr_seq
sched: schedule (processor_state Job)
H_jobs_come_from_arrival_sequence: jobs_come_from_arrival_sequence sched arr_seq
H_jobs_must_arrive_to_execute: jobs_must_arrive_to_execute sched
H_completed_jobs_dont_execute: completed_jobs_dont_execute sched
H3: JLFP_policy Job
H_priority_is_reflexive: reflexive_priorities
H_priority_is_transitive: transitive_priorities
tsk: Task
H_sequential_tasks: sequential_tasks arr_seq sched
H_JLFP_respects_sequential_tasks: policy_respects_sequential_tasks
j: Job
H_j_tsk: job_of_task tsk j
t: instant
j': Job
H_j'_not_tsk: ~~ job_of_task tsk j'
H_j'_sched: scheduled_at sched j' t
H_j'_hep: hep_job j' j
upp: instant
IN: j \in arrivals_between arr_seq 0 upp

task_interference_received_before arr_seq sched tsk upp t
Task: TaskType
H: TaskCost Task
Job: JobType
H0: JobTask Job Task
H1: JobArrival Job
H2: JobCost Job
arr_seq: arrival_sequence Job
H_valid_arrival_sequence: valid_arrival_sequence arr_seq
sched: schedule (processor_state Job)
H_jobs_come_from_arrival_sequence: jobs_come_from_arrival_sequence sched arr_seq
H_jobs_must_arrive_to_execute: jobs_must_arrive_to_execute sched
H_completed_jobs_dont_execute: completed_jobs_dont_execute sched
H3: JLFP_policy Job
H_priority_is_reflexive: reflexive_priorities
H_priority_is_transitive: transitive_priorities
tsk: Task
H_sequential_tasks: sequential_tasks arr_seq sched
H_JLFP_respects_sequential_tasks: policy_respects_sequential_tasks
j: Job
H_j_tsk: job_of_task tsk j
t: instant
j': Job
H_j'_not_tsk: ~~ job_of_task tsk j'
H_j'_sched: scheduled_at sched j' t
H_j'_hep: hep_job j' j
upp: instant
IN: j \in arrivals_between arr_seq 0 upp

~ task_scheduled_at sched tsk t
Task: TaskType
H: TaskCost Task
Job: JobType
H0: JobTask Job Task
H1: JobArrival Job
H2: JobCost Job
arr_seq: arrival_sequence Job
H_valid_arrival_sequence: valid_arrival_sequence arr_seq
sched: schedule (processor_state Job)
H_jobs_come_from_arrival_sequence: jobs_come_from_arrival_sequence sched arr_seq
H_jobs_must_arrive_to_execute: jobs_must_arrive_to_execute sched
H_completed_jobs_dont_execute: completed_jobs_dont_execute sched
H3: JLFP_policy Job
H_priority_is_reflexive: reflexive_priorities
H_priority_is_transitive: transitive_priorities
tsk: Task
H_sequential_tasks: sequential_tasks arr_seq sched
H_JLFP_respects_sequential_tasks: policy_respects_sequential_tasks
j: Job
H_j_tsk: job_of_task tsk j
t: instant
j': Job
H_j'_not_tsk: ~~ job_of_task tsk j'
H_j'_sched: scheduled_at sched j' t
H_j'_hep: hep_job j' j
upp: instant
IN: j \in arrivals_between arr_seq 0 upp
exists j : Job, interference j t /\ j \in task_arrivals_before arr_seq tsk upp
Task: TaskType
H: TaskCost Task
Job: JobType
H0: JobTask Job Task
H1: JobArrival Job
H2: JobCost Job
arr_seq: arrival_sequence Job
H_valid_arrival_sequence: valid_arrival_sequence arr_seq
sched: schedule (processor_state Job)
H_jobs_come_from_arrival_sequence: jobs_come_from_arrival_sequence sched arr_seq
H_jobs_must_arrive_to_execute: jobs_must_arrive_to_execute sched
H_completed_jobs_dont_execute: completed_jobs_dont_execute sched
H3: JLFP_policy Job
H_priority_is_reflexive: reflexive_priorities
H_priority_is_transitive: transitive_priorities
tsk: Task
H_sequential_tasks: sequential_tasks arr_seq sched
H_JLFP_respects_sequential_tasks: policy_respects_sequential_tasks
j: Job
H_j_tsk: job_of_task tsk j
t: instant
j': Job
H_j'_not_tsk: ~~ job_of_task tsk j'
H_j'_sched: scheduled_at sched j' t
H_j'_hep: hep_job j' j
upp: instant
IN: j \in arrivals_between arr_seq 0 upp

~ task_scheduled_at sched tsk t
Task: TaskType
H: TaskCost Task
Job: JobType
H0: JobTask Job Task
H1: JobArrival Job
H2: JobCost Job
arr_seq: arrival_sequence Job
H_valid_arrival_sequence: valid_arrival_sequence arr_seq
sched: schedule (processor_state Job)
H_jobs_come_from_arrival_sequence: jobs_come_from_arrival_sequence sched arr_seq
H_jobs_must_arrive_to_execute: jobs_must_arrive_to_execute sched
H_completed_jobs_dont_execute: completed_jobs_dont_execute sched
H3: JLFP_policy Job
H_priority_is_reflexive: reflexive_priorities
H_priority_is_transitive: transitive_priorities
tsk: Task
H_sequential_tasks: sequential_tasks arr_seq sched
H_JLFP_respects_sequential_tasks: policy_respects_sequential_tasks
j: Job
H_j_tsk: job_of_task tsk j
t: instant
j': Job
H_j'_not_tsk: ~~ job_of_task tsk j'
H_j'_sched: scheduled_at sched j' t
H_j'_hep: hep_job j' j
upp: instant
IN: j \in arrivals_between arr_seq 0 upp
exists j : Job, interference j t /\ j \in task_arrivals_before arr_seq tsk upp
Task: TaskType
H: TaskCost Task
Job: JobType
H0: JobTask Job Task
H1: JobArrival Job
H2: JobCost Job
arr_seq: arrival_sequence Job
H_valid_arrival_sequence: valid_arrival_sequence arr_seq
sched: schedule (processor_state Job)
H_jobs_come_from_arrival_sequence: jobs_come_from_arrival_sequence sched arr_seq
H_jobs_must_arrive_to_execute: jobs_must_arrive_to_execute sched
H_completed_jobs_dont_execute: completed_jobs_dont_execute sched
H3: JLFP_policy Job
H_priority_is_reflexive: reflexive_priorities
H_priority_is_transitive: transitive_priorities
tsk: Task
H_sequential_tasks: sequential_tasks arr_seq sched
H_JLFP_respects_sequential_tasks: policy_respects_sequential_tasks
j: Job
H_j_tsk: job_of_task tsk j
t: instant
j': Job
H_j'_not_tsk: ~~ job_of_task tsk j'
H_j'_sched: scheduled_at sched j' t
H_j'_hep: hep_job j' j
upp: instant
IN: j \in arrivals_between arr_seq 0 upp

exists j : Job, interference j t /\ j \in task_arrivals_before arr_seq tsk upp
Task: TaskType
H: TaskCost Task
Job: JobType
H0: JobTask Job Task
H1: JobArrival Job
H2: JobCost Job
arr_seq: arrival_sequence Job
H_valid_arrival_sequence: valid_arrival_sequence arr_seq
sched: schedule (processor_state Job)
H_jobs_come_from_arrival_sequence: jobs_come_from_arrival_sequence sched arr_seq
H_jobs_must_arrive_to_execute: jobs_must_arrive_to_execute sched
H_completed_jobs_dont_execute: completed_jobs_dont_execute sched
H3: JLFP_policy Job
H_priority_is_reflexive: reflexive_priorities
H_priority_is_transitive: transitive_priorities
tsk: Task
H_sequential_tasks: sequential_tasks arr_seq sched
H_JLFP_respects_sequential_tasks: policy_respects_sequential_tasks
j: Job
H_j_tsk: job_of_task tsk j
t: instant
j': Job
H_j'_not_tsk: ~~ job_of_task tsk j'
H_j'_sched: scheduled_at sched j' t
H_j'_hep: hep_job j' j
upp: instant
IN: j \in arrivals_between arr_seq 0 upp

exists j : Job, interference j t /\ j \in task_arrivals_before arr_seq tsk upp
Task: TaskType
H: TaskCost Task
Job: JobType
H0: JobTask Job Task
H1: JobArrival Job
H2: JobCost Job
arr_seq: arrival_sequence Job
H_valid_arrival_sequence: valid_arrival_sequence arr_seq
sched: schedule (processor_state Job)
H_jobs_come_from_arrival_sequence: jobs_come_from_arrival_sequence sched arr_seq
H_jobs_must_arrive_to_execute: jobs_must_arrive_to_execute sched
H_completed_jobs_dont_execute: completed_jobs_dont_execute sched
H3: JLFP_policy Job
H_priority_is_reflexive: reflexive_priorities
H_priority_is_transitive: transitive_priorities
tsk: Task
H_sequential_tasks: sequential_tasks arr_seq sched
H_JLFP_respects_sequential_tasks: policy_respects_sequential_tasks
j: Job
H_j_tsk: job_of_task tsk j
t: instant
j': Job
H_j'_not_tsk: ~~ job_of_task tsk j'
H_j'_sched: scheduled_at sched j' t
H_j'_hep: hep_job j' j
upp: instant
IN: j \in arrivals_between arr_seq 0 upp

interference j t
Task: TaskType
H: TaskCost Task
Job: JobType
H0: JobTask Job Task
H1: JobArrival Job
H2: JobCost Job
arr_seq: arrival_sequence Job
H_valid_arrival_sequence: valid_arrival_sequence arr_seq
sched: schedule (processor_state Job)
H_jobs_come_from_arrival_sequence: jobs_come_from_arrival_sequence sched arr_seq
H_jobs_must_arrive_to_execute: jobs_must_arrive_to_execute sched
H_completed_jobs_dont_execute: completed_jobs_dont_execute sched
H3: JLFP_policy Job
H_priority_is_reflexive: reflexive_priorities
H_priority_is_transitive: transitive_priorities
tsk: Task
H_sequential_tasks: sequential_tasks arr_seq sched
H_JLFP_respects_sequential_tasks: policy_respects_sequential_tasks
j: Job
H_j_tsk: job_of_task tsk j
t: instant
j': Job
H_j'_not_tsk: ~~ job_of_task tsk j'
H_j'_sched: scheduled_at sched j' t
H_j'_hep: hep_job j' j
upp: instant
IN: j \in arrivals_between arr_seq 0 upp
j \in task_arrivals_before arr_seq tsk upp
Task: TaskType
H: TaskCost Task
Job: JobType
H0: JobTask Job Task
H1: JobArrival Job
H2: JobCost Job
arr_seq: arrival_sequence Job
H_valid_arrival_sequence: valid_arrival_sequence arr_seq
sched: schedule (processor_state Job)
H_jobs_come_from_arrival_sequence: jobs_come_from_arrival_sequence sched arr_seq
H_jobs_must_arrive_to_execute: jobs_must_arrive_to_execute sched
H_completed_jobs_dont_execute: completed_jobs_dont_execute sched
H3: JLFP_policy Job
H_priority_is_reflexive: reflexive_priorities
H_priority_is_transitive: transitive_priorities
tsk: Task
H_sequential_tasks: sequential_tasks arr_seq sched
H_JLFP_respects_sequential_tasks: policy_respects_sequential_tasks
j: Job
H_j_tsk: job_of_task tsk j
t: instant
j': Job
H_j'_not_tsk: ~~ job_of_task tsk j'
H_j'_sched: scheduled_at sched j' t
H_j'_hep: hep_job j' j
upp: instant
IN: j \in arrivals_between arr_seq 0 upp

interference j t
Task: TaskType
H: TaskCost Task
Job: JobType
H0: JobTask Job Task
H1: JobArrival Job
H2: JobCost Job
arr_seq: arrival_sequence Job
H_valid_arrival_sequence: valid_arrival_sequence arr_seq
sched: schedule (processor_state Job)
H_jobs_come_from_arrival_sequence: jobs_come_from_arrival_sequence sched arr_seq
H_jobs_must_arrive_to_execute: jobs_must_arrive_to_execute sched
H_completed_jobs_dont_execute: completed_jobs_dont_execute sched
H3: JLFP_policy Job
H_priority_is_reflexive: reflexive_priorities
H_priority_is_transitive: transitive_priorities
tsk: Task
H_sequential_tasks: sequential_tasks arr_seq sched
H_JLFP_respects_sequential_tasks: policy_respects_sequential_tasks
j: Job
H_j_tsk: job_of_task tsk j
t: instant
j': Job
H_j'_not_tsk: ~~ job_of_task tsk j'
H_j'_sched: scheduled_at sched j' t
H_j'_hep: hep_job j' j
upp: instant
IN: j \in arrivals_between arr_seq 0 upp
j \in task_arrivals_before arr_seq tsk upp
Task: TaskType
H: TaskCost Task
Job: JobType
H0: JobTask Job Task
H1: JobArrival Job
H2: JobCost Job
arr_seq: arrival_sequence Job
H_valid_arrival_sequence: valid_arrival_sequence arr_seq
sched: schedule (processor_state Job)
H_jobs_come_from_arrival_sequence: jobs_come_from_arrival_sequence sched arr_seq
H_jobs_must_arrive_to_execute: jobs_must_arrive_to_execute sched
H_completed_jobs_dont_execute: completed_jobs_dont_execute sched
H3: JLFP_policy Job
H_priority_is_reflexive: reflexive_priorities
H_priority_is_transitive: transitive_priorities
tsk: Task
H_sequential_tasks: sequential_tasks arr_seq sched
H_JLFP_respects_sequential_tasks: policy_respects_sequential_tasks
j: Job
H_j_tsk: job_of_task tsk j
t: instant
j': Job
H_j'_not_tsk: ~~ job_of_task tsk j'
H_j'_sched: scheduled_at sched j' t
H_j'_hep: hep_job j' j
upp: instant
IN: j \in arrivals_between arr_seq 0 upp

another_hep_job_interference_dec j t
Task: TaskType
H: TaskCost Task
Job: JobType
H0: JobTask Job Task
H1: JobArrival Job
H2: JobCost Job
arr_seq: arrival_sequence Job
H_valid_arrival_sequence: valid_arrival_sequence arr_seq
sched: schedule (processor_state Job)
H_jobs_come_from_arrival_sequence: jobs_come_from_arrival_sequence sched arr_seq
H_jobs_must_arrive_to_execute: jobs_must_arrive_to_execute sched
H_completed_jobs_dont_execute: completed_jobs_dont_execute sched
H3: JLFP_policy Job
H_priority_is_reflexive: reflexive_priorities
H_priority_is_transitive: transitive_priorities
tsk: Task
H_sequential_tasks: sequential_tasks arr_seq sched
H_JLFP_respects_sequential_tasks: policy_respects_sequential_tasks
j: Job
H_j_tsk: job_of_task tsk j
t: instant
j': Job
H_j'_not_tsk: ~~ job_of_task tsk j'
H_j'_sched: scheduled_at sched j' t
H_j'_hep: hep_job j' j
upp: instant
IN: j \in arrivals_between arr_seq 0 upp
j \in task_arrivals_before arr_seq tsk upp
Task: TaskType
H: TaskCost Task
Job: JobType
H0: JobTask Job Task
H1: JobArrival Job
H2: JobCost Job
arr_seq: arrival_sequence Job
H_valid_arrival_sequence: valid_arrival_sequence arr_seq
sched: schedule (processor_state Job)
H_jobs_come_from_arrival_sequence: jobs_come_from_arrival_sequence sched arr_seq
H_jobs_must_arrive_to_execute: jobs_must_arrive_to_execute sched
H_completed_jobs_dont_execute: completed_jobs_dont_execute sched
H3: JLFP_policy Job
H_priority_is_reflexive: reflexive_priorities
H_priority_is_transitive: transitive_priorities
tsk: Task
H_sequential_tasks: sequential_tasks arr_seq sched
H_JLFP_respects_sequential_tasks: policy_respects_sequential_tasks
j: Job
H_j_tsk: job_of_task tsk j
t: instant
j': Job
H_j'_not_tsk: ~~ job_of_task tsk j'
H_j'_sched: scheduled_at sched j' t
H_j'_hep: hep_job j' j
upp: instant
IN: j \in arrivals_between arr_seq 0 upp

j' \in arrivals_up_to arr_seq t
Task: TaskType
H: TaskCost Task
Job: JobType
H0: JobTask Job Task
H1: JobArrival Job
H2: JobCost Job
arr_seq: arrival_sequence Job
H_valid_arrival_sequence: valid_arrival_sequence arr_seq
sched: schedule (processor_state Job)
H_jobs_come_from_arrival_sequence: jobs_come_from_arrival_sequence sched arr_seq
H_jobs_must_arrive_to_execute: jobs_must_arrive_to_execute sched
H_completed_jobs_dont_execute: completed_jobs_dont_execute sched
H3: JLFP_policy Job
H_priority_is_reflexive: reflexive_priorities
H_priority_is_transitive: transitive_priorities
tsk: Task
H_sequential_tasks: sequential_tasks arr_seq sched
H_JLFP_respects_sequential_tasks: policy_respects_sequential_tasks
j: Job
H_j_tsk: job_of_task tsk j
t: instant
j': Job
H_j'_not_tsk: ~~ job_of_task tsk j'
H_j'_sched: scheduled_at sched j' t
H_j'_hep: hep_job j' j
upp: instant
IN: j \in arrivals_between arr_seq 0 upp
another_hep_job j' j
Task: TaskType
H: TaskCost Task
Job: JobType
H0: JobTask Job Task
H1: JobArrival Job
H2: JobCost Job
arr_seq: arrival_sequence Job
H_valid_arrival_sequence: valid_arrival_sequence arr_seq
sched: schedule (processor_state Job)
H_jobs_come_from_arrival_sequence: jobs_come_from_arrival_sequence sched arr_seq
H_jobs_must_arrive_to_execute: jobs_must_arrive_to_execute sched
H_completed_jobs_dont_execute: completed_jobs_dont_execute sched
H3: JLFP_policy Job
H_priority_is_reflexive: reflexive_priorities
H_priority_is_transitive: transitive_priorities
tsk: Task
H_sequential_tasks: sequential_tasks arr_seq sched
H_JLFP_respects_sequential_tasks: policy_respects_sequential_tasks
j: Job
H_j_tsk: job_of_task tsk j
t: instant
j': Job
H_j'_not_tsk: ~~ job_of_task tsk j'
H_j'_sched: scheduled_at sched j' t
H_j'_hep: hep_job j' j
upp: instant
IN: j \in arrivals_between arr_seq 0 upp
receives_service_at sched j' t
Task: TaskType
H: TaskCost Task
Job: JobType
H0: JobTask Job Task
H1: JobArrival Job
H2: JobCost Job
arr_seq: arrival_sequence Job
H_valid_arrival_sequence: valid_arrival_sequence arr_seq
sched: schedule (processor_state Job)
H_jobs_come_from_arrival_sequence: jobs_come_from_arrival_sequence sched arr_seq
H_jobs_must_arrive_to_execute: jobs_must_arrive_to_execute sched
H_completed_jobs_dont_execute: completed_jobs_dont_execute sched
H3: JLFP_policy Job
H_priority_is_reflexive: reflexive_priorities
H_priority_is_transitive: transitive_priorities
tsk: Task
H_sequential_tasks: sequential_tasks arr_seq sched
H_JLFP_respects_sequential_tasks: policy_respects_sequential_tasks
j: Job
H_j_tsk: job_of_task tsk j
t: instant
j': Job
H_j'_not_tsk: ~~ job_of_task tsk j'
H_j'_sched: scheduled_at sched j' t
H_j'_hep: hep_job j' j
upp: instant
IN: j \in arrivals_between arr_seq 0 upp
j \in task_arrivals_before arr_seq tsk upp
Task: TaskType
H: TaskCost Task
Job: JobType
H0: JobTask Job Task
H1: JobArrival Job
H2: JobCost Job
arr_seq: arrival_sequence Job
H_valid_arrival_sequence: valid_arrival_sequence arr_seq
sched: schedule (processor_state Job)
H_jobs_come_from_arrival_sequence: jobs_come_from_arrival_sequence sched arr_seq
H_jobs_must_arrive_to_execute: jobs_must_arrive_to_execute sched
H_completed_jobs_dont_execute: completed_jobs_dont_execute sched
H3: JLFP_policy Job
H_priority_is_reflexive: reflexive_priorities
H_priority_is_transitive: transitive_priorities
tsk: Task
H_sequential_tasks: sequential_tasks arr_seq sched
H_JLFP_respects_sequential_tasks: policy_respects_sequential_tasks
j: Job
H_j_tsk: job_of_task tsk j
t: instant
j': Job
H_j'_not_tsk: ~~ job_of_task tsk j'
H_j'_sched: scheduled_at sched j' t
H_j'_hep: hep_job j' j
upp: instant
IN: j \in arrivals_between arr_seq 0 upp

j' \in arrivals_up_to arr_seq t
Task: TaskType
H: TaskCost Task
Job: JobType
H0: JobTask Job Task
H1: JobArrival Job
H2: JobCost Job
arr_seq: arrival_sequence Job
H_valid_arrival_sequence: valid_arrival_sequence arr_seq
sched: schedule (processor_state Job)
H_jobs_come_from_arrival_sequence: jobs_come_from_arrival_sequence sched arr_seq
H_jobs_must_arrive_to_execute: jobs_must_arrive_to_execute sched
H_completed_jobs_dont_execute: completed_jobs_dont_execute sched
H3: JLFP_policy Job
H_priority_is_reflexive: reflexive_priorities
H_priority_is_transitive: transitive_priorities
tsk: Task
H_sequential_tasks: sequential_tasks arr_seq sched
H_JLFP_respects_sequential_tasks: policy_respects_sequential_tasks
j: Job
H_j_tsk: job_of_task tsk j
t: instant
j': Job
H_j'_not_tsk: ~~ job_of_task tsk j'
H_j'_sched: scheduled_at sched j' t
H_j'_hep: hep_job j' j
upp: instant
IN: j \in arrivals_between arr_seq 0 upp
another_hep_job j' j
Task: TaskType
H: TaskCost Task
Job: JobType
H0: JobTask Job Task
H1: JobArrival Job
H2: JobCost Job
arr_seq: arrival_sequence Job
H_valid_arrival_sequence: valid_arrival_sequence arr_seq
sched: schedule (processor_state Job)
H_jobs_come_from_arrival_sequence: jobs_come_from_arrival_sequence sched arr_seq
H_jobs_must_arrive_to_execute: jobs_must_arrive_to_execute sched
H_completed_jobs_dont_execute: completed_jobs_dont_execute sched
H3: JLFP_policy Job
H_priority_is_reflexive: reflexive_priorities
H_priority_is_transitive: transitive_priorities
tsk: Task
H_sequential_tasks: sequential_tasks arr_seq sched
H_JLFP_respects_sequential_tasks: policy_respects_sequential_tasks
j: Job
H_j_tsk: job_of_task tsk j
t: instant
j': Job
H_j'_not_tsk: ~~ job_of_task tsk j'
H_j'_sched: scheduled_at sched j' t
H_j'_hep: hep_job j' j
upp: instant
IN: j \in arrivals_between arr_seq 0 upp
receives_service_at sched j' t
Task: TaskType
H: TaskCost Task
Job: JobType
H0: JobTask Job Task
H1: JobArrival Job
H2: JobCost Job
arr_seq: arrival_sequence Job
H_valid_arrival_sequence: valid_arrival_sequence arr_seq
sched: schedule (processor_state Job)
H_jobs_come_from_arrival_sequence: jobs_come_from_arrival_sequence sched arr_seq
H_jobs_must_arrive_to_execute: jobs_must_arrive_to_execute sched
H_completed_jobs_dont_execute: completed_jobs_dont_execute sched
H3: JLFP_policy Job
H_priority_is_reflexive: reflexive_priorities
H_priority_is_transitive: transitive_priorities
tsk: Task
H_sequential_tasks: sequential_tasks arr_seq sched
H_JLFP_respects_sequential_tasks: policy_respects_sequential_tasks
j: Job
H_j_tsk: job_of_task tsk j
t: instant
j': Job
H_j'_not_tsk: ~~ job_of_task tsk j'
H_j'_sched: scheduled_at sched j' t
H_j'_hep: hep_job j' j
upp: instant
IN: j \in arrivals_between arr_seq 0 upp
j \in task_arrivals_before arr_seq tsk upp
Task: TaskType
H: TaskCost Task
Job: JobType
H0: JobTask Job Task
H1: JobArrival Job
H2: JobCost Job
arr_seq: arrival_sequence Job
H_valid_arrival_sequence: valid_arrival_sequence arr_seq
sched: schedule (processor_state Job)
H_jobs_come_from_arrival_sequence: jobs_come_from_arrival_sequence sched arr_seq
H_jobs_must_arrive_to_execute: jobs_must_arrive_to_execute sched
H_completed_jobs_dont_execute: completed_jobs_dont_execute sched
H3: JLFP_policy Job
H_priority_is_reflexive: reflexive_priorities
H_priority_is_transitive: transitive_priorities
tsk: Task
H_sequential_tasks: sequential_tasks arr_seq sched
H_JLFP_respects_sequential_tasks: policy_respects_sequential_tasks
j: Job
H_j_tsk: job_of_task tsk j
t: instant
j': Job
H_j'_not_tsk: ~~ job_of_task tsk j'
H_j'_sched: scheduled_at sched j' t
H_j'_hep: hep_job j' j
upp: instant
IN: j \in arrivals_between arr_seq 0 upp

arrived_between j' 0 t.+1
Task: TaskType
H: TaskCost Task
Job: JobType
H0: JobTask Job Task
H1: JobArrival Job
H2: JobCost Job
arr_seq: arrival_sequence Job
H_valid_arrival_sequence: valid_arrival_sequence arr_seq
sched: schedule (processor_state Job)
H_jobs_come_from_arrival_sequence: jobs_come_from_arrival_sequence sched arr_seq
H_jobs_must_arrive_to_execute: jobs_must_arrive_to_execute sched
H_completed_jobs_dont_execute: completed_jobs_dont_execute sched
H3: JLFP_policy Job
H_priority_is_reflexive: reflexive_priorities
H_priority_is_transitive: transitive_priorities
tsk: Task
H_sequential_tasks: sequential_tasks arr_seq sched
H_JLFP_respects_sequential_tasks: policy_respects_sequential_tasks
j: Job
H_j_tsk: job_of_task tsk j
t: instant
j': Job
H_j'_not_tsk: ~~ job_of_task tsk j'
H_j'_sched: scheduled_at sched j' t
H_j'_hep: hep_job j' j
upp: instant
IN: j \in arrivals_between arr_seq 0 upp
another_hep_job j' j
Task: TaskType
H: TaskCost Task
Job: JobType
H0: JobTask Job Task
H1: JobArrival Job
H2: JobCost Job
arr_seq: arrival_sequence Job
H_valid_arrival_sequence: valid_arrival_sequence arr_seq
sched: schedule (processor_state Job)
H_jobs_come_from_arrival_sequence: jobs_come_from_arrival_sequence sched arr_seq
H_jobs_must_arrive_to_execute: jobs_must_arrive_to_execute sched
H_completed_jobs_dont_execute: completed_jobs_dont_execute sched
H3: JLFP_policy Job
H_priority_is_reflexive: reflexive_priorities
H_priority_is_transitive: transitive_priorities
tsk: Task
H_sequential_tasks: sequential_tasks arr_seq sched
H_JLFP_respects_sequential_tasks: policy_respects_sequential_tasks
j: Job
H_j_tsk: job_of_task tsk j
t: instant
j': Job
H_j'_not_tsk: ~~ job_of_task tsk j'
H_j'_sched: scheduled_at sched j' t
H_j'_hep: hep_job j' j
upp: instant
IN: j \in arrivals_between arr_seq 0 upp
receives_service_at sched j' t
Task: TaskType
H: TaskCost Task
Job: JobType
H0: JobTask Job Task
H1: JobArrival Job
H2: JobCost Job
arr_seq: arrival_sequence Job
H_valid_arrival_sequence: valid_arrival_sequence arr_seq
sched: schedule (processor_state Job)
H_jobs_come_from_arrival_sequence: jobs_come_from_arrival_sequence sched arr_seq
H_jobs_must_arrive_to_execute: jobs_must_arrive_to_execute sched
H_completed_jobs_dont_execute: completed_jobs_dont_execute sched
H3: JLFP_policy Job
H_priority_is_reflexive: reflexive_priorities
H_priority_is_transitive: transitive_priorities
tsk: Task
H_sequential_tasks: sequential_tasks arr_seq sched
H_JLFP_respects_sequential_tasks: policy_respects_sequential_tasks
j: Job
H_j_tsk: job_of_task tsk j
t: instant
j': Job
H_j'_not_tsk: ~~ job_of_task tsk j'
H_j'_sched: scheduled_at sched j' t
H_j'_hep: hep_job j' j
upp: instant
IN: j \in arrivals_between arr_seq 0 upp
j \in task_arrivals_before arr_seq tsk upp
Task: TaskType
H: TaskCost Task
Job: JobType
H0: JobTask Job Task
H1: JobArrival Job
H2: JobCost Job
arr_seq: arrival_sequence Job
H_valid_arrival_sequence: valid_arrival_sequence arr_seq
sched: schedule (processor_state Job)
H_jobs_come_from_arrival_sequence: jobs_come_from_arrival_sequence sched arr_seq
H_jobs_must_arrive_to_execute: jobs_must_arrive_to_execute sched
H_completed_jobs_dont_execute: completed_jobs_dont_execute sched
H3: JLFP_policy Job
H_priority_is_reflexive: reflexive_priorities
H_priority_is_transitive: transitive_priorities
tsk: Task
H_sequential_tasks: sequential_tasks arr_seq sched
H_JLFP_respects_sequential_tasks: policy_respects_sequential_tasks
j: Job
H_j_tsk: job_of_task tsk j
t: instant
j': Job
H_j'_not_tsk: ~~ job_of_task tsk j'
H_j'_sched: scheduled_at sched j' t
H_j'_hep: hep_job j' j
upp: instant
IN: j \in arrivals_between arr_seq 0 upp

job_arrival j' < t.+1
Task: TaskType
H: TaskCost Task
Job: JobType
H0: JobTask Job Task
H1: JobArrival Job
H2: JobCost Job
arr_seq: arrival_sequence Job
H_valid_arrival_sequence: valid_arrival_sequence arr_seq
sched: schedule (processor_state Job)
H_jobs_come_from_arrival_sequence: jobs_come_from_arrival_sequence sched arr_seq
H_jobs_must_arrive_to_execute: jobs_must_arrive_to_execute sched
H_completed_jobs_dont_execute: completed_jobs_dont_execute sched
H3: JLFP_policy Job
H_priority_is_reflexive: reflexive_priorities
H_priority_is_transitive: transitive_priorities
tsk: Task
H_sequential_tasks: sequential_tasks arr_seq sched
H_JLFP_respects_sequential_tasks: policy_respects_sequential_tasks
j: Job
H_j_tsk: job_of_task tsk j
t: instant
j': Job
H_j'_not_tsk: ~~ job_of_task tsk j'
H_j'_sched: scheduled_at sched j' t
H_j'_hep: hep_job j' j
upp: instant
IN: j \in arrivals_between arr_seq 0 upp
another_hep_job j' j
Task: TaskType
H: TaskCost Task
Job: JobType
H0: JobTask Job Task
H1: JobArrival Job
H2: JobCost Job
arr_seq: arrival_sequence Job
H_valid_arrival_sequence: valid_arrival_sequence arr_seq
sched: schedule (processor_state Job)
H_jobs_come_from_arrival_sequence: jobs_come_from_arrival_sequence sched arr_seq
H_jobs_must_arrive_to_execute: jobs_must_arrive_to_execute sched
H_completed_jobs_dont_execute: completed_jobs_dont_execute sched
H3: JLFP_policy Job
H_priority_is_reflexive: reflexive_priorities
H_priority_is_transitive: transitive_priorities
tsk: Task
H_sequential_tasks: sequential_tasks arr_seq sched
H_JLFP_respects_sequential_tasks: policy_respects_sequential_tasks
j: Job
H_j_tsk: job_of_task tsk j
t: instant
j': Job
H_j'_not_tsk: ~~ job_of_task tsk j'
H_j'_sched: scheduled_at sched j' t
H_j'_hep: hep_job j' j
upp: instant
IN: j \in arrivals_between arr_seq 0 upp
receives_service_at sched j' t
Task: TaskType
H: TaskCost Task
Job: JobType
H0: JobTask Job Task
H1: JobArrival Job
H2: JobCost Job
arr_seq: arrival_sequence Job
H_valid_arrival_sequence: valid_arrival_sequence arr_seq
sched: schedule (processor_state Job)
H_jobs_come_from_arrival_sequence: jobs_come_from_arrival_sequence sched arr_seq
H_jobs_must_arrive_to_execute: jobs_must_arrive_to_execute sched
H_completed_jobs_dont_execute: completed_jobs_dont_execute sched
H3: JLFP_policy Job
H_priority_is_reflexive: reflexive_priorities
H_priority_is_transitive: transitive_priorities
tsk: Task
H_sequential_tasks: sequential_tasks arr_seq sched
H_JLFP_respects_sequential_tasks: policy_respects_sequential_tasks
j: Job
H_j_tsk: job_of_task tsk j
t: instant
j': Job
H_j'_not_tsk: ~~ job_of_task tsk j'
H_j'_sched: scheduled_at sched j' t
H_j'_hep: hep_job j' j
upp: instant
IN: j \in arrivals_between arr_seq 0 upp
j \in task_arrivals_before arr_seq tsk upp
Task: TaskType
H: TaskCost Task
Job: JobType
H0: JobTask Job Task
H1: JobArrival Job
H2: JobCost Job
arr_seq: arrival_sequence Job
H_valid_arrival_sequence: valid_arrival_sequence arr_seq
sched: schedule (processor_state Job)
H_jobs_come_from_arrival_sequence: jobs_come_from_arrival_sequence sched arr_seq
H_jobs_must_arrive_to_execute: jobs_must_arrive_to_execute sched
H_completed_jobs_dont_execute: completed_jobs_dont_execute sched
H3: JLFP_policy Job
H_priority_is_reflexive: reflexive_priorities
H_priority_is_transitive: transitive_priorities
tsk: Task
H_sequential_tasks: sequential_tasks arr_seq sched
H_JLFP_respects_sequential_tasks: policy_respects_sequential_tasks
j: Job
H_j_tsk: job_of_task tsk j
t: instant
j': Job
H_j'_not_tsk: ~~ job_of_task tsk j'
H_j'_sched: scheduled_at sched j' t
H_j'_hep: hep_job j' j
upp: instant
IN: j \in arrivals_between arr_seq 0 upp

another_hep_job j' j
Task: TaskType
H: TaskCost Task
Job: JobType
H0: JobTask Job Task
H1: JobArrival Job
H2: JobCost Job
arr_seq: arrival_sequence Job
H_valid_arrival_sequence: valid_arrival_sequence arr_seq
sched: schedule (processor_state Job)
H_jobs_come_from_arrival_sequence: jobs_come_from_arrival_sequence sched arr_seq
H_jobs_must_arrive_to_execute: jobs_must_arrive_to_execute sched
H_completed_jobs_dont_execute: completed_jobs_dont_execute sched
H3: JLFP_policy Job
H_priority_is_reflexive: reflexive_priorities
H_priority_is_transitive: transitive_priorities
tsk: Task
H_sequential_tasks: sequential_tasks arr_seq sched
H_JLFP_respects_sequential_tasks: policy_respects_sequential_tasks
j: Job
H_j_tsk: job_of_task tsk j
t: instant
j': Job
H_j'_not_tsk: ~~ job_of_task tsk j'
H_j'_sched: scheduled_at sched j' t
H_j'_hep: hep_job j' j
upp: instant
IN: j \in arrivals_between arr_seq 0 upp
receives_service_at sched j' t
Task: TaskType
H: TaskCost Task
Job: JobType
H0: JobTask Job Task
H1: JobArrival Job
H2: JobCost Job
arr_seq: arrival_sequence Job
H_valid_arrival_sequence: valid_arrival_sequence arr_seq
sched: schedule (processor_state Job)
H_jobs_come_from_arrival_sequence: jobs_come_from_arrival_sequence sched arr_seq
H_jobs_must_arrive_to_execute: jobs_must_arrive_to_execute sched
H_completed_jobs_dont_execute: completed_jobs_dont_execute sched
H3: JLFP_policy Job
H_priority_is_reflexive: reflexive_priorities
H_priority_is_transitive: transitive_priorities
tsk: Task
H_sequential_tasks: sequential_tasks arr_seq sched
H_JLFP_respects_sequential_tasks: policy_respects_sequential_tasks
j: Job
H_j_tsk: job_of_task tsk j
t: instant
j': Job
H_j'_not_tsk: ~~ job_of_task tsk j'
H_j'_sched: scheduled_at sched j' t
H_j'_hep: hep_job j' j
upp: instant
IN: j \in arrivals_between arr_seq 0 upp
j \in task_arrivals_before arr_seq tsk upp
Task: TaskType
H: TaskCost Task
Job: JobType
H0: JobTask Job Task
H1: JobArrival Job
H2: JobCost Job
arr_seq: arrival_sequence Job
H_valid_arrival_sequence: valid_arrival_sequence arr_seq
sched: schedule (processor_state Job)
H_jobs_come_from_arrival_sequence: jobs_come_from_arrival_sequence sched arr_seq
H_jobs_must_arrive_to_execute: jobs_must_arrive_to_execute sched
H_completed_jobs_dont_execute: completed_jobs_dont_execute sched
H3: JLFP_policy Job
H_priority_is_reflexive: reflexive_priorities
H_priority_is_transitive: transitive_priorities
tsk: Task
H_sequential_tasks: sequential_tasks arr_seq sched
H_JLFP_respects_sequential_tasks: policy_respects_sequential_tasks
j: Job
H_j_tsk: job_of_task tsk j
t: instant
j': Job
H_j'_not_tsk: ~~ job_of_task tsk j'
H_j'_sched: scheduled_at sched j' t
H_j'_hep: hep_job j' j
upp: instant
IN: j \in arrivals_between arr_seq 0 upp

another_hep_job j' j
Task: TaskType
H: TaskCost Task
Job: JobType
H0: JobTask Job Task
H1: JobArrival Job
H2: JobCost Job
arr_seq: arrival_sequence Job
H_valid_arrival_sequence: valid_arrival_sequence arr_seq
sched: schedule (processor_state Job)
H_jobs_come_from_arrival_sequence: jobs_come_from_arrival_sequence sched arr_seq
H_jobs_must_arrive_to_execute: jobs_must_arrive_to_execute sched
H_completed_jobs_dont_execute: completed_jobs_dont_execute sched
H3: JLFP_policy Job
H_priority_is_reflexive: reflexive_priorities
H_priority_is_transitive: transitive_priorities
tsk: Task
H_sequential_tasks: sequential_tasks arr_seq sched
H_JLFP_respects_sequential_tasks: policy_respects_sequential_tasks
j: Job
H_j_tsk: job_of_task tsk j
t: instant
j': Job
H_j'_not_tsk: ~~ job_of_task tsk j'
H_j'_sched: scheduled_at sched j' t
H_j'_hep: hep_job j' j
upp: instant
IN: j \in arrivals_between arr_seq 0 upp
receives_service_at sched j' t
Task: TaskType
H: TaskCost Task
Job: JobType
H0: JobTask Job Task
H1: JobArrival Job
H2: JobCost Job
arr_seq: arrival_sequence Job
H_valid_arrival_sequence: valid_arrival_sequence arr_seq
sched: schedule (processor_state Job)
H_jobs_come_from_arrival_sequence: jobs_come_from_arrival_sequence sched arr_seq
H_jobs_must_arrive_to_execute: jobs_must_arrive_to_execute sched
H_completed_jobs_dont_execute: completed_jobs_dont_execute sched
H3: JLFP_policy Job
H_priority_is_reflexive: reflexive_priorities
H_priority_is_transitive: transitive_priorities
tsk: Task
H_sequential_tasks: sequential_tasks arr_seq sched
H_JLFP_respects_sequential_tasks: policy_respects_sequential_tasks
j: Job
H_j_tsk: job_of_task tsk j
t: instant
j': Job
H_j'_not_tsk: ~~ job_of_task tsk j'
H_j'_sched: scheduled_at sched j' t
H_j'_hep: hep_job j' j
upp: instant
IN: j \in arrivals_between arr_seq 0 upp
j \in task_arrivals_before arr_seq tsk upp
Task: TaskType
H: TaskCost Task
Job: JobType
H0: JobTask Job Task
H1: JobArrival Job
H2: JobCost Job
arr_seq: arrival_sequence Job
H_valid_arrival_sequence: valid_arrival_sequence arr_seq
sched: schedule (processor_state Job)
H_jobs_come_from_arrival_sequence: jobs_come_from_arrival_sequence sched arr_seq
H_jobs_must_arrive_to_execute: jobs_must_arrive_to_execute sched
H_completed_jobs_dont_execute: completed_jobs_dont_execute sched
H3: JLFP_policy Job
H_priority_is_reflexive: reflexive_priorities
H_priority_is_transitive: transitive_priorities
tsk: Task
H_sequential_tasks: sequential_tasks arr_seq sched
H_JLFP_respects_sequential_tasks: policy_respects_sequential_tasks
j: Job
H_j_tsk: job_of_task tsk j
t: instant
j': Job
H_j'_not_tsk: ~~ job_of_task tsk j'
H_j'_sched: scheduled_at sched j' t
H_j'_hep: hep_job j' j
upp: instant
IN: j \in arrivals_between arr_seq 0 upp

j' != j
Task: TaskType
H: TaskCost Task
Job: JobType
H0: JobTask Job Task
H1: JobArrival Job
H2: JobCost Job
arr_seq: arrival_sequence Job
H_valid_arrival_sequence: valid_arrival_sequence arr_seq
sched: schedule (processor_state Job)
H_jobs_come_from_arrival_sequence: jobs_come_from_arrival_sequence sched arr_seq
H_jobs_must_arrive_to_execute: jobs_must_arrive_to_execute sched
H_completed_jobs_dont_execute: completed_jobs_dont_execute sched
H3: JLFP_policy Job
H_priority_is_reflexive: reflexive_priorities
H_priority_is_transitive: transitive_priorities
tsk: Task
H_sequential_tasks: sequential_tasks arr_seq sched
H_JLFP_respects_sequential_tasks: policy_respects_sequential_tasks
j: Job
H_j_tsk: job_of_task tsk j
t: instant
j': Job
H_j'_not_tsk: ~~ job_of_task tsk j'
H_j'_sched: scheduled_at sched j' t
H_j'_hep: hep_job j' j
upp: instant
IN: j \in arrivals_between arr_seq 0 upp
receives_service_at sched j' t
Task: TaskType
H: TaskCost Task
Job: JobType
H0: JobTask Job Task
H1: JobArrival Job
H2: JobCost Job
arr_seq: arrival_sequence Job
H_valid_arrival_sequence: valid_arrival_sequence arr_seq
sched: schedule (processor_state Job)
H_jobs_come_from_arrival_sequence: jobs_come_from_arrival_sequence sched arr_seq
H_jobs_must_arrive_to_execute: jobs_must_arrive_to_execute sched
H_completed_jobs_dont_execute: completed_jobs_dont_execute sched
H3: JLFP_policy Job
H_priority_is_reflexive: reflexive_priorities
H_priority_is_transitive: transitive_priorities
tsk: Task
H_sequential_tasks: sequential_tasks arr_seq sched
H_JLFP_respects_sequential_tasks: policy_respects_sequential_tasks
j: Job
H_j_tsk: job_of_task tsk j
t: instant
j': Job
H_j'_not_tsk: ~~ job_of_task tsk j'
H_j'_sched: scheduled_at sched j' t
H_j'_hep: hep_job j' j
upp: instant
IN: j \in arrivals_between arr_seq 0 upp
j \in task_arrivals_before arr_seq tsk upp
Task: TaskType
H: TaskCost Task
Job: JobType
H0: JobTask Job Task
H1: JobArrival Job
H2: JobCost Job
arr_seq: arrival_sequence Job
H_valid_arrival_sequence: valid_arrival_sequence arr_seq
sched: schedule (processor_state Job)
H_jobs_come_from_arrival_sequence: jobs_come_from_arrival_sequence sched arr_seq
H_jobs_must_arrive_to_execute: jobs_must_arrive_to_execute sched
H_completed_jobs_dont_execute: completed_jobs_dont_execute sched
H3: JLFP_policy Job
H_priority_is_reflexive: reflexive_priorities
H_priority_is_transitive: transitive_priorities
tsk: Task
H_sequential_tasks: sequential_tasks arr_seq sched
H_JLFP_respects_sequential_tasks: policy_respects_sequential_tasks
j: Job
H_j_tsk: job_of_task tsk j
t: instant
H_j'_hep: hep_job j j
H_j'_sched: scheduled_at sched j t
H_j'_not_tsk: ~~ job_of_task tsk j
upp: instant
IN: j \in arrivals_between arr_seq 0 upp

False
Task: TaskType
H: TaskCost Task
Job: JobType
H0: JobTask Job Task
H1: JobArrival Job
H2: JobCost Job
arr_seq: arrival_sequence Job
H_valid_arrival_sequence: valid_arrival_sequence arr_seq
sched: schedule (processor_state Job)
H_jobs_come_from_arrival_sequence: jobs_come_from_arrival_sequence sched arr_seq
H_jobs_must_arrive_to_execute: jobs_must_arrive_to_execute sched
H_completed_jobs_dont_execute: completed_jobs_dont_execute sched
H3: JLFP_policy Job
H_priority_is_reflexive: reflexive_priorities
H_priority_is_transitive: transitive_priorities
tsk: Task
H_sequential_tasks: sequential_tasks arr_seq sched
H_JLFP_respects_sequential_tasks: policy_respects_sequential_tasks
j: Job
H_j_tsk: job_of_task tsk j
t: instant
j': Job
H_j'_not_tsk: ~~ job_of_task tsk j'
H_j'_sched: scheduled_at sched j' t
H_j'_hep: hep_job j' j
upp: instant
IN: j \in arrivals_between arr_seq 0 upp
receives_service_at sched j' t
Task: TaskType
H: TaskCost Task
Job: JobType
H0: JobTask Job Task
H1: JobArrival Job
H2: JobCost Job
arr_seq: arrival_sequence Job
H_valid_arrival_sequence: valid_arrival_sequence arr_seq
sched: schedule (processor_state Job)
H_jobs_come_from_arrival_sequence: jobs_come_from_arrival_sequence sched arr_seq
H_jobs_must_arrive_to_execute: jobs_must_arrive_to_execute sched
H_completed_jobs_dont_execute: completed_jobs_dont_execute sched
H3: JLFP_policy Job
H_priority_is_reflexive: reflexive_priorities
H_priority_is_transitive: transitive_priorities
tsk: Task
H_sequential_tasks: sequential_tasks arr_seq sched
H_JLFP_respects_sequential_tasks: policy_respects_sequential_tasks
j: Job
H_j_tsk: job_of_task tsk j
t: instant
j': Job
H_j'_not_tsk: ~~ job_of_task tsk j'
H_j'_sched: scheduled_at sched j' t
H_j'_hep: hep_job j' j
upp: instant
IN: j \in arrivals_between arr_seq 0 upp
j \in task_arrivals_before arr_seq tsk upp
Task: TaskType
H: TaskCost Task
Job: JobType
H0: JobTask Job Task
H1: JobArrival Job
H2: JobCost Job
arr_seq: arrival_sequence Job
H_valid_arrival_sequence: valid_arrival_sequence arr_seq
sched: schedule (processor_state Job)
H_jobs_come_from_arrival_sequence: jobs_come_from_arrival_sequence sched arr_seq
H_jobs_must_arrive_to_execute: jobs_must_arrive_to_execute sched
H_completed_jobs_dont_execute: completed_jobs_dont_execute sched
H3: JLFP_policy Job
H_priority_is_reflexive: reflexive_priorities
H_priority_is_transitive: transitive_priorities
tsk: Task
H_sequential_tasks: sequential_tasks arr_seq sched
H_JLFP_respects_sequential_tasks: policy_respects_sequential_tasks
j: Job
H_j_tsk: job_of_task tsk j
t: instant
j': Job
H_j'_not_tsk: ~~ job_of_task tsk j'
H_j'_sched: scheduled_at sched j' t
H_j'_hep: hep_job j' j
upp: instant
IN: j \in arrivals_between arr_seq 0 upp

receives_service_at sched j' t
Task: TaskType
H: TaskCost Task
Job: JobType
H0: JobTask Job Task
H1: JobArrival Job
H2: JobCost Job
arr_seq: arrival_sequence Job
H_valid_arrival_sequence: valid_arrival_sequence arr_seq
sched: schedule (processor_state Job)
H_jobs_come_from_arrival_sequence: jobs_come_from_arrival_sequence sched arr_seq
H_jobs_must_arrive_to_execute: jobs_must_arrive_to_execute sched
H_completed_jobs_dont_execute: completed_jobs_dont_execute sched
H3: JLFP_policy Job
H_priority_is_reflexive: reflexive_priorities
H_priority_is_transitive: transitive_priorities
tsk: Task
H_sequential_tasks: sequential_tasks arr_seq sched
H_JLFP_respects_sequential_tasks: policy_respects_sequential_tasks
j: Job
H_j_tsk: job_of_task tsk j
t: instant
j': Job
H_j'_not_tsk: ~~ job_of_task tsk j'
H_j'_sched: scheduled_at sched j' t
H_j'_hep: hep_job j' j
upp: instant
IN: j \in arrivals_between arr_seq 0 upp
j \in task_arrivals_before arr_seq tsk upp
Task: TaskType
H: TaskCost Task
Job: JobType
H0: JobTask Job Task
H1: JobArrival Job
H2: JobCost Job
arr_seq: arrival_sequence Job
H_valid_arrival_sequence: valid_arrival_sequence arr_seq
sched: schedule (processor_state Job)
H_jobs_come_from_arrival_sequence: jobs_come_from_arrival_sequence sched arr_seq
H_jobs_must_arrive_to_execute: jobs_must_arrive_to_execute sched
H_completed_jobs_dont_execute: completed_jobs_dont_execute sched
H3: JLFP_policy Job
H_priority_is_reflexive: reflexive_priorities
H_priority_is_transitive: transitive_priorities
tsk: Task
H_sequential_tasks: sequential_tasks arr_seq sched
H_JLFP_respects_sequential_tasks: policy_respects_sequential_tasks
j: Job
H_j_tsk: job_of_task tsk j
t: instant
j': Job
H_j'_not_tsk: ~~ job_of_task tsk j'
H_j'_sched: scheduled_at sched j' t
H_j'_hep: hep_job j' j
upp: instant
IN: j \in arrivals_between arr_seq 0 upp

receives_service_at sched j' t
Task: TaskType
H: TaskCost Task
Job: JobType
H0: JobTask Job Task
H1: JobArrival Job
H2: JobCost Job
arr_seq: arrival_sequence Job
H_valid_arrival_sequence: valid_arrival_sequence arr_seq
sched: schedule (processor_state Job)
H_jobs_come_from_arrival_sequence: jobs_come_from_arrival_sequence sched arr_seq
H_jobs_must_arrive_to_execute: jobs_must_arrive_to_execute sched
H_completed_jobs_dont_execute: completed_jobs_dont_execute sched
H3: JLFP_policy Job
H_priority_is_reflexive: reflexive_priorities
H_priority_is_transitive: transitive_priorities
tsk: Task
H_sequential_tasks: sequential_tasks arr_seq sched
H_JLFP_respects_sequential_tasks: policy_respects_sequential_tasks
j: Job
H_j_tsk: job_of_task tsk j
t: instant
j': Job
H_j'_not_tsk: ~~ job_of_task tsk j'
H_j'_sched: scheduled_at sched j' t
H_j'_hep: hep_job j' j
upp: instant
IN: j \in arrivals_between arr_seq 0 upp
j \in task_arrivals_before arr_seq tsk upp
Task: TaskType
H: TaskCost Task
Job: JobType
H0: JobTask Job Task
H1: JobArrival Job
H2: JobCost Job
arr_seq: arrival_sequence Job
H_valid_arrival_sequence: valid_arrival_sequence arr_seq
sched: schedule (processor_state Job)
H_jobs_come_from_arrival_sequence: jobs_come_from_arrival_sequence sched arr_seq
H_jobs_must_arrive_to_execute: jobs_must_arrive_to_execute sched
H_completed_jobs_dont_execute: completed_jobs_dont_execute sched
H3: JLFP_policy Job
H_priority_is_reflexive: reflexive_priorities
H_priority_is_transitive: transitive_priorities
tsk: Task
H_sequential_tasks: sequential_tasks arr_seq sched
H_JLFP_respects_sequential_tasks: policy_respects_sequential_tasks
j: Job
H_j_tsk: job_of_task tsk j
t: instant
j': Job
H_j'_not_tsk: ~~ job_of_task tsk j'
H_j'_sched: scheduled_at sched j' t
H_j'_hep: hep_job j' j
upp: instant
IN: j \in arrivals_between arr_seq 0 upp

j \in task_arrivals_before arr_seq tsk upp
Task: TaskType
H: TaskCost Task
Job: JobType
H0: JobTask Job Task
H1: JobArrival Job
H2: JobCost Job
arr_seq: arrival_sequence Job
H_valid_arrival_sequence: valid_arrival_sequence arr_seq
sched: schedule (processor_state Job)
H_jobs_come_from_arrival_sequence: jobs_come_from_arrival_sequence sched arr_seq
H_jobs_must_arrive_to_execute: jobs_must_arrive_to_execute sched
H_completed_jobs_dont_execute: completed_jobs_dont_execute sched
H3: JLFP_policy Job
H_priority_is_reflexive: reflexive_priorities
H_priority_is_transitive: transitive_priorities
tsk: Task
H_sequential_tasks: sequential_tasks arr_seq sched
H_JLFP_respects_sequential_tasks: policy_respects_sequential_tasks
j: Job
H_j_tsk: job_of_task tsk j
t: instant
j': Job
H_j'_not_tsk: ~~ job_of_task tsk j'
H_j'_sched: scheduled_at sched j' t
H_j'_hep: hep_job j' j
upp: instant
IN: j \in arrivals_between arr_seq 0 upp

j \in task_arrivals_before arr_seq tsk upp
Task: TaskType
H: TaskCost Task
Job: JobType
H0: JobTask Job Task
H1: JobArrival Job
H2: JobCost Job
arr_seq: arrival_sequence Job
H_valid_arrival_sequence: valid_arrival_sequence arr_seq
sched: schedule (processor_state Job)
H_jobs_come_from_arrival_sequence: jobs_come_from_arrival_sequence sched arr_seq
H_jobs_must_arrive_to_execute: jobs_must_arrive_to_execute sched
H_completed_jobs_dont_execute: completed_jobs_dont_execute sched
H3: JLFP_policy Job
H_priority_is_reflexive: reflexive_priorities
H_priority_is_transitive: transitive_priorities
tsk: Task
H_sequential_tasks: sequential_tasks arr_seq sched
H_JLFP_respects_sequential_tasks: policy_respects_sequential_tasks
j: Job
H_j_tsk: job_of_task tsk j
t: instant
j': Job
H_j'_not_tsk: ~~ job_of_task tsk j'
H_j'_sched: scheduled_at sched j' t
H_j'_hep: hep_job j' j
upp: instant
IN: j \in arrivals_between arr_seq 0 upp

job_of_task tsk j
by rewrite H_j_tsk. Qed. End FromDifferentTask. (** In the last subsection, we consider a case when the scheduled job [j'] has lower priority than job [j]. *) Section LowerPriority. (** Consider a job [j'] that has lower priority than job [j] and is scheduled at time instant [t]. *) Variable j' : Job. Hypothesis H_j'_sched : scheduled_at sched j' t. Hypothesis H_j'_lp : ~~ hep_job j' j.
Task: TaskType
H: TaskCost Task
Job: JobType
H0: JobTask Job Task
H1: JobArrival Job
H2: JobCost Job
arr_seq: arrival_sequence Job
H_valid_arrival_sequence: valid_arrival_sequence arr_seq
sched: schedule (processor_state Job)
H_jobs_come_from_arrival_sequence: jobs_come_from_arrival_sequence sched arr_seq
H_jobs_must_arrive_to_execute: jobs_must_arrive_to_execute sched
H_completed_jobs_dont_execute: completed_jobs_dont_execute sched
H3: JLFP_policy Job
H_priority_is_reflexive: reflexive_priorities
H_priority_is_transitive: transitive_priorities
tsk: Task
H_sequential_tasks: sequential_tasks arr_seq sched
H_JLFP_respects_sequential_tasks: policy_respects_sequential_tasks
j: Job
H_j_tsk: job_of_task tsk j
t: instant
j': Job
H_j'_sched: scheduled_at sched j' t
H_j'_lp: ~~ hep_job j' j

~ another_hep_job_interference j t
Task: TaskType
H: TaskCost Task
Job: JobType
H0: JobTask Job Task
H1: JobArrival Job
H2: JobCost Job
arr_seq: arrival_sequence Job
H_valid_arrival_sequence: valid_arrival_sequence arr_seq
sched: schedule (processor_state Job)
H_jobs_come_from_arrival_sequence: jobs_come_from_arrival_sequence sched arr_seq
H_jobs_must_arrive_to_execute: jobs_must_arrive_to_execute sched
H_completed_jobs_dont_execute: completed_jobs_dont_execute sched
H3: JLFP_policy Job
H_priority_is_reflexive: reflexive_priorities
H_priority_is_transitive: transitive_priorities
tsk: Task
H_sequential_tasks: sequential_tasks arr_seq sched
H_JLFP_respects_sequential_tasks: policy_respects_sequential_tasks
j: Job
H_j_tsk: job_of_task tsk j
t: instant
j': Job
H_j'_sched: scheduled_at sched j' t
H_j'_lp: ~~ hep_job j' j

~ another_hep_job_interference j t
Task: TaskType
H: TaskCost Task
Job: JobType
H0: JobTask Job Task
H1: JobArrival Job
H2: JobCost Job
arr_seq: arrival_sequence Job
H_valid_arrival_sequence: valid_arrival_sequence arr_seq
sched: schedule (processor_state Job)
H_jobs_come_from_arrival_sequence: jobs_come_from_arrival_sequence sched arr_seq
H_jobs_must_arrive_to_execute: jobs_must_arrive_to_execute sched
H_completed_jobs_dont_execute: completed_jobs_dont_execute sched
H3: JLFP_policy Job
H_priority_is_reflexive: reflexive_priorities
H_priority_is_transitive: transitive_priorities
tsk: Task
H_sequential_tasks: sequential_tasks arr_seq sched
H_JLFP_respects_sequential_tasks: policy_respects_sequential_tasks
j: Job
H_j_tsk: job_of_task tsk j
t: instant
j': Job
H_j'_sched: scheduled_at sched j' t
H_j'_lp: ~~ hep_job j' j
jlp: Job
IN: jlp \in arrivals_up_to arr_seq t
AHEP: another_hep_job jlp j
RSERV: receives_service_at sched jlp t

False
Task: TaskType
H: TaskCost Task
Job: JobType
H0: JobTask Job Task
H1: JobArrival Job
H2: JobCost Job
arr_seq: arrival_sequence Job
H_valid_arrival_sequence: valid_arrival_sequence arr_seq
sched: schedule (processor_state Job)
H_jobs_come_from_arrival_sequence: jobs_come_from_arrival_sequence sched arr_seq
H_jobs_must_arrive_to_execute: jobs_must_arrive_to_execute sched
H_completed_jobs_dont_execute: completed_jobs_dont_execute sched
H3: JLFP_policy Job
H_priority_is_reflexive: reflexive_priorities
H_priority_is_transitive: transitive_priorities
tsk: Task
H_sequential_tasks: sequential_tasks arr_seq sched
H_JLFP_respects_sequential_tasks: policy_respects_sequential_tasks
j: Job
H_j_tsk: job_of_task tsk j
t: instant
j': Job
H_j'_sched: scheduled_at sched j' t
H_j'_lp: ~~ hep_job j' j
jlp: Job
IN: jlp \in arrivals_up_to arr_seq t
AHEP: another_hep_job jlp j
RSERV: scheduled_at sched jlp t

False
Task: TaskType
H: TaskCost Task
Job: JobType
H0: JobTask Job Task
H1: JobArrival Job
H2: JobCost Job
arr_seq: arrival_sequence Job
H_valid_arrival_sequence: valid_arrival_sequence arr_seq
sched: schedule (processor_state Job)
H_jobs_come_from_arrival_sequence: jobs_come_from_arrival_sequence sched arr_seq
H_jobs_must_arrive_to_execute: jobs_must_arrive_to_execute sched
H_completed_jobs_dont_execute: completed_jobs_dont_execute sched
H3: JLFP_policy Job
H_priority_is_reflexive: reflexive_priorities
H_priority_is_transitive: transitive_priorities
tsk: Task
H_sequential_tasks: sequential_tasks arr_seq sched
H_JLFP_respects_sequential_tasks: policy_respects_sequential_tasks
j: Job
H_j_tsk: job_of_task tsk j
t: instant
jlp: Job
H_j'_lp: ~~ hep_job jlp j
H_j'_sched: scheduled_at sched jlp t
IN: jlp \in arrivals_up_to arr_seq t
AHEP: another_hep_job jlp j
RSERV: scheduled_at sched jlp t

False
by move: (H_j'_lp) AHEP => LP /andP [HEP A]; rewrite HEP in LP. Qed. End LowerPriority. End ScheduledJob. (** We prove that we can split cumulative interference into two parts: (1) cumulative priority inversion and (2) cumulative interference from jobs with higher or equal priority. *)
Task: TaskType
H: TaskCost Task
Job: JobType
H0: JobTask Job Task
H1: JobArrival Job
H2: JobCost Job
arr_seq: arrival_sequence Job
H_valid_arrival_sequence: valid_arrival_sequence arr_seq
sched: schedule (processor_state Job)
H_jobs_come_from_arrival_sequence: jobs_come_from_arrival_sequence sched arr_seq
H_jobs_must_arrive_to_execute: jobs_must_arrive_to_execute sched
H_completed_jobs_dont_execute: completed_jobs_dont_execute sched
H3: JLFP_policy Job
H_priority_is_reflexive: reflexive_priorities
H_priority_is_transitive: transitive_priorities
tsk: Task
H_sequential_tasks: sequential_tasks arr_seq sched
H_JLFP_respects_sequential_tasks: policy_respects_sequential_tasks

forall (j : Job) (t1 t2 : nat), cumulative_interference j t1 t2 = cumulative_priority_inversion arr_seq sched j t1 t2 + cumulative_another_hep_job_interference j t1 t2
Task: TaskType
H: TaskCost Task
Job: JobType
H0: JobTask Job Task
H1: JobArrival Job
H2: JobCost Job
arr_seq: arrival_sequence Job
H_valid_arrival_sequence: valid_arrival_sequence arr_seq
sched: schedule (processor_state Job)
H_jobs_come_from_arrival_sequence: jobs_come_from_arrival_sequence sched arr_seq
H_jobs_must_arrive_to_execute: jobs_must_arrive_to_execute sched
H_completed_jobs_dont_execute: completed_jobs_dont_execute sched
H3: JLFP_policy Job
H_priority_is_reflexive: reflexive_priorities
H_priority_is_transitive: transitive_priorities
tsk: Task
H_sequential_tasks: sequential_tasks arr_seq sched
H_JLFP_respects_sequential_tasks: policy_respects_sequential_tasks

forall (j : Job) (t1 t2 : nat), cumulative_interference j t1 t2 = cumulative_priority_inversion arr_seq sched j t1 t2 + cumulative_another_hep_job_interference j t1 t2
Task: TaskType
H: TaskCost Task
Job: JobType
H0: JobTask Job Task
H1: JobArrival Job
H2: JobCost Job
arr_seq: arrival_sequence Job
H_valid_arrival_sequence: valid_arrival_sequence arr_seq
sched: schedule (processor_state Job)
H_jobs_come_from_arrival_sequence: jobs_come_from_arrival_sequence sched arr_seq
H_jobs_must_arrive_to_execute: jobs_must_arrive_to_execute sched
H_completed_jobs_dont_execute: completed_jobs_dont_execute sched
H3: JLFP_policy Job
H_priority_is_reflexive: reflexive_priorities
H_priority_is_transitive: transitive_priorities
tsk: Task
H_sequential_tasks: sequential_tasks arr_seq sched
H_JLFP_respects_sequential_tasks: policy_respects_sequential_tasks
j: Job
t1, t2: nat

\sum_(t1 <= t < t2) ideal_jlfp_interference j t = \sum_(t1 <= i < t2) (priority_inversion_dec arr_seq sched j i + another_hep_job_interference_dec j i)
Task: TaskType
H: TaskCost Task
Job: JobType
H0: JobTask Job Task
H1: JobArrival Job
H2: JobCost Job
arr_seq: arrival_sequence Job
H_valid_arrival_sequence: valid_arrival_sequence arr_seq
sched: schedule (processor_state Job)
H_jobs_come_from_arrival_sequence: jobs_come_from_arrival_sequence sched arr_seq
H_jobs_must_arrive_to_execute: jobs_must_arrive_to_execute sched
H_completed_jobs_dont_execute: completed_jobs_dont_execute sched
H3: JLFP_policy Job
H_priority_is_reflexive: reflexive_priorities
H_priority_is_transitive: transitive_priorities
tsk: Task
H_sequential_tasks: sequential_tasks arr_seq sched
H_JLFP_respects_sequential_tasks: policy_respects_sequential_tasks
j: Job
t1, t2: nat

forall i : nat, true -> ideal_jlfp_interference j i <= priority_inversion_dec arr_seq sched j i + another_hep_job_interference_dec j i
Task: TaskType
H: TaskCost Task
Job: JobType
H0: JobTask Job Task
H1: JobArrival Job
H2: JobCost Job
arr_seq: arrival_sequence Job
H_valid_arrival_sequence: valid_arrival_sequence arr_seq
sched: schedule (processor_state Job)
H_jobs_come_from_arrival_sequence: jobs_come_from_arrival_sequence sched arr_seq
H_jobs_must_arrive_to_execute: jobs_must_arrive_to_execute sched
H_completed_jobs_dont_execute: completed_jobs_dont_execute sched
H3: JLFP_policy Job
H_priority_is_reflexive: reflexive_priorities
H_priority_is_transitive: transitive_priorities
tsk: Task
H_sequential_tasks: sequential_tasks arr_seq sched
H_JLFP_respects_sequential_tasks: policy_respects_sequential_tasks
j: Job
t1, t2: nat
forall i : nat, true -> priority_inversion_dec arr_seq sched j i + another_hep_job_interference_dec j i <= ideal_jlfp_interference j i
Task: TaskType
H: TaskCost Task
Job: JobType
H0: JobTask Job Task
H1: JobArrival Job
H2: JobCost Job
arr_seq: arrival_sequence Job
H_valid_arrival_sequence: valid_arrival_sequence arr_seq
sched: schedule (processor_state Job)
H_jobs_come_from_arrival_sequence: jobs_come_from_arrival_sequence sched arr_seq
H_jobs_must_arrive_to_execute: jobs_must_arrive_to_execute sched
H_completed_jobs_dont_execute: completed_jobs_dont_execute sched
H3: JLFP_policy Job
H_priority_is_reflexive: reflexive_priorities
H_priority_is_transitive: transitive_priorities
tsk: Task
H_sequential_tasks: sequential_tasks arr_seq sched
H_JLFP_respects_sequential_tasks: policy_respects_sequential_tasks
j: Job
t1, t2: nat

forall i : nat, true -> ideal_jlfp_interference j i <= priority_inversion_dec arr_seq sched j i + another_hep_job_interference_dec j i
Task: TaskType
H: TaskCost Task
Job: JobType
H0: JobTask Job Task
H1: JobArrival Job
H2: JobCost Job
arr_seq: arrival_sequence Job
H_valid_arrival_sequence: valid_arrival_sequence arr_seq
sched: schedule (processor_state Job)
H_jobs_come_from_arrival_sequence: jobs_come_from_arrival_sequence sched arr_seq
H_jobs_must_arrive_to_execute: jobs_must_arrive_to_execute sched
H_completed_jobs_dont_execute: completed_jobs_dont_execute sched
H3: JLFP_policy Job
H_priority_is_reflexive: reflexive_priorities
H_priority_is_transitive: transitive_priorities
tsk: Task
H_sequential_tasks: sequential_tasks arr_seq sched
H_JLFP_respects_sequential_tasks: policy_respects_sequential_tasks
j: Job
t1, t2, t: nat

priority_inversion_dec arr_seq sched j t || another_hep_job_interference_dec j t <= priority_inversion_dec arr_seq sched j t + another_hep_job_interference_dec j t
by destruct (priority_inversion_dec _ _ _ _), (another_hep_job_interference_dec j t).
Task: TaskType
H: TaskCost Task
Job: JobType
H0: JobTask Job Task
H1: JobArrival Job
H2: JobCost Job
arr_seq: arrival_sequence Job
H_valid_arrival_sequence: valid_arrival_sequence arr_seq
sched: schedule (processor_state Job)
H_jobs_come_from_arrival_sequence: jobs_come_from_arrival_sequence sched arr_seq
H_jobs_must_arrive_to_execute: jobs_must_arrive_to_execute sched
H_completed_jobs_dont_execute: completed_jobs_dont_execute sched
H3: JLFP_policy Job
H_priority_is_reflexive: reflexive_priorities
H_priority_is_transitive: transitive_priorities
tsk: Task
H_sequential_tasks: sequential_tasks arr_seq sched
H_JLFP_respects_sequential_tasks: policy_respects_sequential_tasks
j: Job
t1, t2: nat

forall i : nat, true -> priority_inversion_dec arr_seq sched j i + another_hep_job_interference_dec j i <= ideal_jlfp_interference j i
Task: TaskType
H: TaskCost Task
Job: JobType
H0: JobTask Job Task
H1: JobArrival Job
H2: JobCost Job
arr_seq: arrival_sequence Job
H_valid_arrival_sequence: valid_arrival_sequence arr_seq
sched: schedule (processor_state Job)
H_jobs_come_from_arrival_sequence: jobs_come_from_arrival_sequence sched arr_seq
H_jobs_must_arrive_to_execute: jobs_must_arrive_to_execute sched
H_completed_jobs_dont_execute: completed_jobs_dont_execute sched
H3: JLFP_policy Job
H_priority_is_reflexive: reflexive_priorities
H_priority_is_transitive: transitive_priorities
tsk: Task
H_sequential_tasks: sequential_tasks arr_seq sched
H_JLFP_respects_sequential_tasks: policy_respects_sequential_tasks
j: Job
t1, t2: nat

forall i : nat, true -> priority_inversion_dec arr_seq sched j i + another_hep_job_interference_dec j i <= ideal_jlfp_interference j i
Task: TaskType
H: TaskCost Task
Job: JobType
H0: JobTask Job Task
H1: JobArrival Job
H2: JobCost Job
arr_seq: arrival_sequence Job
H_valid_arrival_sequence: valid_arrival_sequence arr_seq
sched: schedule (processor_state Job)
H_jobs_come_from_arrival_sequence: jobs_come_from_arrival_sequence sched arr_seq
H_jobs_must_arrive_to_execute: jobs_must_arrive_to_execute sched
H_completed_jobs_dont_execute: completed_jobs_dont_execute sched
H3: JLFP_policy Job
H_priority_is_reflexive: reflexive_priorities
H_priority_is_transitive: transitive_priorities
tsk: Task
H_sequential_tasks: sequential_tasks arr_seq sched
H_JLFP_respects_sequential_tasks: policy_respects_sequential_tasks
j: Job
t1, t2, t: nat

priority_inversion_dec arr_seq sched j t + another_hep_job_interference_dec j t <= priority_inversion_dec arr_seq sched j t || another_hep_job_interference_dec j t
Task: TaskType
H: TaskCost Task
Job: JobType
H0: JobTask Job Task
H1: JobArrival Job
H2: JobCost Job
arr_seq: arrival_sequence Job
H_valid_arrival_sequence: valid_arrival_sequence arr_seq
sched: schedule (processor_state Job)
H_jobs_come_from_arrival_sequence: jobs_come_from_arrival_sequence sched arr_seq
H_jobs_must_arrive_to_execute: jobs_must_arrive_to_execute sched
H_completed_jobs_dont_execute: completed_jobs_dont_execute sched
H3: JLFP_policy Job
H_priority_is_reflexive: reflexive_priorities
H_priority_is_transitive: transitive_priorities
tsk: Task
H_sequential_tasks: sequential_tasks arr_seq sched
H_JLFP_respects_sequential_tasks: policy_respects_sequential_tasks
j: Job
t1, t2, t: nat
IDLE: is_idle sched t

priority_inversion_dec arr_seq sched j t + another_hep_job_interference_dec j t <= priority_inversion_dec arr_seq sched j t || another_hep_job_interference_dec j t
Task: TaskType
H: TaskCost Task
Job: JobType
H0: JobTask Job Task
H1: JobArrival Job
H2: JobCost Job
arr_seq: arrival_sequence Job
H_valid_arrival_sequence: valid_arrival_sequence arr_seq
sched: schedule (processor_state Job)
H_jobs_come_from_arrival_sequence: jobs_come_from_arrival_sequence sched arr_seq
H_jobs_must_arrive_to_execute: jobs_must_arrive_to_execute sched
H_completed_jobs_dont_execute: completed_jobs_dont_execute sched
H3: JLFP_policy Job
H_priority_is_reflexive: reflexive_priorities
H_priority_is_transitive: transitive_priorities
tsk: Task
H_sequential_tasks: sequential_tasks arr_seq sched
H_JLFP_respects_sequential_tasks: policy_respects_sequential_tasks
j: Job
t1, t2, t: nat
s: Job
SCHED: scheduled_at sched s t
priority_inversion_dec arr_seq sched j t + another_hep_job_interference_dec j t <= priority_inversion_dec arr_seq sched j t || another_hep_job_interference_dec j t
Task: TaskType
H: TaskCost Task
Job: JobType
H0: JobTask Job Task
H1: JobArrival Job
H2: JobCost Job
arr_seq: arrival_sequence Job
H_valid_arrival_sequence: valid_arrival_sequence arr_seq
sched: schedule (processor_state Job)
H_jobs_come_from_arrival_sequence: jobs_come_from_arrival_sequence sched arr_seq
H_jobs_must_arrive_to_execute: jobs_must_arrive_to_execute sched
H_completed_jobs_dont_execute: completed_jobs_dont_execute sched
H3: JLFP_policy Job
H_priority_is_reflexive: reflexive_priorities
H_priority_is_transitive: transitive_priorities
tsk: Task
H_sequential_tasks: sequential_tasks arr_seq sched
H_JLFP_respects_sequential_tasks: policy_respects_sequential_tasks
j: Job
t1, t2, t: nat
IDLE: is_idle sched t

priority_inversion_dec arr_seq sched j t + another_hep_job_interference_dec j t <= priority_inversion_dec arr_seq sched j t || another_hep_job_interference_dec j t
Task: TaskType
H: TaskCost Task
Job: JobType
H0: JobTask Job Task
H1: JobArrival Job
H2: JobCost Job
arr_seq: arrival_sequence Job
H_valid_arrival_sequence: valid_arrival_sequence arr_seq
sched: schedule (processor_state Job)
H_jobs_come_from_arrival_sequence: jobs_come_from_arrival_sequence sched arr_seq
H_jobs_must_arrive_to_execute: jobs_must_arrive_to_execute sched
H_completed_jobs_dont_execute: completed_jobs_dont_execute sched
H3: JLFP_policy Job
H_priority_is_reflexive: reflexive_priorities
H_priority_is_transitive: transitive_priorities
tsk: Task
H_sequential_tasks: sequential_tasks arr_seq sched
H_JLFP_respects_sequential_tasks: policy_respects_sequential_tasks
j: Job
t1, t2, t: nat
s: Job
SCHED: scheduled_at sched s t
priority_inversion_dec arr_seq sched j t + another_hep_job_interference_dec j t <= priority_inversion_dec arr_seq sched j t || another_hep_job_interference_dec j t
Task: TaskType
H: TaskCost Task
Job: JobType
H0: JobTask Job Task
H1: JobArrival Job
H2: JobCost Job
arr_seq: arrival_sequence Job
H_valid_arrival_sequence: valid_arrival_sequence arr_seq
sched: schedule (processor_state Job)
H_jobs_come_from_arrival_sequence: jobs_come_from_arrival_sequence sched arr_seq
H_jobs_must_arrive_to_execute: jobs_must_arrive_to_execute sched
H_completed_jobs_dont_execute: completed_jobs_dont_execute sched
H3: JLFP_policy Job
H_priority_is_reflexive: reflexive_priorities
H_priority_is_transitive: transitive_priorities
tsk: Task
H_sequential_tasks: sequential_tasks arr_seq sched
H_JLFP_respects_sequential_tasks: policy_respects_sequential_tasks
j: Job
t1, t2, t: nat
s: Job
SCHED: scheduled_at sched s t

priority_inversion_dec arr_seq sched j t + another_hep_job_interference_dec j t <= priority_inversion_dec arr_seq sched j t || another_hep_job_interference_dec j t
Task: TaskType
H: TaskCost Task
Job: JobType
H0: JobTask Job Task
H1: JobArrival Job
H2: JobCost Job
arr_seq: arrival_sequence Job
H_valid_arrival_sequence: valid_arrival_sequence arr_seq
sched: schedule (processor_state Job)
H_jobs_come_from_arrival_sequence: jobs_come_from_arrival_sequence sched arr_seq
H_jobs_must_arrive_to_execute: jobs_must_arrive_to_execute sched
H_completed_jobs_dont_execute: completed_jobs_dont_execute sched
H3: JLFP_policy Job
H_priority_is_reflexive: reflexive_priorities
H_priority_is_transitive: transitive_priorities
tsk: Task
H_sequential_tasks: sequential_tasks arr_seq sched
H_JLFP_respects_sequential_tasks: policy_respects_sequential_tasks
j: Job
t1, t2, t: nat
s: Job
SCHED: scheduled_at sched s t

priority_inversion_dec arr_seq sched j t + another_hep_job_interference_dec j t <= priority_inversion_dec arr_seq sched j t || another_hep_job_interference_dec j t
Task: TaskType
H: TaskCost Task
Job: JobType
H0: JobTask Job Task
H1: JobArrival Job
H2: JobCost Job
arr_seq: arrival_sequence Job
H_valid_arrival_sequence: valid_arrival_sequence arr_seq
sched: schedule (processor_state Job)
H_jobs_come_from_arrival_sequence: jobs_come_from_arrival_sequence sched arr_seq
H_jobs_must_arrive_to_execute: jobs_must_arrive_to_execute sched
H_completed_jobs_dont_execute: completed_jobs_dont_execute sched
H3: JLFP_policy Job
H_priority_is_reflexive: reflexive_priorities
H_priority_is_transitive: transitive_priorities
tsk: Task
H_sequential_tasks: sequential_tasks arr_seq sched
H_JLFP_respects_sequential_tasks: policy_respects_sequential_tasks
j: Job
t1, t2, t: nat
s: Job
SCHED: scheduled_at sched s t
PRIO: hep_job s j = true

priority_inversion_dec arr_seq sched j t + another_hep_job_interference_dec j t <= priority_inversion_dec arr_seq sched j t || another_hep_job_interference_dec j t
Task: TaskType
H: TaskCost Task
Job: JobType
H0: JobTask Job Task
H1: JobArrival Job
H2: JobCost Job
arr_seq: arrival_sequence Job
H_valid_arrival_sequence: valid_arrival_sequence arr_seq
sched: schedule (processor_state Job)
H_jobs_come_from_arrival_sequence: jobs_come_from_arrival_sequence sched arr_seq
H_jobs_must_arrive_to_execute: jobs_must_arrive_to_execute sched
H_completed_jobs_dont_execute: completed_jobs_dont_execute sched
H3: JLFP_policy Job
H_priority_is_reflexive: reflexive_priorities
H_priority_is_transitive: transitive_priorities
tsk: Task
H_sequential_tasks: sequential_tasks arr_seq sched
H_JLFP_respects_sequential_tasks: policy_respects_sequential_tasks
j: Job
t1, t2, t: nat
s: Job
SCHED: scheduled_at sched s t
PRIO: hep_job s j = false
priority_inversion_dec arr_seq sched j t + another_hep_job_interference_dec j t <= priority_inversion_dec arr_seq sched j t || another_hep_job_interference_dec j t
Task: TaskType
H: TaskCost Task
Job: JobType
H0: JobTask Job Task
H1: JobArrival Job
H2: JobCost Job
arr_seq: arrival_sequence Job
H_valid_arrival_sequence: valid_arrival_sequence arr_seq
sched: schedule (processor_state Job)
H_jobs_come_from_arrival_sequence: jobs_come_from_arrival_sequence sched arr_seq
H_jobs_must_arrive_to_execute: jobs_must_arrive_to_execute sched
H_completed_jobs_dont_execute: completed_jobs_dont_execute sched
H3: JLFP_policy Job
H_priority_is_reflexive: reflexive_priorities
H_priority_is_transitive: transitive_priorities
tsk: Task
H_sequential_tasks: sequential_tasks arr_seq sched
H_JLFP_respects_sequential_tasks: policy_respects_sequential_tasks
j: Job
t1, t2, t: nat
s: Job
SCHED: scheduled_at sched s t
PRIO: hep_job s j = true

priority_inversion_dec arr_seq sched j t + another_hep_job_interference_dec j t <= priority_inversion_dec arr_seq sched j t || another_hep_job_interference_dec j t
Task: TaskType
H: TaskCost Task
Job: JobType
H0: JobTask Job Task
H1: JobArrival Job
H2: JobCost Job
arr_seq: arrival_sequence Job
H_valid_arrival_sequence: valid_arrival_sequence arr_seq
sched: schedule (processor_state Job)
H_jobs_come_from_arrival_sequence: jobs_come_from_arrival_sequence sched arr_seq
H_jobs_must_arrive_to_execute: jobs_must_arrive_to_execute sched
H_completed_jobs_dont_execute: completed_jobs_dont_execute sched
H3: JLFP_policy Job
H_priority_is_reflexive: reflexive_priorities
H_priority_is_transitive: transitive_priorities
tsk: Task
H_sequential_tasks: sequential_tasks arr_seq sched
H_JLFP_respects_sequential_tasks: policy_respects_sequential_tasks
j: Job
t1, t2, t: nat
s: Job
SCHED: scheduled_at sched s t
PRIO: hep_job s j = false
priority_inversion_dec arr_seq sched j t + another_hep_job_interference_dec j t <= priority_inversion_dec arr_seq sched j t || another_hep_job_interference_dec j t
Task: TaskType
H: TaskCost Task
Job: JobType
H0: JobTask Job Task
H1: JobArrival Job
H2: JobCost Job
arr_seq: arrival_sequence Job
H_valid_arrival_sequence: valid_arrival_sequence arr_seq
sched: schedule (processor_state Job)
H_jobs_come_from_arrival_sequence: jobs_come_from_arrival_sequence sched arr_seq
H_jobs_must_arrive_to_execute: jobs_must_arrive_to_execute sched
H_completed_jobs_dont_execute: completed_jobs_dont_execute sched
H3: JLFP_policy Job
H_priority_is_reflexive: reflexive_priorities
H_priority_is_transitive: transitive_priorities
tsk: Task
H_sequential_tasks: sequential_tasks arr_seq sched
H_JLFP_respects_sequential_tasks: policy_respects_sequential_tasks
j: Job
t1, t2, t: nat
s: Job
SCHED: scheduled_at sched s t
PRIO: hep_job s j = false

priority_inversion_dec arr_seq sched j t + another_hep_job_interference_dec j t <= priority_inversion_dec arr_seq sched j t || another_hep_job_interference_dec j t
Task: TaskType
H: TaskCost Task
Job: JobType
H0: JobTask Job Task
H1: JobArrival Job
H2: JobCost Job
arr_seq: arrival_sequence Job
H_valid_arrival_sequence: valid_arrival_sequence arr_seq
sched: schedule (processor_state Job)
H_jobs_come_from_arrival_sequence: jobs_come_from_arrival_sequence sched arr_seq
H_jobs_must_arrive_to_execute: jobs_must_arrive_to_execute sched
H_completed_jobs_dont_execute: completed_jobs_dont_execute sched
H3: JLFP_policy Job
H_priority_is_reflexive: reflexive_priorities
H_priority_is_transitive: transitive_priorities
tsk: Task
H_sequential_tasks: sequential_tasks arr_seq sched
H_JLFP_respects_sequential_tasks: policy_respects_sequential_tasks
j: Job
t1, t2, t: nat
s: Job
SCHED: scheduled_at sched s t
PRIO: hep_job s j = false

priority_inversion_dec arr_seq sched j t + another_hep_job_interference_dec j t <= priority_inversion_dec arr_seq sched j t || another_hep_job_interference_dec j t
Task: TaskType
H: TaskCost Task
Job: JobType
H0: JobTask Job Task
H1: JobArrival Job
H2: JobCost Job
arr_seq: arrival_sequence Job
H_valid_arrival_sequence: valid_arrival_sequence arr_seq
sched: schedule (processor_state Job)
H_jobs_come_from_arrival_sequence: jobs_come_from_arrival_sequence sched arr_seq
H_jobs_must_arrive_to_execute: jobs_must_arrive_to_execute sched
H_completed_jobs_dont_execute: completed_jobs_dont_execute sched
H3: JLFP_policy Job
H_priority_is_reflexive: reflexive_priorities
H_priority_is_transitive: transitive_priorities
tsk: Task
H_sequential_tasks: sequential_tasks arr_seq sched
H_JLFP_respects_sequential_tasks: policy_respects_sequential_tasks
j: Job
t1, t2, t: nat
s: Job
SCHED: scheduled_at sched s t
PRIO: hep_job s j = false

true + another_hep_job_interference_dec j t <= true || another_hep_job_interference_dec j t
Task: TaskType
H: TaskCost Task
Job: JobType
H0: JobTask Job Task
H1: JobArrival Job
H2: JobCost Job
arr_seq: arrival_sequence Job
H_valid_arrival_sequence: valid_arrival_sequence arr_seq
sched: schedule (processor_state Job)
H_jobs_come_from_arrival_sequence: jobs_come_from_arrival_sequence sched arr_seq
H_jobs_must_arrive_to_execute: jobs_must_arrive_to_execute sched
H_completed_jobs_dont_execute: completed_jobs_dont_execute sched
H3: JLFP_policy Job
H_priority_is_reflexive: reflexive_priorities
H_priority_is_transitive: transitive_priorities
tsk: Task
H_sequential_tasks: sequential_tasks arr_seq sched
H_JLFP_respects_sequential_tasks: policy_respects_sequential_tasks
j: Job
t1, t2, t: nat
s: Job
SCHED: scheduled_at sched s t
PRIO: hep_job s j = false

true + another_hep_job_interference_dec j t <= true
Task: TaskType
H: TaskCost Task
Job: JobType
H0: JobTask Job Task
H1: JobArrival Job
H2: JobCost Job
arr_seq: arrival_sequence Job
H_valid_arrival_sequence: valid_arrival_sequence arr_seq
sched: schedule (processor_state Job)
H_jobs_come_from_arrival_sequence: jobs_come_from_arrival_sequence sched arr_seq
H_jobs_must_arrive_to_execute: jobs_must_arrive_to_execute sched
H_completed_jobs_dont_execute: completed_jobs_dont_execute sched
H3: JLFP_policy Job
H_priority_is_reflexive: reflexive_priorities
H_priority_is_transitive: transitive_priorities
tsk: Task
H_sequential_tasks: sequential_tasks arr_seq sched
H_JLFP_respects_sequential_tasks: policy_respects_sequential_tasks
j: Job
t1, t2, t: nat
s: Job
SCHED: scheduled_at sched s t
PRIO: hep_job s j = false
IAHEP: another_hep_job_interference_dec j t = true

False
Task: TaskType
H: TaskCost Task
Job: JobType
H0: JobTask Job Task
H1: JobArrival Job
H2: JobCost Job
arr_seq: arrival_sequence Job
H_valid_arrival_sequence: valid_arrival_sequence arr_seq
sched: schedule (processor_state Job)
H_jobs_come_from_arrival_sequence: jobs_come_from_arrival_sequence sched arr_seq
H_jobs_must_arrive_to_execute: jobs_must_arrive_to_execute sched
H_completed_jobs_dont_execute: completed_jobs_dont_execute sched
H3: JLFP_policy Job
H_priority_is_reflexive: reflexive_priorities
H_priority_is_transitive: transitive_priorities
tsk: Task
H_sequential_tasks: sequential_tasks arr_seq sched
H_JLFP_respects_sequential_tasks: policy_respects_sequential_tasks
j: Job
t1, t2, t: nat
s: Job
SCHED: scheduled_at sched s t
PRIO: hep_job s j = false
IAHEP: another_hep_job_interference j t

False
Task: TaskType
H: TaskCost Task
Job: JobType
H0: JobTask Job Task
H1: JobArrival Job
H2: JobCost Job
arr_seq: arrival_sequence Job
H_valid_arrival_sequence: valid_arrival_sequence arr_seq
sched: schedule (processor_state Job)
H_jobs_come_from_arrival_sequence: jobs_come_from_arrival_sequence sched arr_seq
H_jobs_must_arrive_to_execute: jobs_must_arrive_to_execute sched
H_completed_jobs_dont_execute: completed_jobs_dont_execute sched
H3: JLFP_policy Job
H_priority_is_reflexive: reflexive_priorities
H_priority_is_transitive: transitive_priorities
tsk: Task
H_sequential_tasks: sequential_tasks arr_seq sched
H_JLFP_respects_sequential_tasks: policy_respects_sequential_tasks
j: Job
t1, t2, t: nat
s: Job
SCHED: scheduled_at sched s t
PRIO: hep_job s j = false
IAHEP: another_hep_job_interference j t

~~ hep_job s j
by rewrite PRIO. } Qed. (** Similarly, we prove that we can split cumulative interfering workload into two parts: (1) cumulative priority inversion and (2) cumulative interfering workload from jobs with higher or equal priority. *)
Task: TaskType
H: TaskCost Task
Job: JobType
H0: JobTask Job Task
H1: JobArrival Job
H2: JobCost Job
arr_seq: arrival_sequence Job
H_valid_arrival_sequence: valid_arrival_sequence arr_seq
sched: schedule (processor_state Job)
H_jobs_come_from_arrival_sequence: jobs_come_from_arrival_sequence sched arr_seq
H_jobs_must_arrive_to_execute: jobs_must_arrive_to_execute sched
H_completed_jobs_dont_execute: completed_jobs_dont_execute sched
H3: JLFP_policy Job
H_priority_is_reflexive: reflexive_priorities
H_priority_is_transitive: transitive_priorities
tsk: Task
H_sequential_tasks: sequential_tasks arr_seq sched
H_JLFP_respects_sequential_tasks: policy_respects_sequential_tasks

forall (j : Job) (t1 t2 : nat), cumulative_interfering_workload j t1 t2 = cumulative_priority_inversion arr_seq sched j t1 t2 + cumulative_other_hep_jobs_interfering_workload j t1 t2
Task: TaskType
H: TaskCost Task
Job: JobType
H0: JobTask Job Task
H1: JobArrival Job
H2: JobCost Job
arr_seq: arrival_sequence Job
H_valid_arrival_sequence: valid_arrival_sequence arr_seq
sched: schedule (processor_state Job)
H_jobs_come_from_arrival_sequence: jobs_come_from_arrival_sequence sched arr_seq
H_jobs_must_arrive_to_execute: jobs_must_arrive_to_execute sched
H_completed_jobs_dont_execute: completed_jobs_dont_execute sched
H3: JLFP_policy Job
H_priority_is_reflexive: reflexive_priorities
H_priority_is_transitive: transitive_priorities
tsk: Task
H_sequential_tasks: sequential_tasks arr_seq sched
H_JLFP_respects_sequential_tasks: policy_respects_sequential_tasks

forall (j : Job) (t1 t2 : nat), cumulative_interfering_workload j t1 t2 = cumulative_priority_inversion arr_seq sched j t1 t2 + cumulative_other_hep_jobs_interfering_workload j t1 t2
Task: TaskType
H: TaskCost Task
Job: JobType
H0: JobTask Job Task
H1: JobArrival Job
H2: JobCost Job
arr_seq: arrival_sequence Job
H_valid_arrival_sequence: valid_arrival_sequence arr_seq
sched: schedule (processor_state Job)
H_jobs_come_from_arrival_sequence: jobs_come_from_arrival_sequence sched arr_seq
H_jobs_must_arrive_to_execute: jobs_must_arrive_to_execute sched
H_completed_jobs_dont_execute: completed_jobs_dont_execute sched
H3: JLFP_policy Job
H_priority_is_reflexive: reflexive_priorities
H_priority_is_transitive: transitive_priorities
tsk: Task
H_sequential_tasks: sequential_tasks arr_seq sched
H_JLFP_respects_sequential_tasks: policy_respects_sequential_tasks

forall (j : Job) (t1 t2 : nat), \sum_(t1 <= t < t2) interfering_workload j t = \sum_(t1 <= t < t2) priority_inversion_dec arr_seq sched j t + \sum_(t1 <= t < t2) other_hep_jobs_interfering_workload j t
by move => j t1 t2; rewrite -big_split //=. Qed. (** Before we prove a lemma about the task's interference split, we show that any job [j] of task [tsk] experiences _either_ priority inversion or task interference if two properties are satisfied: (1) task [tsk] is not scheduled at a time instant [t] and (2) there is a job [jo] that experiences interference at a time [t]. *)
Task: TaskType
H: TaskCost Task
Job: JobType
H0: JobTask Job Task
H1: JobArrival Job
H2: JobCost Job
arr_seq: arrival_sequence Job
H_valid_arrival_sequence: valid_arrival_sequence arr_seq
sched: schedule (processor_state Job)
H_jobs_come_from_arrival_sequence: jobs_come_from_arrival_sequence sched arr_seq
H_jobs_must_arrive_to_execute: jobs_must_arrive_to_execute sched
H_completed_jobs_dont_execute: completed_jobs_dont_execute sched
H3: JLFP_policy Job
H_priority_is_reflexive: reflexive_priorities
H_priority_is_transitive: transitive_priorities
tsk: Task
H_sequential_tasks: sequential_tasks arr_seq sched
H_JLFP_respects_sequential_tasks: policy_respects_sequential_tasks

forall (j : Job) (t : instant), job_of_task tsk j -> ~ task_scheduled_at sched tsk t -> forall jo : Job, interference jo t -> ~~ priority_inversion_dec arr_seq sched j t && another_task_hep_job_interference_dec j t || priority_inversion_dec arr_seq sched j t && ~~ another_task_hep_job_interference_dec j t
Task: TaskType
H: TaskCost Task
Job: JobType
H0: JobTask Job Task
H1: JobArrival Job
H2: JobCost Job
arr_seq: arrival_sequence Job
H_valid_arrival_sequence: valid_arrival_sequence arr_seq
sched: schedule (processor_state Job)
H_jobs_come_from_arrival_sequence: jobs_come_from_arrival_sequence sched arr_seq
H_jobs_must_arrive_to_execute: jobs_must_arrive_to_execute sched
H_completed_jobs_dont_execute: completed_jobs_dont_execute sched
H3: JLFP_policy Job
H_priority_is_reflexive: reflexive_priorities
H_priority_is_transitive: transitive_priorities
tsk: Task
H_sequential_tasks: sequential_tasks arr_seq sched
H_JLFP_respects_sequential_tasks: policy_respects_sequential_tasks

forall (j : Job) (t : instant), job_of_task tsk j -> ~ task_scheduled_at sched tsk t -> forall jo : Job, interference jo t -> ~~ priority_inversion_dec arr_seq sched j t && another_task_hep_job_interference_dec j t || priority_inversion_dec arr_seq sched j t && ~~ another_task_hep_job_interference_dec j t
Task: TaskType
H: TaskCost Task
Job: JobType
H0: JobTask Job Task
H1: JobArrival Job
H2: JobCost Job
arr_seq: arrival_sequence Job
H_valid_arrival_sequence: valid_arrival_sequence arr_seq
sched: schedule (processor_state Job)
H_jobs_come_from_arrival_sequence: jobs_come_from_arrival_sequence sched arr_seq
H_jobs_must_arrive_to_execute: jobs_must_arrive_to_execute sched
H_completed_jobs_dont_execute: completed_jobs_dont_execute sched
H3: JLFP_policy Job
H_priority_is_reflexive: reflexive_priorities
H_priority_is_transitive: transitive_priorities
tsk: Task
H_sequential_tasks: sequential_tasks arr_seq sched
H_JLFP_respects_sequential_tasks: policy_respects_sequential_tasks
j: Job
t: instant
TSK: job_of_task tsk j
TNSCHED: ~ task_scheduled_at sched tsk t
jo: Job
INT: interference jo t

~~ priority_inversion_dec arr_seq sched j t && another_task_hep_job_interference_dec j t || priority_inversion_dec arr_seq sched j t && ~~ another_task_hep_job_interference_dec j t
Task: TaskType
H: TaskCost Task
Job: JobType
H0: JobTask Job Task
H1: JobArrival Job
H2: JobCost Job
arr_seq: arrival_sequence Job
H_valid_arrival_sequence: valid_arrival_sequence arr_seq
sched: schedule (processor_state Job)
H_jobs_come_from_arrival_sequence: jobs_come_from_arrival_sequence sched arr_seq
H_jobs_must_arrive_to_execute: jobs_must_arrive_to_execute sched
H_completed_jobs_dont_execute: completed_jobs_dont_execute sched
H3: JLFP_policy Job
H_priority_is_reflexive: reflexive_priorities
H_priority_is_transitive: transitive_priorities
tsk: Task
H_sequential_tasks: sequential_tasks arr_seq sched
H_JLFP_respects_sequential_tasks: policy_respects_sequential_tasks
j: Job
t: instant
TSK: job_of_task tsk j
TNSCHED: ~ task_scheduled_at sched tsk t
jo: Job
INT: interference jo t
PI: priority_inversion_dec arr_seq sched j t = true

~~ another_task_hep_job_interference_dec j t
Task: TaskType
H: TaskCost Task
Job: JobType
H0: JobTask Job Task
H1: JobArrival Job
H2: JobCost Job
arr_seq: arrival_sequence Job
H_valid_arrival_sequence: valid_arrival_sequence arr_seq
sched: schedule (processor_state Job)
H_jobs_come_from_arrival_sequence: jobs_come_from_arrival_sequence sched arr_seq
H_jobs_must_arrive_to_execute: jobs_must_arrive_to_execute sched
H_completed_jobs_dont_execute: completed_jobs_dont_execute sched
H3: JLFP_policy Job
H_priority_is_reflexive: reflexive_priorities
H_priority_is_transitive: transitive_priorities
tsk: Task
H_sequential_tasks: sequential_tasks arr_seq sched
H_JLFP_respects_sequential_tasks: policy_respects_sequential_tasks
j: Job
t: instant
TSK: job_of_task tsk j
TNSCHED: ~ task_scheduled_at sched tsk t
jo: Job
INT: interference jo t
PI: priority_inversion_dec arr_seq sched j t = false
another_task_hep_job_interference_dec j t || false
Task: TaskType
H: TaskCost Task
Job: JobType
H0: JobTask Job Task
H1: JobArrival Job
H2: JobCost Job
arr_seq: arrival_sequence Job
H_valid_arrival_sequence: valid_arrival_sequence arr_seq
sched: schedule (processor_state Job)
H_jobs_come_from_arrival_sequence: jobs_come_from_arrival_sequence sched arr_seq
H_jobs_must_arrive_to_execute: jobs_must_arrive_to_execute sched
H_completed_jobs_dont_execute: completed_jobs_dont_execute sched
H3: JLFP_policy Job
H_priority_is_reflexive: reflexive_priorities
H_priority_is_transitive: transitive_priorities
tsk: Task
H_sequential_tasks: sequential_tasks arr_seq sched
H_JLFP_respects_sequential_tasks: policy_respects_sequential_tasks
j: Job
t: instant
TSK: job_of_task tsk j
TNSCHED: ~ task_scheduled_at sched tsk t
jo: Job
INT: interference jo t
PI: priority_inversion_dec arr_seq sched j t = true

~~ another_task_hep_job_interference_dec j t
Task: TaskType
H: TaskCost Task
Job: JobType
H0: JobTask Job Task
H1: JobArrival Job
H2: JobCost Job
arr_seq: arrival_sequence Job
H_valid_arrival_sequence: valid_arrival_sequence arr_seq
sched: schedule (processor_state Job)
H_jobs_come_from_arrival_sequence: jobs_come_from_arrival_sequence sched arr_seq
H_jobs_must_arrive_to_execute: jobs_must_arrive_to_execute sched
H_completed_jobs_dont_execute: completed_jobs_dont_execute sched
H3: JLFP_policy Job
H_priority_is_reflexive: reflexive_priorities
H_priority_is_transitive: transitive_priorities
tsk: Task
H_sequential_tasks: sequential_tasks arr_seq sched
H_JLFP_respects_sequential_tasks: policy_respects_sequential_tasks
j: Job
t: instant
TSK: job_of_task tsk j
TNSCHED: ~ task_scheduled_at sched tsk t
jo: Job
INT: interference jo t
PI: priority_inversion_dec arr_seq sched j t = false
another_task_hep_job_interference_dec j t || false
Task: TaskType
H: TaskCost Task
Job: JobType
H0: JobTask Job Task
H1: JobArrival Job
H2: JobCost Job
arr_seq: arrival_sequence Job
H_valid_arrival_sequence: valid_arrival_sequence arr_seq
sched: schedule (processor_state Job)
H_jobs_come_from_arrival_sequence: jobs_come_from_arrival_sequence sched arr_seq
H_jobs_must_arrive_to_execute: jobs_must_arrive_to_execute sched
H_completed_jobs_dont_execute: completed_jobs_dont_execute sched
H3: JLFP_policy Job
H_priority_is_reflexive: reflexive_priorities
H_priority_is_transitive: transitive_priorities
tsk: Task
H_sequential_tasks: sequential_tasks arr_seq sched
H_JLFP_respects_sequential_tasks: policy_respects_sequential_tasks
j: Job
t: instant
TSK: job_of_task tsk j
TNSCHED: ~ task_scheduled_at sched tsk t
jo: Job
INT: interference jo t
PI: ~ ~ priority_inversion sched j t

~~ another_task_hep_job_interference_dec j t
Task: TaskType
H: TaskCost Task
Job: JobType
H0: JobTask Job Task
H1: JobArrival Job
H2: JobCost Job
arr_seq: arrival_sequence Job
H_valid_arrival_sequence: valid_arrival_sequence arr_seq
sched: schedule (processor_state Job)
H_jobs_come_from_arrival_sequence: jobs_come_from_arrival_sequence sched arr_seq
H_jobs_must_arrive_to_execute: jobs_must_arrive_to_execute sched
H_completed_jobs_dont_execute: completed_jobs_dont_execute sched
H3: JLFP_policy Job
H_priority_is_reflexive: reflexive_priorities
H_priority_is_transitive: transitive_priorities
tsk: Task
H_sequential_tasks: sequential_tasks arr_seq sched
H_JLFP_respects_sequential_tasks: policy_respects_sequential_tasks
j: Job
t: instant
TSK: job_of_task tsk j
TNSCHED: ~ task_scheduled_at sched tsk t
jo: Job
INT: interference jo t
PI: priority_inversion_dec arr_seq sched j t = false
another_task_hep_job_interference_dec j t || false
Task: TaskType
H: TaskCost Task
Job: JobType
H0: JobTask Job Task
H1: JobArrival Job
H2: JobCost Job
arr_seq: arrival_sequence Job
H_valid_arrival_sequence: valid_arrival_sequence arr_seq
sched: schedule (processor_state Job)
H_jobs_come_from_arrival_sequence: jobs_come_from_arrival_sequence sched arr_seq
H_jobs_must_arrive_to_execute: jobs_must_arrive_to_execute sched
H_completed_jobs_dont_execute: completed_jobs_dont_execute sched
H3: JLFP_policy Job
H_priority_is_reflexive: reflexive_priorities
H_priority_is_transitive: transitive_priorities
tsk: Task
H_sequential_tasks: sequential_tasks arr_seq sched
H_JLFP_respects_sequential_tasks: policy_respects_sequential_tasks
j: Job
t: instant
TSK: job_of_task tsk j
TNSCHED: ~ task_scheduled_at sched tsk t
jo: Job
INT: interference jo t
PI: ~ ~ priority_inversion sched j t
jhp: Job
IN__jhp: jhp \in arrivals_up_to arr_seq t
ATHEP__hp: hep_job jhp j
BB: job_task jhp != job_task j
RS__jhp: receives_service_at sched jhp t

False
Task: TaskType
H: TaskCost Task
Job: JobType
H0: JobTask Job Task
H1: JobArrival Job
H2: JobCost Job
arr_seq: arrival_sequence Job
H_valid_arrival_sequence: valid_arrival_sequence arr_seq
sched: schedule (processor_state Job)
H_jobs_come_from_arrival_sequence: jobs_come_from_arrival_sequence sched arr_seq
H_jobs_must_arrive_to_execute: jobs_must_arrive_to_execute sched
H_completed_jobs_dont_execute: completed_jobs_dont_execute sched
H3: JLFP_policy Job
H_priority_is_reflexive: reflexive_priorities
H_priority_is_transitive: transitive_priorities
tsk: Task
H_sequential_tasks: sequential_tasks arr_seq sched
H_JLFP_respects_sequential_tasks: policy_respects_sequential_tasks
j: Job
t: instant
TSK: job_of_task tsk j
TNSCHED: ~ task_scheduled_at sched tsk t
jo: Job
INT: interference jo t
PI: priority_inversion_dec arr_seq sched j t = false
another_task_hep_job_interference_dec j t || false
Task: TaskType
H: TaskCost Task
Job: JobType
H0: JobTask Job Task
H1: JobArrival Job
H2: JobCost Job
arr_seq: arrival_sequence Job
H_valid_arrival_sequence: valid_arrival_sequence arr_seq
sched: schedule (processor_state Job)
H_jobs_come_from_arrival_sequence: jobs_come_from_arrival_sequence sched arr_seq
H_jobs_must_arrive_to_execute: jobs_must_arrive_to_execute sched
H_completed_jobs_dont_execute: completed_jobs_dont_execute sched
H3: JLFP_policy Job
H_priority_is_reflexive: reflexive_priorities
H_priority_is_transitive: transitive_priorities
tsk: Task
H_sequential_tasks: sequential_tasks arr_seq sched
H_JLFP_respects_sequential_tasks: policy_respects_sequential_tasks
j: Job
t: instant
TSK: job_of_task tsk j
TNSCHED: ~ task_scheduled_at sched tsk t
jo: Job
INT: interference jo t
jhp: Job
IN__jhp: jhp \in arrivals_up_to arr_seq t
ATHEP__hp: hep_job jhp j
BB: job_task jhp != job_task j
RS__jhp: receives_service_at sched jhp t
jlp: Job
SCHED__jlp: scheduled_at sched jlp t
LEP__jlp: ~~ hep_job jlp j

False
Task: TaskType
H: TaskCost Task
Job: JobType
H0: JobTask Job Task
H1: JobArrival Job
H2: JobCost Job
arr_seq: arrival_sequence Job
H_valid_arrival_sequence: valid_arrival_sequence arr_seq
sched: schedule (processor_state Job)
H_jobs_come_from_arrival_sequence: jobs_come_from_arrival_sequence sched arr_seq
H_jobs_must_arrive_to_execute: jobs_must_arrive_to_execute sched
H_completed_jobs_dont_execute: completed_jobs_dont_execute sched
H3: JLFP_policy Job
H_priority_is_reflexive: reflexive_priorities
H_priority_is_transitive: transitive_priorities
tsk: Task
H_sequential_tasks: sequential_tasks arr_seq sched
H_JLFP_respects_sequential_tasks: policy_respects_sequential_tasks
j: Job
t: instant
TSK: job_of_task tsk j
TNSCHED: ~ task_scheduled_at sched tsk t
jo: Job
INT: interference jo t
PI: priority_inversion_dec arr_seq sched j t = false
another_task_hep_job_interference_dec j t || false
Task: TaskType
H: TaskCost Task
Job: JobType
H0: JobTask Job Task
H1: JobArrival Job
H2: JobCost Job
arr_seq: arrival_sequence Job
H_valid_arrival_sequence: valid_arrival_sequence arr_seq
sched: schedule (processor_state Job)
H_jobs_come_from_arrival_sequence: jobs_come_from_arrival_sequence sched arr_seq
H_jobs_must_arrive_to_execute: jobs_must_arrive_to_execute sched
H_completed_jobs_dont_execute: completed_jobs_dont_execute sched
H3: JLFP_policy Job
H_priority_is_reflexive: reflexive_priorities
H_priority_is_transitive: transitive_priorities
tsk: Task
H_sequential_tasks: sequential_tasks arr_seq sched
H_JLFP_respects_sequential_tasks: policy_respects_sequential_tasks
j: Job
t: instant
TSK: job_of_task tsk j
TNSCHED: ~ task_scheduled_at sched tsk t
jo: Job
INT: interference jo t
jhp: Job
IN__jhp: jhp \in arrivals_up_to arr_seq t
ATHEP__hp: hep_job jhp j
BB: job_task jhp != job_task j
RS__jhp: receives_service_at sched jhp t
jlp: Job
SCHED__jlp: scheduled_at sched jlp t
LEP__jlp: ~~ hep_job jlp j

jlp = jhp
Task: TaskType
H: TaskCost Task
Job: JobType
H0: JobTask Job Task
H1: JobArrival Job
H2: JobCost Job
arr_seq: arrival_sequence Job
H_valid_arrival_sequence: valid_arrival_sequence arr_seq
sched: schedule (processor_state Job)
H_jobs_come_from_arrival_sequence: jobs_come_from_arrival_sequence sched arr_seq
H_jobs_must_arrive_to_execute: jobs_must_arrive_to_execute sched
H_completed_jobs_dont_execute: completed_jobs_dont_execute sched
H3: JLFP_policy Job
H_priority_is_reflexive: reflexive_priorities
H_priority_is_transitive: transitive_priorities
tsk: Task
H_sequential_tasks: sequential_tasks arr_seq sched
H_JLFP_respects_sequential_tasks: policy_respects_sequential_tasks
j: Job
t: instant
TSK: job_of_task tsk j
TNSCHED: ~ task_scheduled_at sched tsk t
jo: Job
INT: interference jo t
PI: priority_inversion_dec arr_seq sched j t = false
another_task_hep_job_interference_dec j t || false
Task: TaskType
H: TaskCost Task
Job: JobType
H0: JobTask Job Task
H1: JobArrival Job
H2: JobCost Job
arr_seq: arrival_sequence Job
H_valid_arrival_sequence: valid_arrival_sequence arr_seq
sched: schedule (processor_state Job)
H_jobs_come_from_arrival_sequence: jobs_come_from_arrival_sequence sched arr_seq
H_jobs_must_arrive_to_execute: jobs_must_arrive_to_execute sched
H_completed_jobs_dont_execute: completed_jobs_dont_execute sched
H3: JLFP_policy Job
H_priority_is_reflexive: reflexive_priorities
H_priority_is_transitive: transitive_priorities
tsk: Task
H_sequential_tasks: sequential_tasks arr_seq sched
H_JLFP_respects_sequential_tasks: policy_respects_sequential_tasks
j: Job
t: instant
TSK: job_of_task tsk j
TNSCHED: ~ task_scheduled_at sched tsk t
jo: Job
INT: interference jo t
jhp: Job
IN__jhp: jhp \in arrivals_up_to arr_seq t
ATHEP__hp: hep_job jhp j
BB: job_task jhp != job_task j
jlp: Job
SCHED__jlp: scheduled_at sched jlp t
LEP__jlp: ~~ hep_job jlp j

receives_service_at sched jhp t -> scheduled_at sched jhp t
Task: TaskType
H: TaskCost Task
Job: JobType
H0: JobTask Job Task
H1: JobArrival Job
H2: JobCost Job
arr_seq: arrival_sequence Job
H_valid_arrival_sequence: valid_arrival_sequence arr_seq
sched: schedule (processor_state Job)
H_jobs_come_from_arrival_sequence: jobs_come_from_arrival_sequence sched arr_seq
H_jobs_must_arrive_to_execute: jobs_must_arrive_to_execute sched
H_completed_jobs_dont_execute: completed_jobs_dont_execute sched
H3: JLFP_policy Job
H_priority_is_reflexive: reflexive_priorities
H_priority_is_transitive: transitive_priorities
tsk: Task
H_sequential_tasks: sequential_tasks arr_seq sched
H_JLFP_respects_sequential_tasks: policy_respects_sequential_tasks
j: Job
t: instant
TSK: job_of_task tsk j
TNSCHED: ~ task_scheduled_at sched tsk t
jo: Job
INT: interference jo t
PI: priority_inversion_dec arr_seq sched j t = false
another_task_hep_job_interference_dec j t || false
Task: TaskType
H: TaskCost Task
Job: JobType
H0: JobTask Job Task
H1: JobArrival Job
H2: JobCost Job
arr_seq: arrival_sequence Job
H_valid_arrival_sequence: valid_arrival_sequence arr_seq
sched: schedule (processor_state Job)
H_jobs_come_from_arrival_sequence: jobs_come_from_arrival_sequence sched arr_seq
H_jobs_must_arrive_to_execute: jobs_must_arrive_to_execute sched
H_completed_jobs_dont_execute: completed_jobs_dont_execute sched
H3: JLFP_policy Job
H_priority_is_reflexive: reflexive_priorities
H_priority_is_transitive: transitive_priorities
tsk: Task
H_sequential_tasks: sequential_tasks arr_seq sched
H_JLFP_respects_sequential_tasks: policy_respects_sequential_tasks
j: Job
t: instant
TSK: job_of_task tsk j
TNSCHED: ~ task_scheduled_at sched tsk t
jo: Job
INT: interference jo t
PI: priority_inversion_dec arr_seq sched j t = false

another_task_hep_job_interference_dec j t || false
Task: TaskType
H: TaskCost Task
Job: JobType
H0: JobTask Job Task
H1: JobArrival Job
H2: JobCost Job
arr_seq: arrival_sequence Job
H_valid_arrival_sequence: valid_arrival_sequence arr_seq
sched: schedule (processor_state Job)
H_jobs_come_from_arrival_sequence: jobs_come_from_arrival_sequence sched arr_seq
H_jobs_must_arrive_to_execute: jobs_must_arrive_to_execute sched
H_completed_jobs_dont_execute: completed_jobs_dont_execute sched
H3: JLFP_policy Job
H_priority_is_reflexive: reflexive_priorities
H_priority_is_transitive: transitive_priorities
tsk: Task
H_sequential_tasks: sequential_tasks arr_seq sched
H_JLFP_respects_sequential_tasks: policy_respects_sequential_tasks
j: Job
t: instant
TSK: job_of_task tsk j
TNSCHED: ~ task_scheduled_at sched tsk t
jo: Job
INT: interference jo t
PI: priority_inversion_dec arr_seq sched j t = false

another_task_hep_job_interference_dec j t || false
Task: TaskType
H: TaskCost Task
Job: JobType
H0: JobTask Job Task
H1: JobArrival Job
H2: JobCost Job
arr_seq: arrival_sequence Job
H_valid_arrival_sequence: valid_arrival_sequence arr_seq
sched: schedule (processor_state Job)
H_jobs_come_from_arrival_sequence: jobs_come_from_arrival_sequence sched arr_seq
H_jobs_must_arrive_to_execute: jobs_must_arrive_to_execute sched
H_completed_jobs_dont_execute: completed_jobs_dont_execute sched
H3: JLFP_policy Job
H_priority_is_reflexive: reflexive_priorities
H_priority_is_transitive: transitive_priorities
tsk: Task
H_sequential_tasks: sequential_tasks arr_seq sched
H_JLFP_respects_sequential_tasks: policy_respects_sequential_tasks
j: Job
t: instant
TSK: job_of_task tsk j
TNSCHED: ~ task_scheduled_at sched tsk t
jo: Job
INT: interference jo t
PI: priority_inversion_dec arr_seq sched j t = false
IATHEP: another_task_hep_job_interference_dec j t = false

False
Task: TaskType
H: TaskCost Task
Job: JobType
H0: JobTask Job Task
H1: JobArrival Job
H2: JobCost Job
arr_seq: arrival_sequence Job
H_valid_arrival_sequence: valid_arrival_sequence arr_seq
sched: schedule (processor_state Job)
H_jobs_come_from_arrival_sequence: jobs_come_from_arrival_sequence sched arr_seq
H_jobs_must_arrive_to_execute: jobs_must_arrive_to_execute sched
H_completed_jobs_dont_execute: completed_jobs_dont_execute sched
H3: JLFP_policy Job
H_priority_is_reflexive: reflexive_priorities
H_priority_is_transitive: transitive_priorities
tsk: Task
H_sequential_tasks: sequential_tasks arr_seq sched
H_JLFP_respects_sequential_tasks: policy_respects_sequential_tasks
j: Job
t: instant
TSK: job_of_task tsk j
TNSCHED: ~ task_scheduled_at sched tsk t
jo: Job
INT: interference jo t
PI: priority_inversion_dec arr_seq sched j t = false
IATHEP: another_task_hep_job_interference_dec j t = false

interference jo t -> exists jt : Job, scheduled_at sched jt t
Task: TaskType
H: TaskCost Task
Job: JobType
H0: JobTask Job Task
H1: JobArrival Job
H2: JobCost Job
arr_seq: arrival_sequence Job
H_valid_arrival_sequence: valid_arrival_sequence arr_seq
sched: schedule (processor_state Job)
H_jobs_come_from_arrival_sequence: jobs_come_from_arrival_sequence sched arr_seq
H_jobs_must_arrive_to_execute: jobs_must_arrive_to_execute sched
H_completed_jobs_dont_execute: completed_jobs_dont_execute sched
H3: JLFP_policy Job
H_priority_is_reflexive: reflexive_priorities
H_priority_is_transitive: transitive_priorities
tsk: Task
H_sequential_tasks: sequential_tasks arr_seq sched
H_JLFP_respects_sequential_tasks: policy_respects_sequential_tasks
j: Job
t: instant
TSK: job_of_task tsk j
TNSCHED: ~ task_scheduled_at sched tsk t
jo: Job
INT: interference jo t
PI: priority_inversion_dec arr_seq sched j t = false
IATHEP: another_task_hep_job_interference_dec j t = false
L1: interference jo t -> exists jt : Job, scheduled_at sched jt t
False
Task: TaskType
H: TaskCost Task
Job: JobType
H0: JobTask Job Task
H1: JobArrival Job
H2: JobCost Job
arr_seq: arrival_sequence Job
H_valid_arrival_sequence: valid_arrival_sequence arr_seq
sched: schedule (processor_state Job)
H_jobs_come_from_arrival_sequence: jobs_come_from_arrival_sequence sched arr_seq
H_jobs_must_arrive_to_execute: jobs_must_arrive_to_execute sched
H_completed_jobs_dont_execute: completed_jobs_dont_execute sched
H3: JLFP_policy Job
H_priority_is_reflexive: reflexive_priorities
H_priority_is_transitive: transitive_priorities
tsk: Task
H_sequential_tasks: sequential_tasks arr_seq sched
H_JLFP_respects_sequential_tasks: policy_respects_sequential_tasks
j: Job
t: instant
TSK: job_of_task tsk j
TNSCHED: ~ task_scheduled_at sched tsk t
jo: Job
INT: interference jo t
PI: priority_inversion_dec arr_seq sched j t = false
IATHEP: another_task_hep_job_interference_dec j t = false

interference jo t -> exists jt : Job, scheduled_at sched jt t
Task: TaskType
H: TaskCost Task
Job: JobType
H0: JobTask Job Task
H1: JobArrival Job
H2: JobCost Job
arr_seq: arrival_sequence Job
H_valid_arrival_sequence: valid_arrival_sequence arr_seq
sched: schedule (processor_state Job)
H_jobs_come_from_arrival_sequence: jobs_come_from_arrival_sequence sched arr_seq
H_jobs_must_arrive_to_execute: jobs_must_arrive_to_execute sched
H_completed_jobs_dont_execute: completed_jobs_dont_execute sched
H3: JLFP_policy Job
H_priority_is_reflexive: reflexive_priorities
H_priority_is_transitive: transitive_priorities
tsk: Task
H_sequential_tasks: sequential_tasks arr_seq sched
H_JLFP_respects_sequential_tasks: policy_respects_sequential_tasks
j: Job
t: instant
TSK: job_of_task tsk j
TNSCHED: ~ task_scheduled_at sched tsk t
jo: Job
INT: interference jo t
PI: jobs_come_from_arrival_sequence sched arr_seq -> jobs_must_arrive_to_execute sched -> consistent_arrival_times arr_seq -> priority_inversion sched jo t

exists jt : Job, scheduled_at sched jt t
Task: TaskType
H: TaskCost Task
Job: JobType
H0: JobTask Job Task
H1: JobArrival Job
H2: JobCost Job
arr_seq: arrival_sequence Job
H_valid_arrival_sequence: valid_arrival_sequence arr_seq
sched: schedule (processor_state Job)
H_jobs_come_from_arrival_sequence: jobs_come_from_arrival_sequence sched arr_seq
H_jobs_must_arrive_to_execute: jobs_must_arrive_to_execute sched
H_completed_jobs_dont_execute: completed_jobs_dont_execute sched
H3: JLFP_policy Job
H_priority_is_reflexive: reflexive_priorities
H_priority_is_transitive: transitive_priorities
tsk: Task
H_sequential_tasks: sequential_tasks arr_seq sched
H_JLFP_respects_sequential_tasks: policy_respects_sequential_tasks
j: Job
t: instant
TSK: job_of_task tsk j
TNSCHED: ~ task_scheduled_at sched tsk t
jo: Job
INT: interference jo t
another_hep_job_interference_dec jo t -> exists jt : Job, scheduled_at sched jt t
Task: TaskType
H: TaskCost Task
Job: JobType
H0: JobTask Job Task
H1: JobArrival Job
H2: JobCost Job
arr_seq: arrival_sequence Job
H_valid_arrival_sequence: valid_arrival_sequence arr_seq
sched: schedule (processor_state Job)
H_jobs_come_from_arrival_sequence: jobs_come_from_arrival_sequence sched arr_seq
H_jobs_must_arrive_to_execute: jobs_must_arrive_to_execute sched
H_completed_jobs_dont_execute: completed_jobs_dont_execute sched
H3: JLFP_policy Job
H_priority_is_reflexive: reflexive_priorities
H_priority_is_transitive: transitive_priorities
tsk: Task
H_sequential_tasks: sequential_tasks arr_seq sched
H_JLFP_respects_sequential_tasks: policy_respects_sequential_tasks
j: Job
t: instant
TSK: job_of_task tsk j
TNSCHED: ~ task_scheduled_at sched tsk t
jo: Job
INT: interference jo t
PI: jobs_come_from_arrival_sequence sched arr_seq -> jobs_must_arrive_to_execute sched -> consistent_arrival_times arr_seq -> priority_inversion sched jo t

exists jt : Job, scheduled_at sched jt t
by feed_n 3 PI; rt_auto; move: PI => [NSCHED [jt /andP [SCHED _]]]; exists jt.
Task: TaskType
H: TaskCost Task
Job: JobType
H0: JobTask Job Task
H1: JobArrival Job
H2: JobCost Job
arr_seq: arrival_sequence Job
H_valid_arrival_sequence: valid_arrival_sequence arr_seq
sched: schedule (processor_state Job)
H_jobs_come_from_arrival_sequence: jobs_come_from_arrival_sequence sched arr_seq
H_jobs_must_arrive_to_execute: jobs_must_arrive_to_execute sched
H_completed_jobs_dont_execute: completed_jobs_dont_execute sched
H3: JLFP_policy Job
H_priority_is_reflexive: reflexive_priorities
H_priority_is_transitive: transitive_priorities
tsk: Task
H_sequential_tasks: sequential_tasks arr_seq sched
H_JLFP_respects_sequential_tasks: policy_respects_sequential_tasks
j: Job
t: instant
TSK: job_of_task tsk j
TNSCHED: ~ task_scheduled_at sched tsk t
jo: Job
INT: interference jo t

another_hep_job_interference_dec jo t -> exists jt : Job, scheduled_at sched jt t
Task: TaskType
H: TaskCost Task
Job: JobType
H0: JobTask Job Task
H1: JobArrival Job
H2: JobCost Job
arr_seq: arrival_sequence Job
H_valid_arrival_sequence: valid_arrival_sequence arr_seq
sched: schedule (processor_state Job)
H_jobs_come_from_arrival_sequence: jobs_come_from_arrival_sequence sched arr_seq
H_jobs_must_arrive_to_execute: jobs_must_arrive_to_execute sched
H_completed_jobs_dont_execute: completed_jobs_dont_execute sched
H3: JLFP_policy Job
H_priority_is_reflexive: reflexive_priorities
H_priority_is_transitive: transitive_priorities
tsk: Task
H_sequential_tasks: sequential_tasks arr_seq sched
H_JLFP_respects_sequential_tasks: policy_respects_sequential_tasks
j: Job
t: instant
TSK: job_of_task tsk j
TNSCHED: ~ task_scheduled_at sched tsk t
jo: Job
INT: interference jo t

another_hep_job_interference_dec jo t -> exists jt : Job, scheduled_at sched jt t
Task: TaskType
H: TaskCost Task
Job: JobType
H0: JobTask Job Task
H1: JobArrival Job
H2: JobCost Job
arr_seq: arrival_sequence Job
H_valid_arrival_sequence: valid_arrival_sequence arr_seq
sched: schedule (processor_state Job)
H_jobs_come_from_arrival_sequence: jobs_come_from_arrival_sequence sched arr_seq
H_jobs_must_arrive_to_execute: jobs_must_arrive_to_execute sched
H_completed_jobs_dont_execute: completed_jobs_dont_execute sched
H3: JLFP_policy Job
H_priority_is_reflexive: reflexive_priorities
H_priority_is_transitive: transitive_priorities
tsk: Task
H_sequential_tasks: sequential_tasks arr_seq sched
H_JLFP_respects_sequential_tasks: policy_respects_sequential_tasks
j: Job
t: instant
TSK: job_of_task tsk j
TNSCHED: ~ task_scheduled_at sched tsk t
jo: Job
INT: interference jo t
jt: Job
RSERV: receives_service_at sched jt t

exists jt : Job, scheduled_at sched jt t
by exists jt; move: RSERV; rewrite /receives_service_at service_at_is_scheduled_at lt0b. }
Task: TaskType
H: TaskCost Task
Job: JobType
H0: JobTask Job Task
H1: JobArrival Job
H2: JobCost Job
arr_seq: arrival_sequence Job
H_valid_arrival_sequence: valid_arrival_sequence arr_seq
sched: schedule (processor_state Job)
H_jobs_come_from_arrival_sequence: jobs_come_from_arrival_sequence sched arr_seq
H_jobs_must_arrive_to_execute: jobs_must_arrive_to_execute sched
H_completed_jobs_dont_execute: completed_jobs_dont_execute sched
H3: JLFP_policy Job
H_priority_is_reflexive: reflexive_priorities
H_priority_is_transitive: transitive_priorities
tsk: Task
H_sequential_tasks: sequential_tasks arr_seq sched
H_JLFP_respects_sequential_tasks: policy_respects_sequential_tasks
j: Job
t: instant
TSK: job_of_task tsk j
TNSCHED: ~ task_scheduled_at sched tsk t
jo: Job
INT: interference jo t
PI: priority_inversion_dec arr_seq sched j t = false
IATHEP: another_task_hep_job_interference_dec j t = false
L1: interference jo t -> exists jt : Job, scheduled_at sched jt t

False
Task: TaskType
H: TaskCost Task
Job: JobType
H0: JobTask Job Task
H1: JobArrival Job
H2: JobCost Job
arr_seq: arrival_sequence Job
H_valid_arrival_sequence: valid_arrival_sequence arr_seq
sched: schedule (processor_state Job)
H_jobs_come_from_arrival_sequence: jobs_come_from_arrival_sequence sched arr_seq
H_jobs_must_arrive_to_execute: jobs_must_arrive_to_execute sched
H_completed_jobs_dont_execute: completed_jobs_dont_execute sched
H3: JLFP_policy Job
H_priority_is_reflexive: reflexive_priorities
H_priority_is_transitive: transitive_priorities
tsk: Task
H_sequential_tasks: sequential_tasks arr_seq sched
H_JLFP_respects_sequential_tasks: policy_respects_sequential_tasks
j: Job
t: instant
TSK: job_of_task tsk j
TNSCHED: ~ task_scheduled_at sched tsk t
jo, jt: Job
SCHED: scheduled_at sched jt t
PI: priority_inversion_dec arr_seq sched j t = false
IATHEP: another_task_hep_job_interference_dec j t = false

False
Task: TaskType
H: TaskCost Task
Job: JobType
H0: JobTask Job Task
H1: JobArrival Job
H2: JobCost Job
arr_seq: arrival_sequence Job
H_valid_arrival_sequence: valid_arrival_sequence arr_seq
sched: schedule (processor_state Job)
H_jobs_come_from_arrival_sequence: jobs_come_from_arrival_sequence sched arr_seq
H_jobs_must_arrive_to_execute: jobs_must_arrive_to_execute sched
H_completed_jobs_dont_execute: completed_jobs_dont_execute sched
H3: JLFP_policy Job
H_priority_is_reflexive: reflexive_priorities
H_priority_is_transitive: transitive_priorities
tsk: Task
H_sequential_tasks: sequential_tasks arr_seq sched
H_JLFP_respects_sequential_tasks: policy_respects_sequential_tasks
j: Job
t: instant
TSK: job_of_task tsk j
TNSCHED: ~ task_scheduled_at sched tsk t
jo, jt: Job
SCHED: scheduled_at sched jt t
IATHEP: another_task_hep_job_interference_dec j t = false

priority_inversion sched j t
Task: TaskType
H: TaskCost Task
Job: JobType
H0: JobTask Job Task
H1: JobArrival Job
H2: JobCost Job
arr_seq: arrival_sequence Job
H_valid_arrival_sequence: valid_arrival_sequence arr_seq
sched: schedule (processor_state Job)
H_jobs_come_from_arrival_sequence: jobs_come_from_arrival_sequence sched arr_seq
H_jobs_must_arrive_to_execute: jobs_must_arrive_to_execute sched
H_completed_jobs_dont_execute: completed_jobs_dont_execute sched
H3: JLFP_policy Job
H_priority_is_reflexive: reflexive_priorities
H_priority_is_transitive: transitive_priorities
tsk: Task
H_sequential_tasks: sequential_tasks arr_seq sched
H_JLFP_respects_sequential_tasks: policy_respects_sequential_tasks
j: Job
t: instant
TSK: job_of_task tsk j
TNSCHED: ~ task_scheduled_at sched tsk t
jo, jt: Job
SCHED: scheduled_at sched jt t
OH: {in arrivals_up_to arr_seq t, forall x : Job, ~~ (another_task_hep_job x j && receives_service_at sched x t)}

priority_inversion sched j t
Task: TaskType
H: TaskCost Task
Job: JobType
H0: JobTask Job Task
H1: JobArrival Job
H2: JobCost Job
arr_seq: arrival_sequence Job
H_valid_arrival_sequence: valid_arrival_sequence arr_seq
sched: schedule (processor_state Job)
H_jobs_come_from_arrival_sequence: jobs_come_from_arrival_sequence sched arr_seq
H_jobs_must_arrive_to_execute: jobs_must_arrive_to_execute sched
H_completed_jobs_dont_execute: completed_jobs_dont_execute sched
H3: JLFP_policy Job
H_priority_is_reflexive: reflexive_priorities
H_priority_is_transitive: transitive_priorities
tsk: Task
H_sequential_tasks: sequential_tasks arr_seq sched
H_JLFP_respects_sequential_tasks: policy_respects_sequential_tasks
j: Job
t: instant
TSK: job_of_task tsk j
TNSCHED: ~ task_scheduled_at sched tsk t
jo, jt: Job
SCHED: scheduled_at sched jt t
OH: jt \in arrivals_up_to arr_seq t -> (fun x : Job => is_true (~~ (another_task_hep_job x j && receives_service_at sched x t))) jt

jt \in arrivals_up_to arr_seq t
Task: TaskType
H: TaskCost Task
Job: JobType
H0: JobTask Job Task
H1: JobArrival Job
H2: JobCost Job
arr_seq: arrival_sequence Job
H_valid_arrival_sequence: valid_arrival_sequence arr_seq
sched: schedule (processor_state Job)
H_jobs_come_from_arrival_sequence: jobs_come_from_arrival_sequence sched arr_seq
H_jobs_must_arrive_to_execute: jobs_must_arrive_to_execute sched
H_completed_jobs_dont_execute: completed_jobs_dont_execute sched
H3: JLFP_policy Job
H_priority_is_reflexive: reflexive_priorities
H_priority_is_transitive: transitive_priorities
tsk: Task
H_sequential_tasks: sequential_tasks arr_seq sched
H_JLFP_respects_sequential_tasks: policy_respects_sequential_tasks
j: Job
t: instant
TSK: job_of_task tsk j
TNSCHED: ~ task_scheduled_at sched tsk t
jo, jt: Job
SCHED: scheduled_at sched jt t
OH: (fun x : Job => is_true (~~ (another_task_hep_job x j && receives_service_at sched x t))) jt
priority_inversion sched j t
Task: TaskType
H: TaskCost Task
Job: JobType
H0: JobTask Job Task
H1: JobArrival Job
H2: JobCost Job
arr_seq: arrival_sequence Job
H_valid_arrival_sequence: valid_arrival_sequence arr_seq
sched: schedule (processor_state Job)
H_jobs_come_from_arrival_sequence: jobs_come_from_arrival_sequence sched arr_seq
H_jobs_must_arrive_to_execute: jobs_must_arrive_to_execute sched
H_completed_jobs_dont_execute: completed_jobs_dont_execute sched
H3: JLFP_policy Job
H_priority_is_reflexive: reflexive_priorities
H_priority_is_transitive: transitive_priorities
tsk: Task
H_sequential_tasks: sequential_tasks arr_seq sched
H_JLFP_respects_sequential_tasks: policy_respects_sequential_tasks
j: Job
t: instant
TSK: job_of_task tsk j
TNSCHED: ~ task_scheduled_at sched tsk t
jo, jt: Job
SCHED: scheduled_at sched jt t
OH: jt \in arrivals_up_to arr_seq t -> (fun x : Job => is_true (~~ (another_task_hep_job x j && receives_service_at sched x t))) jt

jt \in arrivals_up_to arr_seq t
Task: TaskType
H: TaskCost Task
Job: JobType
H0: JobTask Job Task
H1: JobArrival Job
H2: JobCost Job
arr_seq: arrival_sequence Job
H_valid_arrival_sequence: valid_arrival_sequence arr_seq
sched: schedule (processor_state Job)
H_jobs_come_from_arrival_sequence: jobs_come_from_arrival_sequence sched arr_seq
H_jobs_must_arrive_to_execute: jobs_must_arrive_to_execute sched
H_completed_jobs_dont_execute: completed_jobs_dont_execute sched
H3: JLFP_policy Job
H_priority_is_reflexive: reflexive_priorities
H_priority_is_transitive: transitive_priorities
tsk: Task
H_sequential_tasks: sequential_tasks arr_seq sched
H_JLFP_respects_sequential_tasks: policy_respects_sequential_tasks
j: Job
t: instant
TSK: job_of_task tsk j
TNSCHED: ~ task_scheduled_at sched tsk t
jo, jt: Job
SCHED: scheduled_at sched jt t
OH: jt \in arrivals_up_to arr_seq t -> (fun x : Job => is_true (~~ (another_task_hep_job x j && receives_service_at sched x t))) jt

arrived_between jt 0 t.+1
by apply/andP; split; last (rewrite ltnS //; apply H_jobs_must_arrive_to_execute).
Task: TaskType
H: TaskCost Task
Job: JobType
H0: JobTask Job Task
H1: JobArrival Job
H2: JobCost Job
arr_seq: arrival_sequence Job
H_valid_arrival_sequence: valid_arrival_sequence arr_seq
sched: schedule (processor_state Job)
H_jobs_come_from_arrival_sequence: jobs_come_from_arrival_sequence sched arr_seq
H_jobs_must_arrive_to_execute: jobs_must_arrive_to_execute sched
H_completed_jobs_dont_execute: completed_jobs_dont_execute sched
H3: JLFP_policy Job
H_priority_is_reflexive: reflexive_priorities
H_priority_is_transitive: transitive_priorities
tsk: Task
H_sequential_tasks: sequential_tasks arr_seq sched
H_JLFP_respects_sequential_tasks: policy_respects_sequential_tasks
j: Job
t: instant
TSK: job_of_task tsk j
TNSCHED: ~ task_scheduled_at sched tsk t
jo, jt: Job
SCHED: scheduled_at sched jt t
OH: (fun x : Job => is_true (~~ (another_task_hep_job x j && receives_service_at sched x t))) jt

priority_inversion sched j t
Task: TaskType
H: TaskCost Task
Job: JobType
H0: JobTask Job Task
H1: JobArrival Job
H2: JobCost Job
arr_seq: arrival_sequence Job
H_valid_arrival_sequence: valid_arrival_sequence arr_seq
sched: schedule (processor_state Job)
H_jobs_come_from_arrival_sequence: jobs_come_from_arrival_sequence sched arr_seq
H_jobs_must_arrive_to_execute: jobs_must_arrive_to_execute sched
H_completed_jobs_dont_execute: completed_jobs_dont_execute sched
H3: JLFP_policy Job
H_priority_is_reflexive: reflexive_priorities
H_priority_is_transitive: transitive_priorities
tsk: Task
H_sequential_tasks: sequential_tasks arr_seq sched
H_JLFP_respects_sequential_tasks: policy_respects_sequential_tasks
j: Job
t: instant
TSK: job_of_task tsk j
TNSCHED: ~ task_scheduled_at sched tsk t
jo, jt: Job
SCHED: scheduled_at sched jt t
OH: ~~ hep_job jt j || ~~ (job_task jt != job_task j) || ~~ receives_service_at sched jt t

priority_inversion sched j t
Task: TaskType
H: TaskCost Task
Job: JobType
H0: JobTask Job Task
H1: JobArrival Job
H2: JobCost Job
arr_seq: arrival_sequence Job
H_valid_arrival_sequence: valid_arrival_sequence arr_seq
sched: schedule (processor_state Job)
H_jobs_come_from_arrival_sequence: jobs_come_from_arrival_sequence sched arr_seq
H_jobs_must_arrive_to_execute: jobs_must_arrive_to_execute sched
H_completed_jobs_dont_execute: completed_jobs_dont_execute sched
H3: JLFP_policy Job
H_priority_is_reflexive: reflexive_priorities
H_priority_is_transitive: transitive_priorities
tsk: Task
H_sequential_tasks: sequential_tasks arr_seq sched
H_JLFP_respects_sequential_tasks: policy_respects_sequential_tasks
j: Job
t: instant
TSK: job_of_task tsk j
TNSCHED: ~ task_scheduled_at sched tsk t
jo, jt: Job
SCHED: scheduled_at sched jt t
OH11: ~~ hep_job jt j

priority_inversion sched j t
Task: TaskType
H: TaskCost Task
Job: JobType
H0: JobTask Job Task
H1: JobArrival Job
H2: JobCost Job
arr_seq: arrival_sequence Job
H_valid_arrival_sequence: valid_arrival_sequence arr_seq
sched: schedule (processor_state Job)
H_jobs_come_from_arrival_sequence: jobs_come_from_arrival_sequence sched arr_seq
H_jobs_must_arrive_to_execute: jobs_must_arrive_to_execute sched
H_completed_jobs_dont_execute: completed_jobs_dont_execute sched
H3: JLFP_policy Job
H_priority_is_reflexive: reflexive_priorities
H_priority_is_transitive: transitive_priorities
tsk: Task
H_sequential_tasks: sequential_tasks arr_seq sched
H_JLFP_respects_sequential_tasks: policy_respects_sequential_tasks
j: Job
t: instant
TSK: job_of_task tsk j
TNSCHED: ~ task_scheduled_at sched tsk t
jo, jt: Job
SCHED: scheduled_at sched jt t
OH22: ~~ (job_task jt != job_task j)
priority_inversion sched j t
Task: TaskType
H: TaskCost Task
Job: JobType
H0: JobTask Job Task
H1: JobArrival Job
H2: JobCost Job
arr_seq: arrival_sequence Job
H_valid_arrival_sequence: valid_arrival_sequence arr_seq
sched: schedule (processor_state Job)
H_jobs_come_from_arrival_sequence: jobs_come_from_arrival_sequence sched arr_seq
H_jobs_must_arrive_to_execute: jobs_must_arrive_to_execute sched
H_completed_jobs_dont_execute: completed_jobs_dont_execute sched
H3: JLFP_policy Job
H_priority_is_reflexive: reflexive_priorities
H_priority_is_transitive: transitive_priorities
tsk: Task
H_sequential_tasks: sequential_tasks arr_seq sched
H_JLFP_respects_sequential_tasks: policy_respects_sequential_tasks
j: Job
t: instant
TSK: job_of_task tsk j
TNSCHED: ~ task_scheduled_at sched tsk t
jo, jt: Job
SCHED: scheduled_at sched jt t
OH2: ~~ receives_service_at sched jt t
priority_inversion sched j t
Task: TaskType
H: TaskCost Task
Job: JobType
H0: JobTask Job Task
H1: JobArrival Job
H2: JobCost Job
arr_seq: arrival_sequence Job
H_valid_arrival_sequence: valid_arrival_sequence arr_seq
sched: schedule (processor_state Job)
H_jobs_come_from_arrival_sequence: jobs_come_from_arrival_sequence sched arr_seq
H_jobs_must_arrive_to_execute: jobs_must_arrive_to_execute sched
H_completed_jobs_dont_execute: completed_jobs_dont_execute sched
H3: JLFP_policy Job
H_priority_is_reflexive: reflexive_priorities
H_priority_is_transitive: transitive_priorities
tsk: Task
H_sequential_tasks: sequential_tasks arr_seq sched
H_JLFP_respects_sequential_tasks: policy_respects_sequential_tasks
j: Job
t: instant
TSK: job_of_task tsk j
TNSCHED: ~ task_scheduled_at sched tsk t
jo, jt: Job
SCHED: scheduled_at sched jt t
OH11: ~~ hep_job jt j

priority_inversion sched j t
Task: TaskType
H: TaskCost Task
Job: JobType
H0: JobTask Job Task
H1: JobArrival Job
H2: JobCost Job
arr_seq: arrival_sequence Job
H_valid_arrival_sequence: valid_arrival_sequence arr_seq
sched: schedule (processor_state Job)
H_jobs_come_from_arrival_sequence: jobs_come_from_arrival_sequence sched arr_seq
H_jobs_must_arrive_to_execute: jobs_must_arrive_to_execute sched
H_completed_jobs_dont_execute: completed_jobs_dont_execute sched
H3: JLFP_policy Job
H_priority_is_reflexive: reflexive_priorities
H_priority_is_transitive: transitive_priorities
tsk: Task
H_sequential_tasks: sequential_tasks arr_seq sched
H_JLFP_respects_sequential_tasks: policy_respects_sequential_tasks
j: Job
t: instant
TSK: job_of_task tsk j
TNSCHED: ~ task_scheduled_at sched tsk t
jo, jt: Job
SCHED: scheduled_at sched jt t
OH22: ~~ (job_task jt != job_task j)
priority_inversion sched j t
Task: TaskType
H: TaskCost Task
Job: JobType
H0: JobTask Job Task
H1: JobArrival Job
H2: JobCost Job
arr_seq: arrival_sequence Job
H_valid_arrival_sequence: valid_arrival_sequence arr_seq
sched: schedule (processor_state Job)
H_jobs_come_from_arrival_sequence: jobs_come_from_arrival_sequence sched arr_seq
H_jobs_must_arrive_to_execute: jobs_must_arrive_to_execute sched
H_completed_jobs_dont_execute: completed_jobs_dont_execute sched
H3: JLFP_policy Job
H_priority_is_reflexive: reflexive_priorities
H_priority_is_transitive: transitive_priorities
tsk: Task
H_sequential_tasks: sequential_tasks arr_seq sched
H_JLFP_respects_sequential_tasks: policy_respects_sequential_tasks
j: Job
t: instant
TSK: job_of_task tsk j
TNSCHED: ~ task_scheduled_at sched tsk t
jo, jt: Job
SCHED: scheduled_at sched jt t
OH2: ~~ receives_service_at sched jt t
priority_inversion sched j t
Task: TaskType
H: TaskCost Task
Job: JobType
H0: JobTask Job Task
H1: JobArrival Job
H2: JobCost Job
arr_seq: arrival_sequence Job
H_valid_arrival_sequence: valid_arrival_sequence arr_seq
sched: schedule (processor_state Job)
H_jobs_come_from_arrival_sequence: jobs_come_from_arrival_sequence sched arr_seq
H_jobs_must_arrive_to_execute: jobs_must_arrive_to_execute sched
H_completed_jobs_dont_execute: completed_jobs_dont_execute sched
H3: JLFP_policy Job
H_priority_is_reflexive: reflexive_priorities
H_priority_is_transitive: transitive_priorities
tsk: Task
H_sequential_tasks: sequential_tasks arr_seq sched
H_JLFP_respects_sequential_tasks: policy_respects_sequential_tasks
j: Job
t: instant
TSK: job_of_task tsk j
TNSCHED: ~ task_scheduled_at sched tsk t
jo, jt: Job
SCHED: scheduled_at sched jt t
OH11: ~~ hep_job jt j

~~ scheduled_at sched j t
Task: TaskType
H: TaskCost Task
Job: JobType
H0: JobTask Job Task
H1: JobArrival Job
H2: JobCost Job
arr_seq: arrival_sequence Job
H_valid_arrival_sequence: valid_arrival_sequence arr_seq
sched: schedule (processor_state Job)
H_jobs_come_from_arrival_sequence: jobs_come_from_arrival_sequence sched arr_seq
H_jobs_must_arrive_to_execute: jobs_must_arrive_to_execute sched
H_completed_jobs_dont_execute: completed_jobs_dont_execute sched
H3: JLFP_policy Job
H_priority_is_reflexive: reflexive_priorities
H_priority_is_transitive: transitive_priorities
tsk: Task
H_sequential_tasks: sequential_tasks arr_seq sched
H_JLFP_respects_sequential_tasks: policy_respects_sequential_tasks
j: Job
t: instant
TSK: job_of_task tsk j
TNSCHED: ~ task_scheduled_at sched tsk t
jo, jt: Job
SCHED: scheduled_at sched jt t
OH22: ~~ (job_task jt != job_task j)
priority_inversion sched j t
Task: TaskType
H: TaskCost Task
Job: JobType
H0: JobTask Job Task
H1: JobArrival Job
H2: JobCost Job
arr_seq: arrival_sequence Job
H_valid_arrival_sequence: valid_arrival_sequence arr_seq
sched: schedule (processor_state Job)
H_jobs_come_from_arrival_sequence: jobs_come_from_arrival_sequence sched arr_seq
H_jobs_must_arrive_to_execute: jobs_must_arrive_to_execute sched
H_completed_jobs_dont_execute: completed_jobs_dont_execute sched
H3: JLFP_policy Job
H_priority_is_reflexive: reflexive_priorities
H_priority_is_transitive: transitive_priorities
tsk: Task
H_sequential_tasks: sequential_tasks arr_seq sched
H_JLFP_respects_sequential_tasks: policy_respects_sequential_tasks
j: Job
t: instant
TSK: job_of_task tsk j
TNSCHED: ~ task_scheduled_at sched tsk t
jo, jt: Job
SCHED: scheduled_at sched jt t
OH2: ~~ receives_service_at sched jt t
priority_inversion sched j t
Task: TaskType
H: TaskCost Task
Job: JobType
H0: JobTask Job Task
H1: JobArrival Job
H2: JobCost Job
arr_seq: arrival_sequence Job
H_valid_arrival_sequence: valid_arrival_sequence arr_seq
sched: schedule (processor_state Job)
H_jobs_come_from_arrival_sequence: jobs_come_from_arrival_sequence sched arr_seq
H_jobs_must_arrive_to_execute: jobs_must_arrive_to_execute sched
H_completed_jobs_dont_execute: completed_jobs_dont_execute sched
H3: JLFP_policy Job
H_priority_is_reflexive: reflexive_priorities
H_priority_is_transitive: transitive_priorities
tsk: Task
H_sequential_tasks: sequential_tasks arr_seq sched
H_JLFP_respects_sequential_tasks: policy_respects_sequential_tasks
j: Job
t: instant
TSK: job_of_task tsk j
TNSCHED: ~ task_scheduled_at sched tsk t
jo, jt: Job
SCHED: scheduled_at sched jt t
SCHEDj: scheduled_at sched j t

~~ hep_job jt j -> False
Task: TaskType
H: TaskCost Task
Job: JobType
H0: JobTask Job Task
H1: JobArrival Job
H2: JobCost Job
arr_seq: arrival_sequence Job
H_valid_arrival_sequence: valid_arrival_sequence arr_seq
sched: schedule (processor_state Job)
H_jobs_come_from_arrival_sequence: jobs_come_from_arrival_sequence sched arr_seq
H_jobs_must_arrive_to_execute: jobs_must_arrive_to_execute sched
H_completed_jobs_dont_execute: completed_jobs_dont_execute sched
H3: JLFP_policy Job
H_priority_is_reflexive: reflexive_priorities
H_priority_is_transitive: transitive_priorities
tsk: Task
H_sequential_tasks: sequential_tasks arr_seq sched
H_JLFP_respects_sequential_tasks: policy_respects_sequential_tasks
j: Job
t: instant
TSK: job_of_task tsk j
TNSCHED: ~ task_scheduled_at sched tsk t
jo, jt: Job
SCHED: scheduled_at sched jt t
OH22: ~~ (job_task jt != job_task j)
priority_inversion sched j t
Task: TaskType
H: TaskCost Task
Job: JobType
H0: JobTask Job Task
H1: JobArrival Job
H2: JobCost Job
arr_seq: arrival_sequence Job
H_valid_arrival_sequence: valid_arrival_sequence arr_seq
sched: schedule (processor_state Job)
H_jobs_come_from_arrival_sequence: jobs_come_from_arrival_sequence sched arr_seq
H_jobs_must_arrive_to_execute: jobs_must_arrive_to_execute sched
H_completed_jobs_dont_execute: completed_jobs_dont_execute sched
H3: JLFP_policy Job
H_priority_is_reflexive: reflexive_priorities
H_priority_is_transitive: transitive_priorities
tsk: Task
H_sequential_tasks: sequential_tasks arr_seq sched
H_JLFP_respects_sequential_tasks: policy_respects_sequential_tasks
j: Job
t: instant
TSK: job_of_task tsk j
TNSCHED: ~ task_scheduled_at sched tsk t
jo, jt: Job
SCHED: scheduled_at sched jt t
OH2: ~~ receives_service_at sched jt t
priority_inversion sched j t
Task: TaskType
H: TaskCost Task
Job: JobType
H0: JobTask Job Task
H1: JobArrival Job
H2: JobCost Job
arr_seq: arrival_sequence Job
H_valid_arrival_sequence: valid_arrival_sequence arr_seq
sched: schedule (processor_state Job)
H_jobs_come_from_arrival_sequence: jobs_come_from_arrival_sequence sched arr_seq
H_jobs_must_arrive_to_execute: jobs_must_arrive_to_execute sched
H_completed_jobs_dont_execute: completed_jobs_dont_execute sched
H3: JLFP_policy Job
H_priority_is_reflexive: reflexive_priorities
H_priority_is_transitive: transitive_priorities
tsk: Task
H_sequential_tasks: sequential_tasks arr_seq sched
H_JLFP_respects_sequential_tasks: policy_respects_sequential_tasks
j: Job
t: instant
TSK: job_of_task tsk j
TNSCHED: ~ task_scheduled_at sched tsk t
jo, jt: Job
SCHED: scheduled_at sched jt t
SCHEDj: scheduled_at sched j t

~~ hep_job jt jt -> False
Task: TaskType
H: TaskCost Task
Job: JobType
H0: JobTask Job Task
H1: JobArrival Job
H2: JobCost Job
arr_seq: arrival_sequence Job
H_valid_arrival_sequence: valid_arrival_sequence arr_seq
sched: schedule (processor_state Job)
H_jobs_come_from_arrival_sequence: jobs_come_from_arrival_sequence sched arr_seq
H_jobs_must_arrive_to_execute: jobs_must_arrive_to_execute sched
H_completed_jobs_dont_execute: completed_jobs_dont_execute sched
H3: JLFP_policy Job
H_priority_is_reflexive: reflexive_priorities
H_priority_is_transitive: transitive_priorities
tsk: Task
H_sequential_tasks: sequential_tasks arr_seq sched
H_JLFP_respects_sequential_tasks: policy_respects_sequential_tasks
j: Job
t: instant
TSK: job_of_task tsk j
TNSCHED: ~ task_scheduled_at sched tsk t
jo, jt: Job
SCHED: scheduled_at sched jt t
OH22: ~~ (job_task jt != job_task j)
priority_inversion sched j t
Task: TaskType
H: TaskCost Task
Job: JobType
H0: JobTask Job Task
H1: JobArrival Job
H2: JobCost Job
arr_seq: arrival_sequence Job
H_valid_arrival_sequence: valid_arrival_sequence arr_seq
sched: schedule (processor_state Job)
H_jobs_come_from_arrival_sequence: jobs_come_from_arrival_sequence sched arr_seq
H_jobs_must_arrive_to_execute: jobs_must_arrive_to_execute sched
H_completed_jobs_dont_execute: completed_jobs_dont_execute sched
H3: JLFP_policy Job
H_priority_is_reflexive: reflexive_priorities
H_priority_is_transitive: transitive_priorities
tsk: Task
H_sequential_tasks: sequential_tasks arr_seq sched
H_JLFP_respects_sequential_tasks: policy_respects_sequential_tasks
j: Job
t: instant
TSK: job_of_task tsk j
TNSCHED: ~ task_scheduled_at sched tsk t
jo, jt: Job
SCHED: scheduled_at sched jt t
OH2: ~~ receives_service_at sched jt t
priority_inversion sched j t
Task: TaskType
H: TaskCost Task
Job: JobType
H0: JobTask Job Task
H1: JobArrival Job
H2: JobCost Job
arr_seq: arrival_sequence Job
H_valid_arrival_sequence: valid_arrival_sequence arr_seq
sched: schedule (processor_state Job)
H_jobs_come_from_arrival_sequence: jobs_come_from_arrival_sequence sched arr_seq
H_jobs_must_arrive_to_execute: jobs_must_arrive_to_execute sched
H_completed_jobs_dont_execute: completed_jobs_dont_execute sched
H3: JLFP_policy Job
H_priority_is_reflexive: reflexive_priorities
H_priority_is_transitive: transitive_priorities
tsk: Task
H_sequential_tasks: sequential_tasks arr_seq sched
H_JLFP_respects_sequential_tasks: policy_respects_sequential_tasks
j: Job
t: instant
TSK: job_of_task tsk j
TNSCHED: ~ task_scheduled_at sched tsk t
jo, jt: Job
SCHED: scheduled_at sched jt t
OH22: ~~ (job_task jt != job_task j)

priority_inversion sched j t
Task: TaskType
H: TaskCost Task
Job: JobType
H0: JobTask Job Task
H1: JobArrival Job
H2: JobCost Job
arr_seq: arrival_sequence Job
H_valid_arrival_sequence: valid_arrival_sequence arr_seq
sched: schedule (processor_state Job)
H_jobs_come_from_arrival_sequence: jobs_come_from_arrival_sequence sched arr_seq
H_jobs_must_arrive_to_execute: jobs_must_arrive_to_execute sched
H_completed_jobs_dont_execute: completed_jobs_dont_execute sched
H3: JLFP_policy Job
H_priority_is_reflexive: reflexive_priorities
H_priority_is_transitive: transitive_priorities
tsk: Task
H_sequential_tasks: sequential_tasks arr_seq sched
H_JLFP_respects_sequential_tasks: policy_respects_sequential_tasks
j: Job
t: instant
TSK: job_of_task tsk j
TNSCHED: ~ task_scheduled_at sched tsk t
jo, jt: Job
SCHED: scheduled_at sched jt t
OH2: ~~ receives_service_at sched jt t
priority_inversion sched j t
Task: TaskType
H: TaskCost Task
Job: JobType
H0: JobTask Job Task
H1: JobArrival Job
H2: JobCost Job
arr_seq: arrival_sequence Job
H_valid_arrival_sequence: valid_arrival_sequence arr_seq
sched: schedule (processor_state Job)
H_jobs_come_from_arrival_sequence: jobs_come_from_arrival_sequence sched arr_seq
H_jobs_must_arrive_to_execute: jobs_must_arrive_to_execute sched
H_completed_jobs_dont_execute: completed_jobs_dont_execute sched
H3: JLFP_policy Job
H_priority_is_reflexive: reflexive_priorities
H_priority_is_transitive: transitive_priorities
tsk: Task
H_sequential_tasks: sequential_tasks arr_seq sched
H_JLFP_respects_sequential_tasks: policy_respects_sequential_tasks
j: Job
t: instant
TSK: job_of_task tsk j
TNSCHED: ~ task_scheduled_at sched tsk t
jo, jt: Job
SCHED: scheduled_at sched jt t
OH22: ~~ (job_task jt != job_task j)

priority_inversion sched j t
Task: TaskType
H: TaskCost Task
Job: JobType
H0: JobTask Job Task
H1: JobArrival Job
H2: JobCost Job
arr_seq: arrival_sequence Job
H_valid_arrival_sequence: valid_arrival_sequence arr_seq
sched: schedule (processor_state Job)
H_jobs_come_from_arrival_sequence: jobs_come_from_arrival_sequence sched arr_seq
H_jobs_must_arrive_to_execute: jobs_must_arrive_to_execute sched
H_completed_jobs_dont_execute: completed_jobs_dont_execute sched
H3: JLFP_policy Job
H_priority_is_reflexive: reflexive_priorities
H_priority_is_transitive: transitive_priorities
tsk: Task
H_sequential_tasks: sequential_tasks arr_seq sched
H_JLFP_respects_sequential_tasks: policy_respects_sequential_tasks
j: Job
t: instant
TSK: job_of_task tsk j
TNSCHED: ~ task_scheduled_at sched tsk t
jo, jt: Job
SCHED: scheduled_at sched jt t
OH2: ~~ receives_service_at sched jt t
priority_inversion sched j t
Task: TaskType
H: TaskCost Task
Job: JobType
H0: JobTask Job Task
H1: JobArrival Job
H2: JobCost Job
arr_seq: arrival_sequence Job
H_valid_arrival_sequence: valid_arrival_sequence arr_seq
sched: schedule (processor_state Job)
H_jobs_come_from_arrival_sequence: jobs_come_from_arrival_sequence sched arr_seq
H_jobs_must_arrive_to_execute: jobs_must_arrive_to_execute sched
H_completed_jobs_dont_execute: completed_jobs_dont_execute sched
H3: JLFP_policy Job
H_priority_is_reflexive: reflexive_priorities
H_priority_is_transitive: transitive_priorities
tsk: Task
H_sequential_tasks: sequential_tasks arr_seq sched
H_JLFP_respects_sequential_tasks: policy_respects_sequential_tasks
j: Job
t: instant
TSK: job_of_task tsk j
jo, jt: Job
SCHED: scheduled_at sched jt t
OH22: ~~ (job_task jt != job_task j)

task_scheduled_at sched tsk t
Task: TaskType
H: TaskCost Task
Job: JobType
H0: JobTask Job Task
H1: JobArrival Job
H2: JobCost Job
arr_seq: arrival_sequence Job
H_valid_arrival_sequence: valid_arrival_sequence arr_seq
sched: schedule (processor_state Job)
H_jobs_come_from_arrival_sequence: jobs_come_from_arrival_sequence sched arr_seq
H_jobs_must_arrive_to_execute: jobs_must_arrive_to_execute sched
H_completed_jobs_dont_execute: completed_jobs_dont_execute sched
H3: JLFP_policy Job
H_priority_is_reflexive: reflexive_priorities
H_priority_is_transitive: transitive_priorities
tsk: Task
H_sequential_tasks: sequential_tasks arr_seq sched
H_JLFP_respects_sequential_tasks: policy_respects_sequential_tasks
j: Job
t: instant
TSK: job_of_task tsk j
TNSCHED: ~ task_scheduled_at sched tsk t
jo, jt: Job
SCHED: scheduled_at sched jt t
OH2: ~~ receives_service_at sched jt t
priority_inversion sched j t
Task: TaskType
H: TaskCost Task
Job: JobType
H0: JobTask Job Task
H1: JobArrival Job
H2: JobCost Job
arr_seq: arrival_sequence Job
H_valid_arrival_sequence: valid_arrival_sequence arr_seq
sched: schedule (processor_state Job)
H_jobs_come_from_arrival_sequence: jobs_come_from_arrival_sequence sched arr_seq
H_jobs_must_arrive_to_execute: jobs_must_arrive_to_execute sched
H_completed_jobs_dont_execute: completed_jobs_dont_execute sched
H3: JLFP_policy Job
H_priority_is_reflexive: reflexive_priorities
H_priority_is_transitive: transitive_priorities
tsk: Task
H_sequential_tasks: sequential_tasks arr_seq sched
H_JLFP_respects_sequential_tasks: policy_respects_sequential_tasks
j: Job
t: instant
TSK: job_of_task tsk j
jo, jt: Job
OH22: ~~ (job_task jt != job_task j)

job_task jt == tsk
Task: TaskType
H: TaskCost Task
Job: JobType
H0: JobTask Job Task
H1: JobArrival Job
H2: JobCost Job
arr_seq: arrival_sequence Job
H_valid_arrival_sequence: valid_arrival_sequence arr_seq
sched: schedule (processor_state Job)
H_jobs_come_from_arrival_sequence: jobs_come_from_arrival_sequence sched arr_seq
H_jobs_must_arrive_to_execute: jobs_must_arrive_to_execute sched
H_completed_jobs_dont_execute: completed_jobs_dont_execute sched
H3: JLFP_policy Job
H_priority_is_reflexive: reflexive_priorities
H_priority_is_transitive: transitive_priorities
tsk: Task
H_sequential_tasks: sequential_tasks arr_seq sched
H_JLFP_respects_sequential_tasks: policy_respects_sequential_tasks
j: Job
t: instant
TSK: job_of_task tsk j
TNSCHED: ~ task_scheduled_at sched tsk t
jo, jt: Job
SCHED: scheduled_at sched jt t
OH2: ~~ receives_service_at sched jt t
priority_inversion sched j t
Task: TaskType
H: TaskCost Task
Job: JobType
H0: JobTask Job Task
H1: JobArrival Job
H2: JobCost Job
arr_seq: arrival_sequence Job
H_valid_arrival_sequence: valid_arrival_sequence arr_seq
sched: schedule (processor_state Job)
H_jobs_come_from_arrival_sequence: jobs_come_from_arrival_sequence sched arr_seq
H_jobs_must_arrive_to_execute: jobs_must_arrive_to_execute sched
H_completed_jobs_dont_execute: completed_jobs_dont_execute sched
H3: JLFP_policy Job
H_priority_is_reflexive: reflexive_priorities
H_priority_is_transitive: transitive_priorities
tsk: Task
H_sequential_tasks: sequential_tasks arr_seq sched
H_JLFP_respects_sequential_tasks: policy_respects_sequential_tasks
j: Job
t: instant
TSK: job_of_task tsk j
TNSCHED: ~ task_scheduled_at sched tsk t
jo, jt: Job
SCHED: scheduled_at sched jt t
OH2: ~~ receives_service_at sched jt t

priority_inversion sched j t
Task: TaskType
H: TaskCost Task
Job: JobType
H0: JobTask Job Task
H1: JobArrival Job
H2: JobCost Job
arr_seq: arrival_sequence Job
H_valid_arrival_sequence: valid_arrival_sequence arr_seq
sched: schedule (processor_state Job)
H_jobs_come_from_arrival_sequence: jobs_come_from_arrival_sequence sched arr_seq
H_jobs_must_arrive_to_execute: jobs_must_arrive_to_execute sched
H_completed_jobs_dont_execute: completed_jobs_dont_execute sched
H3: JLFP_policy Job
H_priority_is_reflexive: reflexive_priorities
H_priority_is_transitive: transitive_priorities
tsk: Task
H_sequential_tasks: sequential_tasks arr_seq sched
H_JLFP_respects_sequential_tasks: policy_respects_sequential_tasks
j: Job
t: instant
TSK: job_of_task tsk j
TNSCHED: ~ task_scheduled_at sched tsk t
jo, jt: Job
SCHED: scheduled_at sched jt t
OH2: ~~ receives_service_at sched jt t

priority_inversion sched j t
Task: TaskType
H: TaskCost Task
Job: JobType
H0: JobTask Job Task
H1: JobArrival Job
H2: JobCost Job
arr_seq: arrival_sequence Job
H_valid_arrival_sequence: valid_arrival_sequence arr_seq
sched: schedule (processor_state Job)
H_jobs_come_from_arrival_sequence: jobs_come_from_arrival_sequence sched arr_seq
H_jobs_must_arrive_to_execute: jobs_must_arrive_to_execute sched
H_completed_jobs_dont_execute: completed_jobs_dont_execute sched
H3: JLFP_policy Job
H_priority_is_reflexive: reflexive_priorities
H_priority_is_transitive: transitive_priorities
tsk: Task
H_sequential_tasks: sequential_tasks arr_seq sched
H_JLFP_respects_sequential_tasks: policy_respects_sequential_tasks
j: Job
t: instant
TSK: job_of_task tsk j
TNSCHED: ~ task_scheduled_at sched tsk t
jo, jt: Job
SCHED: scheduled_at sched jt t

receives_service_at sched jt t
by rewrite /receives_service_at service_at_is_scheduled_at lt0b. Qed. (** Let [j] be any job of task [tsk], and let [upper_bound] be any time instant after job [j]'s arrival. Then for any time interval lying before [upper_bound], the cumulative interference received by [tsk] is equal to the sum of the cumulative priority inversion of job [j] and the cumulative interference incurred by task [tsk] due to other tasks. *)
Task: TaskType
H: TaskCost Task
Job: JobType
H0: JobTask Job Task
H1: JobArrival Job
H2: JobCost Job
arr_seq: arrival_sequence Job
H_valid_arrival_sequence: valid_arrival_sequence arr_seq
sched: schedule (processor_state Job)
H_jobs_come_from_arrival_sequence: jobs_come_from_arrival_sequence sched arr_seq
H_jobs_must_arrive_to_execute: jobs_must_arrive_to_execute sched
H_completed_jobs_dont_execute: completed_jobs_dont_execute sched
H3: JLFP_policy Job
H_priority_is_reflexive: reflexive_priorities
H_priority_is_transitive: transitive_priorities
tsk: Task
H_sequential_tasks: sequential_tasks arr_seq sched
H_JLFP_respects_sequential_tasks: policy_respects_sequential_tasks

forall (j : Job) (t1 : nat) (t2 upper_bound : instant), arrives_in arr_seq j -> job_of_task tsk j -> j \in arrivals_before arr_seq upper_bound -> ~~ completed_by sched j t2 -> cumul_task_interference arr_seq sched tsk upper_bound t1 t2 = cumulative_priority_inversion arr_seq sched j t1 t2 + cumulative_another_task_hep_job_interference j t1 t2
Task: TaskType
H: TaskCost Task
Job: JobType
H0: JobTask Job Task
H1: JobArrival Job
H2: JobCost Job
arr_seq: arrival_sequence Job
H_valid_arrival_sequence: valid_arrival_sequence arr_seq
sched: schedule (processor_state Job)
H_jobs_come_from_arrival_sequence: jobs_come_from_arrival_sequence sched arr_seq
H_jobs_must_arrive_to_execute: jobs_must_arrive_to_execute sched
H_completed_jobs_dont_execute: completed_jobs_dont_execute sched
H3: JLFP_policy Job
H_priority_is_reflexive: reflexive_priorities
H_priority_is_transitive: transitive_priorities
tsk: Task
H_sequential_tasks: sequential_tasks arr_seq sched
H_JLFP_respects_sequential_tasks: policy_respects_sequential_tasks

forall (j : Job) (t1 : nat) (t2 upper_bound : instant), arrives_in arr_seq j -> job_of_task tsk j -> j \in arrivals_before arr_seq upper_bound -> ~~ completed_by sched j t2 -> cumul_task_interference arr_seq sched tsk upper_bound t1 t2 = cumulative_priority_inversion arr_seq sched j t1 t2 + cumulative_another_task_hep_job_interference j t1 t2
Task: TaskType
H: TaskCost Task
Job: JobType
H0: JobTask Job Task
H1: JobArrival Job
H2: JobCost Job
arr_seq: arrival_sequence Job
H_valid_arrival_sequence: valid_arrival_sequence arr_seq
sched: schedule (processor_state Job)
H_jobs_come_from_arrival_sequence: jobs_come_from_arrival_sequence sched arr_seq
H_jobs_must_arrive_to_execute: jobs_must_arrive_to_execute sched
H_completed_jobs_dont_execute: completed_jobs_dont_execute sched
H3: JLFP_policy Job
H_priority_is_reflexive: reflexive_priorities
H_priority_is_transitive: transitive_priorities
tsk: Task
H_sequential_tasks: sequential_tasks arr_seq sched
H_JLFP_respects_sequential_tasks: policy_respects_sequential_tasks
j: Job
t1: nat
R, upp: instant
ARRin: arrives_in arr_seq j
TSK: job_of_task tsk j
ARR: j \in arrivals_before arr_seq upp
NCOMPL: ~~ completed_by sched j R

\sum_(t1 <= t < R) task_interference_received_before_dec arr_seq sched tsk upp t = cumulative_priority_inversion arr_seq sched j t1 R + cumulative_another_task_hep_job_interference j t1 R
Task: TaskType
H: TaskCost Task
Job: JobType
H0: JobTask Job Task
H1: JobArrival Job
H2: JobCost Job
arr_seq: arrival_sequence Job
H_valid_arrival_sequence: valid_arrival_sequence arr_seq
sched: schedule (processor_state Job)
H_jobs_come_from_arrival_sequence: jobs_come_from_arrival_sequence sched arr_seq
H_jobs_must_arrive_to_execute: jobs_must_arrive_to_execute sched
H_completed_jobs_dont_execute: completed_jobs_dont_execute sched
H3: JLFP_policy Job
H_priority_is_reflexive: reflexive_priorities
H_priority_is_transitive: transitive_priorities
tsk: Task
H_sequential_tasks: sequential_tasks arr_seq sched
H_JLFP_respects_sequential_tasks: policy_respects_sequential_tasks
j: Job
t1: nat
R, upp: instant
ARRin: arrives_in arr_seq j
TSK: job_of_task tsk j
ARR: j \in arrivals_before arr_seq upp
NCOMPL: ~~ completed_by sched j R
t: nat_eqType
IN: t \in index_iota t1 R

task_interference_received_before_dec arr_seq sched tsk upp t = priority_inversion_dec arr_seq sched j t + another_task_hep_job_interference_dec j t
Task: TaskType
H: TaskCost Task
Job: JobType
H0: JobTask Job Task
H1: JobArrival Job
H2: JobCost Job
arr_seq: arrival_sequence Job
H_valid_arrival_sequence: valid_arrival_sequence arr_seq
sched: schedule (processor_state Job)
H_jobs_come_from_arrival_sequence: jobs_come_from_arrival_sequence sched arr_seq
H_jobs_must_arrive_to_execute: jobs_must_arrive_to_execute sched
H_completed_jobs_dont_execute: completed_jobs_dont_execute sched
H3: JLFP_policy Job
H_priority_is_reflexive: reflexive_priorities
H_priority_is_transitive: transitive_priorities
tsk: Task
H_sequential_tasks: sequential_tasks arr_seq sched
H_JLFP_respects_sequential_tasks: policy_respects_sequential_tasks
j: Job
t1: nat
R, upp: instant
ARRin: arrives_in arr_seq j
TSK: job_of_task tsk j
ARR: j \in arrivals_before arr_seq upp
NCOMPL: ~~ completed_by sched j R
t: nat_eqType
IN: t \in index_iota t1 R

forall a b c : bool, (a -> ~~ b && c || b && ~~ c) -> (b \/ c -> a) -> a = b + c
Task: TaskType
H: TaskCost Task
Job: JobType
H0: JobTask Job Task
H1: JobArrival Job
H2: JobCost Job
arr_seq: arrival_sequence Job
H_valid_arrival_sequence: valid_arrival_sequence arr_seq
sched: schedule (processor_state Job)
H_jobs_come_from_arrival_sequence: jobs_come_from_arrival_sequence sched arr_seq
H_jobs_must_arrive_to_execute: jobs_must_arrive_to_execute sched
H_completed_jobs_dont_execute: completed_jobs_dont_execute sched
H3: JLFP_policy Job
H_priority_is_reflexive: reflexive_priorities
H_priority_is_transitive: transitive_priorities
tsk: Task
H_sequential_tasks: sequential_tasks arr_seq sched
H_JLFP_respects_sequential_tasks: policy_respects_sequential_tasks
j: Job
t1: nat
R, upp: instant
ARRin: arrives_in arr_seq j
TSK: job_of_task tsk j
ARR: j \in arrivals_before arr_seq upp
NCOMPL: ~~ completed_by sched j R
t: nat_eqType
IN: t \in index_iota t1 R
BinFact: forall a b c : bool, (a -> ~~ b && c || b && ~~ c) -> (b \/ c -> a) -> a = b + c
task_interference_received_before_dec arr_seq sched tsk upp t = priority_inversion_dec arr_seq sched j t + another_task_hep_job_interference_dec j t
Task: TaskType
H: TaskCost Task
Job: JobType
H0: JobTask Job Task
H1: JobArrival Job
H2: JobCost Job
arr_seq: arrival_sequence Job
H_valid_arrival_sequence: valid_arrival_sequence arr_seq
sched: schedule (processor_state Job)
H_jobs_come_from_arrival_sequence: jobs_come_from_arrival_sequence sched arr_seq
H_jobs_must_arrive_to_execute: jobs_must_arrive_to_execute sched
H_completed_jobs_dont_execute: completed_jobs_dont_execute sched
H3: JLFP_policy Job
H_priority_is_reflexive: reflexive_priorities
H_priority_is_transitive: transitive_priorities
tsk: Task
H_sequential_tasks: sequential_tasks arr_seq sched
H_JLFP_respects_sequential_tasks: policy_respects_sequential_tasks
j: Job
t1: nat
R, upp: instant
ARRin: arrives_in arr_seq j
TSK: job_of_task tsk j
ARR: j \in arrivals_before arr_seq upp
NCOMPL: ~~ completed_by sched j R
t: nat_eqType
IN: t \in index_iota t1 R

forall a b c : bool, (a -> ~~ b && c || b && ~~ c) -> (b \/ c -> a) -> a = b + c
by clear; move => [] [] []; try compute; firstorder; inversion H; inversion H0.
Task: TaskType
H: TaskCost Task
Job: JobType
H0: JobTask Job Task
H1: JobArrival Job
H2: JobCost Job
arr_seq: arrival_sequence Job
H_valid_arrival_sequence: valid_arrival_sequence arr_seq
sched: schedule (processor_state Job)
H_jobs_come_from_arrival_sequence: jobs_come_from_arrival_sequence sched arr_seq
H_jobs_must_arrive_to_execute: jobs_must_arrive_to_execute sched
H_completed_jobs_dont_execute: completed_jobs_dont_execute sched
H3: JLFP_policy Job
H_priority_is_reflexive: reflexive_priorities
H_priority_is_transitive: transitive_priorities
tsk: Task
H_sequential_tasks: sequential_tasks arr_seq sched
H_JLFP_respects_sequential_tasks: policy_respects_sequential_tasks
j: Job
t1: nat
R, upp: instant
ARRin: arrives_in arr_seq j
TSK: job_of_task tsk j
ARR: j \in arrivals_before arr_seq upp
NCOMPL: ~~ completed_by sched j R
t: nat_eqType
IN: t \in index_iota t1 R
BinFact: forall a b c : bool, (a -> ~~ b && c || b && ~~ c) -> (b \/ c -> a) -> a = b + c

task_interference_received_before_dec arr_seq sched tsk upp t = priority_inversion_dec arr_seq sched j t + another_task_hep_job_interference_dec j t
Task: TaskType
H: TaskCost Task
Job: JobType
H0: JobTask Job Task
H1: JobArrival Job
H2: JobCost Job
arr_seq: arrival_sequence Job
H_valid_arrival_sequence: valid_arrival_sequence arr_seq
sched: schedule (processor_state Job)
H_jobs_come_from_arrival_sequence: jobs_come_from_arrival_sequence sched arr_seq
H_jobs_must_arrive_to_execute: jobs_must_arrive_to_execute sched
H_completed_jobs_dont_execute: completed_jobs_dont_execute sched
H3: JLFP_policy Job
H_priority_is_reflexive: reflexive_priorities
H_priority_is_transitive: transitive_priorities
tsk: Task
H_sequential_tasks: sequential_tasks arr_seq sched
H_JLFP_respects_sequential_tasks: policy_respects_sequential_tasks
j: Job
t1: nat
R, upp: instant
ARRin: arrives_in arr_seq j
TSK: job_of_task tsk j
ARR: j \in arrivals_before arr_seq upp
NCOMPL: ~~ completed_by sched j R
t: nat_eqType
IN: t \in index_iota t1 R
TNSCHED: ~ task_scheduled_at sched tsk t
jo: Job
INT: interference jo t
TIN: jo \in task_arrivals_before arr_seq tsk upp

~~ priority_inversion_dec arr_seq sched j t && another_task_hep_job_interference_dec j t || priority_inversion_dec arr_seq sched j t && ~~ another_task_hep_job_interference_dec j t
Task: TaskType
H: TaskCost Task
Job: JobType
H0: JobTask Job Task
H1: JobArrival Job
H2: JobCost Job
arr_seq: arrival_sequence Job
H_valid_arrival_sequence: valid_arrival_sequence arr_seq
sched: schedule (processor_state Job)
H_jobs_come_from_arrival_sequence: jobs_come_from_arrival_sequence sched arr_seq
H_jobs_must_arrive_to_execute: jobs_must_arrive_to_execute sched
H_completed_jobs_dont_execute: completed_jobs_dont_execute sched
H3: JLFP_policy Job
H_priority_is_reflexive: reflexive_priorities
H_priority_is_transitive: transitive_priorities
tsk: Task
H_sequential_tasks: sequential_tasks arr_seq sched
H_JLFP_respects_sequential_tasks: policy_respects_sequential_tasks
j: Job
t1: nat
R, upp: instant
ARRin: arrives_in arr_seq j
TSK: job_of_task tsk j
ARR: j \in arrivals_before arr_seq upp
NCOMPL: ~~ completed_by sched j R
t: nat_eqType
IN: t \in index_iota t1 R
PRIO: jobs_come_from_arrival_sequence sched arr_seq -> jobs_must_arrive_to_execute sched -> consistent_arrival_times arr_seq -> priority_inversion sched j t
task_interference_received_before_dec arr_seq sched tsk upp t
Task: TaskType
H: TaskCost Task
Job: JobType
H0: JobTask Job Task
H1: JobArrival Job
H2: JobCost Job
arr_seq: arrival_sequence Job
H_valid_arrival_sequence: valid_arrival_sequence arr_seq
sched: schedule (processor_state Job)
H_jobs_come_from_arrival_sequence: jobs_come_from_arrival_sequence sched arr_seq
H_jobs_must_arrive_to_execute: jobs_must_arrive_to_execute sched
H_completed_jobs_dont_execute: completed_jobs_dont_execute sched
H3: JLFP_policy Job
H_priority_is_reflexive: reflexive_priorities
H_priority_is_transitive: transitive_priorities
tsk: Task
H_sequential_tasks: sequential_tasks arr_seq sched
H_JLFP_respects_sequential_tasks: policy_respects_sequential_tasks
j: Job
t1: nat
R, upp: instant
ARRin: arrives_in arr_seq j
TSK: job_of_task tsk j
ARR: j \in arrivals_before arr_seq upp
NCOMPL: ~~ completed_by sched j R
t: nat_eqType
IN: t \in index_iota t1 R
jo: Job
INjo: jo \in arrivals_up_to arr_seq t
ATHEP: another_task_hep_job jo j
RSERV: receives_service_at sched jo t
task_interference_received_before_dec arr_seq sched tsk upp t
Task: TaskType
H: TaskCost Task
Job: JobType
H0: JobTask Job Task
H1: JobArrival Job
H2: JobCost Job
arr_seq: arrival_sequence Job
H_valid_arrival_sequence: valid_arrival_sequence arr_seq
sched: schedule (processor_state Job)
H_jobs_come_from_arrival_sequence: jobs_come_from_arrival_sequence sched arr_seq
H_jobs_must_arrive_to_execute: jobs_must_arrive_to_execute sched
H_completed_jobs_dont_execute: completed_jobs_dont_execute sched
H3: JLFP_policy Job
H_priority_is_reflexive: reflexive_priorities
H_priority_is_transitive: transitive_priorities
tsk: Task
H_sequential_tasks: sequential_tasks arr_seq sched
H_JLFP_respects_sequential_tasks: policy_respects_sequential_tasks
j: Job
t1: nat
R, upp: instant
ARRin: arrives_in arr_seq j
TSK: job_of_task tsk j
ARR: j \in arrivals_before arr_seq upp
NCOMPL: ~~ completed_by sched j R
t: nat_eqType
IN: t \in index_iota t1 R
TNSCHED: ~ task_scheduled_at sched tsk t
jo: Job
INT: interference jo t
TIN: jo \in task_arrivals_before arr_seq tsk upp

~~ priority_inversion_dec arr_seq sched j t && another_task_hep_job_interference_dec j t || priority_inversion_dec arr_seq sched j t && ~~ another_task_hep_job_interference_dec j t
by eapply priority_inversion_xor_atask_hep_job_interference; rt_eauto.
Task: TaskType
H: TaskCost Task
Job: JobType
H0: JobTask Job Task
H1: JobArrival Job
H2: JobCost Job
arr_seq: arrival_sequence Job
H_valid_arrival_sequence: valid_arrival_sequence arr_seq
sched: schedule (processor_state Job)
H_jobs_come_from_arrival_sequence: jobs_come_from_arrival_sequence sched arr_seq
H_jobs_must_arrive_to_execute: jobs_must_arrive_to_execute sched
H_completed_jobs_dont_execute: completed_jobs_dont_execute sched
H3: JLFP_policy Job
H_priority_is_reflexive: reflexive_priorities
H_priority_is_transitive: transitive_priorities
tsk: Task
H_sequential_tasks: sequential_tasks arr_seq sched
H_JLFP_respects_sequential_tasks: policy_respects_sequential_tasks
j: Job
t1: nat
R, upp: instant
ARRin: arrives_in arr_seq j
TSK: job_of_task tsk j
ARR: j \in arrivals_before arr_seq upp
NCOMPL: ~~ completed_by sched j R
t: nat_eqType
IN: t \in index_iota t1 R
PRIO: jobs_come_from_arrival_sequence sched arr_seq -> jobs_must_arrive_to_execute sched -> consistent_arrival_times arr_seq -> priority_inversion sched j t

task_interference_received_before_dec arr_seq sched tsk upp t
Task: TaskType
H: TaskCost Task
Job: JobType
H0: JobTask Job Task
H1: JobArrival Job
H2: JobCost Job
arr_seq: arrival_sequence Job
H_valid_arrival_sequence: valid_arrival_sequence arr_seq
sched: schedule (processor_state Job)
H_jobs_come_from_arrival_sequence: jobs_come_from_arrival_sequence sched arr_seq
H_jobs_must_arrive_to_execute: jobs_must_arrive_to_execute sched
H_completed_jobs_dont_execute: completed_jobs_dont_execute sched
H3: JLFP_policy Job
H_priority_is_reflexive: reflexive_priorities
H_priority_is_transitive: transitive_priorities
tsk: Task
H_sequential_tasks: sequential_tasks arr_seq sched
H_JLFP_respects_sequential_tasks: policy_respects_sequential_tasks
j: Job
t1: nat
R, upp: instant
ARRin: arrives_in arr_seq j
TSK: job_of_task tsk j
ARR: j \in arrivals_before arr_seq upp
NCOMPL: ~~ completed_by sched j R
t: nat_eqType
IN: t \in index_iota t1 R
jo: Job
INjo: jo \in arrivals_up_to arr_seq t
ATHEP: another_task_hep_job jo j
RSERV: receives_service_at sched jo t
task_interference_received_before_dec arr_seq sched tsk upp t
Task: TaskType
H: TaskCost Task
Job: JobType
H0: JobTask Job Task
H1: JobArrival Job
H2: JobCost Job
arr_seq: arrival_sequence Job
H_valid_arrival_sequence: valid_arrival_sequence arr_seq
sched: schedule (processor_state Job)
H_jobs_come_from_arrival_sequence: jobs_come_from_arrival_sequence sched arr_seq
H_jobs_must_arrive_to_execute: jobs_must_arrive_to_execute sched
H_completed_jobs_dont_execute: completed_jobs_dont_execute sched
H3: JLFP_policy Job
H_priority_is_reflexive: reflexive_priorities
H_priority_is_transitive: transitive_priorities
tsk: Task
H_sequential_tasks: sequential_tasks arr_seq sched
H_JLFP_respects_sequential_tasks: policy_respects_sequential_tasks
j: Job
t1: nat
R, upp: instant
ARRin: arrives_in arr_seq j
TSK: job_of_task tsk j
ARR: j \in arrivals_before arr_seq upp
NCOMPL: ~~ completed_by sched j R
t: nat_eqType
IN: t \in index_iota t1 R
PRIO: jobs_come_from_arrival_sequence sched arr_seq -> jobs_must_arrive_to_execute sched -> consistent_arrival_times arr_seq -> priority_inversion sched j t

task_interference_received_before_dec arr_seq sched tsk upp t
Task: TaskType
H: TaskCost Task
Job: JobType
H0: JobTask Job Task
H1: JobArrival Job
H2: JobCost Job
arr_seq: arrival_sequence Job
H_valid_arrival_sequence: valid_arrival_sequence arr_seq
sched: schedule (processor_state Job)
H_jobs_come_from_arrival_sequence: jobs_come_from_arrival_sequence sched arr_seq
H_jobs_must_arrive_to_execute: jobs_must_arrive_to_execute sched
H_completed_jobs_dont_execute: completed_jobs_dont_execute sched
H3: JLFP_policy Job
H_priority_is_reflexive: reflexive_priorities
H_priority_is_transitive: transitive_priorities
tsk: Task
H_sequential_tasks: sequential_tasks arr_seq sched
H_JLFP_respects_sequential_tasks: policy_respects_sequential_tasks
j: Job
t1: nat
R, upp: instant
ARRin: arrives_in arr_seq j
TSK: job_of_task tsk j
ARR: j \in arrivals_before arr_seq upp
NCOMPL: ~~ completed_by sched j R
t: nat_eqType
IN: t \in index_iota t1 R
NSCHED: ~~ scheduled_at sched j t
j': Job
SCHED: scheduled_at sched j' t
NHEP: ~~ hep_job j' j

task_interference_received_before_dec arr_seq sched tsk upp t
Task: TaskType
H: TaskCost Task
Job: JobType
H0: JobTask Job Task
H1: JobArrival Job
H2: JobCost Job
arr_seq: arrival_sequence Job
H_valid_arrival_sequence: valid_arrival_sequence arr_seq
sched: schedule (processor_state Job)
H_jobs_come_from_arrival_sequence: jobs_come_from_arrival_sequence sched arr_seq
H_jobs_must_arrive_to_execute: jobs_must_arrive_to_execute sched
H_completed_jobs_dont_execute: completed_jobs_dont_execute sched
H3: JLFP_policy Job
H_priority_is_reflexive: reflexive_priorities
H_priority_is_transitive: transitive_priorities
tsk: Task
H_sequential_tasks: sequential_tasks arr_seq sched
H_JLFP_respects_sequential_tasks: policy_respects_sequential_tasks
j: Job
t1: nat
R, upp: instant
ARRin: arrives_in arr_seq j
TSK: job_of_task tsk j
ARR: j \in arrivals_before arr_seq upp
NCOMPL: ~~ completed_by sched j R
t: nat_eqType
IN: t \in index_iota t1 R
NSCHED: ~~ scheduled_at sched j t
j': Job
SCHED: scheduled_at sched j' t
NHEP: ~~ hep_job j' j

~ task_scheduled_at sched tsk t
Task: TaskType
H: TaskCost Task
Job: JobType
H0: JobTask Job Task
H1: JobArrival Job
H2: JobCost Job
arr_seq: arrival_sequence Job
H_valid_arrival_sequence: valid_arrival_sequence arr_seq
sched: schedule (processor_state Job)
H_jobs_come_from_arrival_sequence: jobs_come_from_arrival_sequence sched arr_seq
H_jobs_must_arrive_to_execute: jobs_must_arrive_to_execute sched
H_completed_jobs_dont_execute: completed_jobs_dont_execute sched
H3: JLFP_policy Job
H_priority_is_reflexive: reflexive_priorities
H_priority_is_transitive: transitive_priorities
tsk: Task
H_sequential_tasks: sequential_tasks arr_seq sched
H_JLFP_respects_sequential_tasks: policy_respects_sequential_tasks
j: Job
t1: nat
R, upp: instant
ARRin: arrives_in arr_seq j
TSK: job_of_task tsk j
ARR: j \in arrivals_before arr_seq upp
NCOMPL: ~~ completed_by sched j R
t: nat_eqType
IN: t \in index_iota t1 R
NSCHED: ~~ scheduled_at sched j t
j': Job
SCHED: scheduled_at sched j' t
NHEP: ~~ hep_job j' j
exists j : Job, interference j t /\ j \in task_arrivals_before arr_seq tsk upp
Task: TaskType
H: TaskCost Task
Job: JobType
H0: JobTask Job Task
H1: JobArrival Job
H2: JobCost Job
arr_seq: arrival_sequence Job
H_valid_arrival_sequence: valid_arrival_sequence arr_seq
sched: schedule (processor_state Job)
H_jobs_come_from_arrival_sequence: jobs_come_from_arrival_sequence sched arr_seq
H_jobs_must_arrive_to_execute: jobs_must_arrive_to_execute sched
H_completed_jobs_dont_execute: completed_jobs_dont_execute sched
H3: JLFP_policy Job
H_priority_is_reflexive: reflexive_priorities
H_priority_is_transitive: transitive_priorities
tsk: Task
H_sequential_tasks: sequential_tasks arr_seq sched
H_JLFP_respects_sequential_tasks: policy_respects_sequential_tasks
j: Job
t1: nat
R, upp: instant
ARRin: arrives_in arr_seq j
TSK: job_of_task tsk j
ARR: j \in arrivals_before arr_seq upp
NCOMPL: ~~ completed_by sched j R
t: nat_eqType
IN: t \in index_iota t1 R
NSCHED: ~~ scheduled_at sched j t
j': Job
SCHED: scheduled_at sched j' t
NHEP: ~~ hep_job j' j

~ task_scheduled_at sched tsk t
Task: TaskType
H: TaskCost Task
Job: JobType
H0: JobTask Job Task
H1: JobArrival Job
H2: JobCost Job
arr_seq: arrival_sequence Job
H_valid_arrival_sequence: valid_arrival_sequence arr_seq
sched: schedule (processor_state Job)
H_jobs_come_from_arrival_sequence: jobs_come_from_arrival_sequence sched arr_seq
H_jobs_must_arrive_to_execute: jobs_must_arrive_to_execute sched
H_completed_jobs_dont_execute: completed_jobs_dont_execute sched
H3: JLFP_policy Job
H_priority_is_reflexive: reflexive_priorities
H_priority_is_transitive: transitive_priorities
tsk: Task
H_sequential_tasks: sequential_tasks arr_seq sched
H_JLFP_respects_sequential_tasks: policy_respects_sequential_tasks
j: Job
t1: nat
R, upp: instant
ARRin: arrives_in arr_seq j
TSK: job_of_task tsk j
ARR: j \in arrivals_before arr_seq upp
NCOMPL: ~~ completed_by sched j R
t: nat_eqType
IN: t \in index_iota t1 R
NSCHED: ~~ scheduled_at sched j t
j': Job
SCHED: scheduled_at sched j' t
NHEP: ~~ hep_job j' j
exists j : Job, interference j t /\ j \in task_arrivals_before arr_seq tsk upp
Task: TaskType
H: TaskCost Task
Job: JobType
H0: JobTask Job Task
H1: JobArrival Job
H2: JobCost Job
arr_seq: arrival_sequence Job
H_valid_arrival_sequence: valid_arrival_sequence arr_seq
sched: schedule (processor_state Job)
H_jobs_come_from_arrival_sequence: jobs_come_from_arrival_sequence sched arr_seq
H_jobs_must_arrive_to_execute: jobs_must_arrive_to_execute sched
H_completed_jobs_dont_execute: completed_jobs_dont_execute sched
H3: JLFP_policy Job
H_priority_is_reflexive: reflexive_priorities
H_priority_is_transitive: transitive_priorities
tsk: Task
H_sequential_tasks: sequential_tasks arr_seq sched
H_JLFP_respects_sequential_tasks: policy_respects_sequential_tasks
j: Job
t1: nat
R, upp: instant
ARRin: arrives_in arr_seq j
TSK: job_of_task tsk j
ARR: j \in arrivals_before arr_seq upp
NCOMPL: ~~ completed_by sched j R
t: nat_eqType
IN: t \in index_iota t1 R
NSCHED: ~~ scheduled_at sched j t
j': Job
SCHED: scheduled_at sched j' t
NHEP: ~~ hep_job j' j
TSCHED: task_scheduled_at sched tsk t

False
Task: TaskType
H: TaskCost Task
Job: JobType
H0: JobTask Job Task
H1: JobArrival Job
H2: JobCost Job
arr_seq: arrival_sequence Job
H_valid_arrival_sequence: valid_arrival_sequence arr_seq
sched: schedule (processor_state Job)
H_jobs_come_from_arrival_sequence: jobs_come_from_arrival_sequence sched arr_seq
H_jobs_must_arrive_to_execute: jobs_must_arrive_to_execute sched
H_completed_jobs_dont_execute: completed_jobs_dont_execute sched
H3: JLFP_policy Job
H_priority_is_reflexive: reflexive_priorities
H_priority_is_transitive: transitive_priorities
tsk: Task
H_sequential_tasks: sequential_tasks arr_seq sched
H_JLFP_respects_sequential_tasks: policy_respects_sequential_tasks
j: Job
t1: nat
R, upp: instant
ARRin: arrives_in arr_seq j
TSK: job_of_task tsk j
ARR: j \in arrivals_before arr_seq upp
NCOMPL: ~~ completed_by sched j R
t: nat_eqType
IN: t \in index_iota t1 R
NSCHED: ~~ scheduled_at sched j t
j': Job
SCHED: scheduled_at sched j' t
NHEP: ~~ hep_job j' j
exists j : Job, interference j t /\ j \in task_arrivals_before arr_seq tsk upp
Task: TaskType
H: TaskCost Task
Job: JobType
H0: JobTask Job Task
H1: JobArrival Job
H2: JobCost Job
arr_seq: arrival_sequence Job
H_valid_arrival_sequence: valid_arrival_sequence arr_seq
sched: schedule (processor_state Job)
H_jobs_come_from_arrival_sequence: jobs_come_from_arrival_sequence sched arr_seq
H_jobs_must_arrive_to_execute: jobs_must_arrive_to_execute sched
H_completed_jobs_dont_execute: completed_jobs_dont_execute sched
H3: JLFP_policy Job
H_priority_is_reflexive: reflexive_priorities
H_priority_is_transitive: transitive_priorities
tsk: Task
H_sequential_tasks: sequential_tasks arr_seq sched
H_JLFP_respects_sequential_tasks: policy_respects_sequential_tasks
j: Job
t1: nat
R, upp: instant
ARRin: arrives_in arr_seq j
TSK: job_of_task tsk j
ARR: j \in arrivals_before arr_seq upp
NCOMPL: ~~ completed_by sched j R
t: nat_eqType
IN: t \in index_iota t1 R
NSCHED: ~~ scheduled_at sched j t
j': Job
SCHED: scheduled_at sched j' t
NHEP: ~~ hep_job j' j
TSCHED: task_scheduled_at sched tsk t

job_of_task tsk j'
Task: TaskType
H: TaskCost Task
Job: JobType
H0: JobTask Job Task
H1: JobArrival Job
H2: JobCost Job
arr_seq: arrival_sequence Job
H_valid_arrival_sequence: valid_arrival_sequence arr_seq
sched: schedule (processor_state Job)
H_jobs_come_from_arrival_sequence: jobs_come_from_arrival_sequence sched arr_seq
H_jobs_must_arrive_to_execute: jobs_must_arrive_to_execute sched
H_completed_jobs_dont_execute: completed_jobs_dont_execute sched
H3: JLFP_policy Job
H_priority_is_reflexive: reflexive_priorities
H_priority_is_transitive: transitive_priorities
tsk: Task
H_sequential_tasks: sequential_tasks arr_seq sched
H_JLFP_respects_sequential_tasks: policy_respects_sequential_tasks
j: Job
t1: nat
R, upp: instant
ARRin: arrives_in arr_seq j
TSK: job_of_task tsk j
ARR: j \in arrivals_before arr_seq upp
NCOMPL: ~~ completed_by sched j R
t: nat_eqType
IN: t \in index_iota t1 R
NSCHED: ~~ scheduled_at sched j t
j': Job
SCHED: scheduled_at sched j' t
NHEP: ~~ hep_job j' j
TSCHED: task_scheduled_at sched tsk t
TSKj': job_of_task tsk j'
False
Task: TaskType
H: TaskCost Task
Job: JobType
H0: JobTask Job Task
H1: JobArrival Job
H2: JobCost Job
arr_seq: arrival_sequence Job
H_valid_arrival_sequence: valid_arrival_sequence arr_seq
sched: schedule (processor_state Job)
H_jobs_come_from_arrival_sequence: jobs_come_from_arrival_sequence sched arr_seq
H_jobs_must_arrive_to_execute: jobs_must_arrive_to_execute sched
H_completed_jobs_dont_execute: completed_jobs_dont_execute sched
H3: JLFP_policy Job
H_priority_is_reflexive: reflexive_priorities
H_priority_is_transitive: transitive_priorities
tsk: Task
H_sequential_tasks: sequential_tasks arr_seq sched
H_JLFP_respects_sequential_tasks: policy_respects_sequential_tasks
j: Job
t1: nat
R, upp: instant
ARRin: arrives_in arr_seq j
TSK: job_of_task tsk j
ARR: j \in arrivals_before arr_seq upp
NCOMPL: ~~ completed_by sched j R
t: nat_eqType
IN: t \in index_iota t1 R
NSCHED: ~~ scheduled_at sched j t
j': Job
SCHED: scheduled_at sched j' t
NHEP: ~~ hep_job j' j
exists j : Job, interference j t /\ j \in task_arrivals_before arr_seq tsk upp
Task: TaskType
H: TaskCost Task
Job: JobType
H0: JobTask Job Task
H1: JobArrival Job
H2: JobCost Job
arr_seq: arrival_sequence Job
H_valid_arrival_sequence: valid_arrival_sequence arr_seq
sched: schedule (processor_state Job)
H_jobs_come_from_arrival_sequence: jobs_come_from_arrival_sequence sched arr_seq
H_jobs_must_arrive_to_execute: jobs_must_arrive_to_execute sched
H_completed_jobs_dont_execute: completed_jobs_dont_execute sched
H3: JLFP_policy Job
H_priority_is_reflexive: reflexive_priorities
H_priority_is_transitive: transitive_priorities
tsk: Task
H_sequential_tasks: sequential_tasks arr_seq sched
H_JLFP_respects_sequential_tasks: policy_respects_sequential_tasks
j: Job
t1: nat
R, upp: instant
ARRin: arrives_in arr_seq j
TSK: job_of_task tsk j
ARR: j \in arrivals_before arr_seq upp
NCOMPL: ~~ completed_by sched j R
t: nat_eqType
IN: t \in index_iota t1 R
NSCHED: ~~ scheduled_at sched j t
j': Job
SCHED: scheduled_at sched j' t
NHEP: ~~ hep_job j' j
TSCHED: task_scheduled_at sched tsk t

job_of_task tsk j'
Task: TaskType
H: TaskCost Task
Job: JobType
H0: JobTask Job Task
H1: JobArrival Job
H2: JobCost Job
arr_seq: arrival_sequence Job
H_valid_arrival_sequence: valid_arrival_sequence arr_seq
sched: schedule (processor_state Job)
H_jobs_come_from_arrival_sequence: jobs_come_from_arrival_sequence sched arr_seq
H_jobs_must_arrive_to_execute: jobs_must_arrive_to_execute sched
H_completed_jobs_dont_execute: completed_jobs_dont_execute sched
H3: JLFP_policy Job
H_priority_is_reflexive: reflexive_priorities
H_priority_is_transitive: transitive_priorities
tsk: Task
H_sequential_tasks: sequential_tasks arr_seq sched
H_JLFP_respects_sequential_tasks: policy_respects_sequential_tasks
j: Job
t1: nat
R, upp: instant
ARRin: arrives_in arr_seq j
TSK: job_of_task tsk j
ARR: j \in arrivals_before arr_seq upp
NCOMPL: ~~ completed_by sched j R
t: nat_eqType
IN: t \in index_iota t1 R
NSCHED: ~~ scheduled_at sched j t
j': Job
SCHED: scheduled_at sched j' t
NHEP: ~~ hep_job j' j

match sched t with | Some j => job_task j == tsk | None => false end -> job_of_task tsk j'
by move: SCHED; rewrite scheduled_at_def => /eqP ->.
Task: TaskType
H: TaskCost Task
Job: JobType
H0: JobTask Job Task
H1: JobArrival Job
H2: JobCost Job
arr_seq: arrival_sequence Job
H_valid_arrival_sequence: valid_arrival_sequence arr_seq
sched: schedule (processor_state Job)
H_jobs_come_from_arrival_sequence: jobs_come_from_arrival_sequence sched arr_seq
H_jobs_must_arrive_to_execute: jobs_must_arrive_to_execute sched
H_completed_jobs_dont_execute: completed_jobs_dont_execute sched
H3: JLFP_policy Job
H_priority_is_reflexive: reflexive_priorities
H_priority_is_transitive: transitive_priorities
tsk: Task
H_sequential_tasks: sequential_tasks arr_seq sched
H_JLFP_respects_sequential_tasks: policy_respects_sequential_tasks
j: Job
t1: nat
R, upp: instant
ARRin: arrives_in arr_seq j
TSK: job_of_task tsk j
ARR: j \in arrivals_before arr_seq upp
NCOMPL: ~~ completed_by sched j R
t: nat_eqType
IN: t \in index_iota t1 R
NSCHED: ~~ scheduled_at sched j t
j': Job
SCHED: scheduled_at sched j' t
NHEP: ~~ hep_job j' j
TSCHED: task_scheduled_at sched tsk t
TSKj': job_of_task tsk j'

False
Task: TaskType
H: TaskCost Task
Job: JobType
H0: JobTask Job Task
H1: JobArrival Job
H2: JobCost Job
arr_seq: arrival_sequence Job
H_valid_arrival_sequence: valid_arrival_sequence arr_seq
sched: schedule (processor_state Job)
H_jobs_come_from_arrival_sequence: jobs_come_from_arrival_sequence sched arr_seq
H_jobs_must_arrive_to_execute: jobs_must_arrive_to_execute sched
H_completed_jobs_dont_execute: completed_jobs_dont_execute sched
H3: JLFP_policy Job
H_priority_is_reflexive: reflexive_priorities
H_priority_is_transitive: transitive_priorities
tsk: Task
H_sequential_tasks: sequential_tasks arr_seq sched
H_JLFP_respects_sequential_tasks: policy_respects_sequential_tasks
j: Job
t1: nat
R, upp: instant
ARRin: arrives_in arr_seq j
TSK: job_of_task tsk j
ARR: j \in arrivals_before arr_seq upp
NCOMPL: ~~ completed_by sched j R
t: nat_eqType
IN: t \in index_iota t1 R
NSCHED: ~~ scheduled_at sched j t
j': Job
SCHED: scheduled_at sched j' t
NHEP: ~~ hep_job j' j
exists j : Job, interference j t /\ j \in task_arrivals_before arr_seq tsk upp
Task: TaskType
H: TaskCost Task
Job: JobType
H0: JobTask Job Task
H1: JobArrival Job
H2: JobCost Job
arr_seq: arrival_sequence Job
H_valid_arrival_sequence: valid_arrival_sequence arr_seq
sched: schedule (processor_state Job)
H_jobs_come_from_arrival_sequence: jobs_come_from_arrival_sequence sched arr_seq
H_jobs_must_arrive_to_execute: jobs_must_arrive_to_execute sched
H_completed_jobs_dont_execute: completed_jobs_dont_execute sched
H3: JLFP_policy Job
H_priority_is_reflexive: reflexive_priorities
H_priority_is_transitive: transitive_priorities
tsk: Task
H_sequential_tasks: sequential_tasks arr_seq sched
H_JLFP_respects_sequential_tasks: policy_respects_sequential_tasks
j: Job
t1: nat
R, upp: instant
ARRin: arrives_in arr_seq j
TSK: job_of_task tsk j
ARR: j \in arrivals_before arr_seq upp
NCOMPL: ~~ completed_by sched j R
t: nat_eqType
IN: t \in index_iota t1 R
NSCHED: ~~ scheduled_at sched j t
j': Job
SCHED: scheduled_at sched j' t
NHEP: ~~ hep_job j' j
TSKj': job_of_task tsk j'

False
Task: TaskType
H: TaskCost Task
Job: JobType
H0: JobTask Job Task
H1: JobArrival Job
H2: JobCost Job
arr_seq: arrival_sequence Job
H_valid_arrival_sequence: valid_arrival_sequence arr_seq
sched: schedule (processor_state Job)
H_jobs_come_from_arrival_sequence: jobs_come_from_arrival_sequence sched arr_seq
H_jobs_must_arrive_to_execute: jobs_must_arrive_to_execute sched
H_completed_jobs_dont_execute: completed_jobs_dont_execute sched
H3: JLFP_policy Job
H_priority_is_reflexive: reflexive_priorities
H_priority_is_transitive: transitive_priorities
tsk: Task
H_sequential_tasks: sequential_tasks arr_seq sched
H_JLFP_respects_sequential_tasks: policy_respects_sequential_tasks
j: Job
t1: nat
R, upp: instant
ARRin: arrives_in arr_seq j
TSK: job_of_task tsk j
ARR: j \in arrivals_before arr_seq upp
NCOMPL: ~~ completed_by sched j R
t: nat_eqType
IN: t \in index_iota t1 R
NSCHED: ~~ scheduled_at sched j t
j': Job
SCHED: scheduled_at sched j' t
NHEP: ~~ hep_job j' j
exists j : Job, interference j t /\ j \in task_arrivals_before arr_seq tsk upp
Task: TaskType
H: TaskCost Task
Job: JobType
H0: JobTask Job Task
H1: JobArrival Job
H2: JobCost Job
arr_seq: arrival_sequence Job
H_valid_arrival_sequence: valid_arrival_sequence arr_seq
sched: schedule (processor_state Job)
H_jobs_come_from_arrival_sequence: jobs_come_from_arrival_sequence sched arr_seq
H_jobs_must_arrive_to_execute: jobs_must_arrive_to_execute sched
H_completed_jobs_dont_execute: completed_jobs_dont_execute sched
H3: JLFP_policy Job
H_priority_is_reflexive: reflexive_priorities
H_priority_is_transitive: transitive_priorities
tsk: Task
H_sequential_tasks: sequential_tasks arr_seq sched
H_JLFP_respects_sequential_tasks: policy_respects_sequential_tasks
j: Job
t1: nat
R, upp: instant
ARRin: arrives_in arr_seq j
TSK: job_of_task tsk j
ARR: j \in arrivals_before arr_seq upp
NCOMPL: ~~ completed_by sched j R
t: nat_eqType
IN: t \in index_iota t1 R
NSCHED: ~~ scheduled_at sched j t
j': Job
SCHED: scheduled_at sched j' t
NHEP: ~~ hep_job j' j
TSKj': job_of_task tsk j'

job_arrival j < job_arrival j'
Task: TaskType
H: TaskCost Task
Job: JobType
H0: JobTask Job Task
H1: JobArrival Job
H2: JobCost Job
arr_seq: arrival_sequence Job
H_valid_arrival_sequence: valid_arrival_sequence arr_seq
sched: schedule (processor_state Job)
H_jobs_come_from_arrival_sequence: jobs_come_from_arrival_sequence sched arr_seq
H_jobs_must_arrive_to_execute: jobs_must_arrive_to_execute sched
H_completed_jobs_dont_execute: completed_jobs_dont_execute sched
H3: JLFP_policy Job
H_priority_is_reflexive: reflexive_priorities
H_priority_is_transitive: transitive_priorities
tsk: Task
H_sequential_tasks: sequential_tasks arr_seq sched
H_JLFP_respects_sequential_tasks: policy_respects_sequential_tasks
j: Job
t1: nat
R, upp: instant
ARRin: arrives_in arr_seq j
TSK: job_of_task tsk j
ARR: j \in arrivals_before arr_seq upp
NCOMPL: ~~ completed_by sched j R
t: nat_eqType
IN: t \in index_iota t1 R
NSCHED: ~~ scheduled_at sched j t
j': Job
SCHED: scheduled_at sched j' t
NHEP: ~~ hep_job j' j
TSKj': job_of_task tsk j'
ARRj': job_arrival j < job_arrival j'
False
Task: TaskType
H: TaskCost Task
Job: JobType
H0: JobTask Job Task
H1: JobArrival Job
H2: JobCost Job
arr_seq: arrival_sequence Job
H_valid_arrival_sequence: valid_arrival_sequence arr_seq
sched: schedule (processor_state Job)
H_jobs_come_from_arrival_sequence: jobs_come_from_arrival_sequence sched arr_seq
H_jobs_must_arrive_to_execute: jobs_must_arrive_to_execute sched
H_completed_jobs_dont_execute: completed_jobs_dont_execute sched
H3: JLFP_policy Job
H_priority_is_reflexive: reflexive_priorities
H_priority_is_transitive: transitive_priorities
tsk: Task
H_sequential_tasks: sequential_tasks arr_seq sched
H_JLFP_respects_sequential_tasks: policy_respects_sequential_tasks
j: Job
t1: nat
R, upp: instant
ARRin: arrives_in arr_seq j
TSK: job_of_task tsk j
ARR: j \in arrivals_before arr_seq upp
NCOMPL: ~~ completed_by sched j R
t: nat_eqType
IN: t \in index_iota t1 R
NSCHED: ~~ scheduled_at sched j t
j': Job
SCHED: scheduled_at sched j' t
NHEP: ~~ hep_job j' j
exists j : Job, interference j t /\ j \in task_arrivals_before arr_seq tsk upp
Task: TaskType
H: TaskCost Task
Job: JobType
H0: JobTask Job Task
H1: JobArrival Job
H2: JobCost Job
arr_seq: arrival_sequence Job
H_valid_arrival_sequence: valid_arrival_sequence arr_seq
sched: schedule (processor_state Job)
H_jobs_come_from_arrival_sequence: jobs_come_from_arrival_sequence sched arr_seq
H_jobs_must_arrive_to_execute: jobs_must_arrive_to_execute sched
H_completed_jobs_dont_execute: completed_jobs_dont_execute sched
H3: JLFP_policy Job
H_priority_is_reflexive: reflexive_priorities
H_priority_is_transitive: transitive_priorities
tsk: Task
H_sequential_tasks: sequential_tasks arr_seq sched
H_JLFP_respects_sequential_tasks: policy_respects_sequential_tasks
j: Job
t1: nat
R, upp: instant
ARRin: arrives_in arr_seq j
TSK: job_of_task tsk j
ARR: j \in arrivals_before arr_seq upp
NCOMPL: ~~ completed_by sched j R
t: nat_eqType
IN: t \in index_iota t1 R
NSCHED: ~~ scheduled_at sched j t
j': Job
SCHED: scheduled_at sched j' t
NHEP: ~~ hep_job j' j
TSKj': job_of_task tsk j'

job_arrival j < job_arrival j'
by move: NHEP; rewrite ltnNge; apply contra, H_JLFP_respects_sequential_tasks; move: TSK => /eqP ->.
Task: TaskType
H: TaskCost Task
Job: JobType
H0: JobTask Job Task
H1: JobArrival Job
H2: JobCost Job
arr_seq: arrival_sequence Job
H_valid_arrival_sequence: valid_arrival_sequence arr_seq
sched: schedule (processor_state Job)
H_jobs_come_from_arrival_sequence: jobs_come_from_arrival_sequence sched arr_seq
H_jobs_must_arrive_to_execute: jobs_must_arrive_to_execute sched
H_completed_jobs_dont_execute: completed_jobs_dont_execute sched
H3: JLFP_policy Job
H_priority_is_reflexive: reflexive_priorities
H_priority_is_transitive: transitive_priorities
tsk: Task
H_sequential_tasks: sequential_tasks arr_seq sched
H_JLFP_respects_sequential_tasks: policy_respects_sequential_tasks
j: Job
t1: nat
R, upp: instant
ARRin: arrives_in arr_seq j
TSK: job_of_task tsk j
ARR: j \in arrivals_before arr_seq upp
NCOMPL: ~~ completed_by sched j R
t: nat_eqType
IN: t \in index_iota t1 R
NSCHED: ~~ scheduled_at sched j t
j': Job
SCHED: scheduled_at sched j' t
NHEP: ~~ hep_job j' j
TSKj': job_of_task tsk j'
ARRj': job_arrival j < job_arrival j'

False
Task: TaskType
H: TaskCost Task
Job: JobType
H0: JobTask Job Task
H1: JobArrival Job
H2: JobCost Job
arr_seq: arrival_sequence Job
H_valid_arrival_sequence: valid_arrival_sequence arr_seq
sched: schedule (processor_state Job)
H_jobs_come_from_arrival_sequence: jobs_come_from_arrival_sequence sched arr_seq
H_jobs_must_arrive_to_execute: jobs_must_arrive_to_execute sched
H_completed_jobs_dont_execute: completed_jobs_dont_execute sched
H3: JLFP_policy Job
H_priority_is_reflexive: reflexive_priorities
H_priority_is_transitive: transitive_priorities
tsk: Task
H_sequential_tasks: sequential_tasks arr_seq sched
H_JLFP_respects_sequential_tasks: policy_respects_sequential_tasks
j: Job
t1: nat
R, upp: instant
ARRin: arrives_in arr_seq j
TSK: job_of_task tsk j
ARR: j \in arrivals_before arr_seq upp
NCOMPL: ~~ completed_by sched j R
t: nat_eqType
IN: t \in index_iota t1 R
NSCHED: ~~ scheduled_at sched j t
j': Job
SCHED: scheduled_at sched j' t
NHEP: ~~ hep_job j' j
exists j : Job, interference j t /\ j \in task_arrivals_before arr_seq tsk upp
Task: TaskType
H: TaskCost Task
Job: JobType
H0: JobTask Job Task
H1: JobArrival Job
H2: JobCost Job
arr_seq: arrival_sequence Job
H_valid_arrival_sequence: valid_arrival_sequence arr_seq
sched: schedule (processor_state Job)
H_jobs_come_from_arrival_sequence: jobs_come_from_arrival_sequence sched arr_seq
H_jobs_must_arrive_to_execute: jobs_must_arrive_to_execute sched
H_completed_jobs_dont_execute: completed_jobs_dont_execute sched
H3: JLFP_policy Job
H_priority_is_reflexive: reflexive_priorities
H_priority_is_transitive: transitive_priorities
tsk: Task
H_sequential_tasks: sequential_tasks arr_seq sched
H_JLFP_respects_sequential_tasks: policy_respects_sequential_tasks
j: Job
t1: nat
R, upp: instant
ARRin: arrives_in arr_seq j
TSK: job_of_task tsk j
ARR: j \in arrivals_before arr_seq upp
NCOMPL: ~~ completed_by sched j R
t: nat_eqType
IN: t \in index_iota t1 R
NSCHED: ~~ scheduled_at sched j t
j': Job
SCHED: scheduled_at sched j' t
NHEP: ~~ hep_job j' j
TSKj': job_of_task tsk j'
ARRj': scheduled_at sched j' ?t -> completed_by sched j ?t

False
Task: TaskType
H: TaskCost Task
Job: JobType
H0: JobTask Job Task
H1: JobArrival Job
H2: JobCost Job
arr_seq: arrival_sequence Job
H_valid_arrival_sequence: valid_arrival_sequence arr_seq
sched: schedule (processor_state Job)
H_jobs_come_from_arrival_sequence: jobs_come_from_arrival_sequence sched arr_seq
H_jobs_must_arrive_to_execute: jobs_must_arrive_to_execute sched
H_completed_jobs_dont_execute: completed_jobs_dont_execute sched
H3: JLFP_policy Job
H_priority_is_reflexive: reflexive_priorities
H_priority_is_transitive: transitive_priorities
tsk: Task
H_sequential_tasks: sequential_tasks arr_seq sched
H_JLFP_respects_sequential_tasks: policy_respects_sequential_tasks
j: Job
t1: nat
R, upp: instant
ARRin: arrives_in arr_seq j
TSK: job_of_task tsk j
ARR: j \in arrivals_before arr_seq upp
NCOMPL: ~~ completed_by sched j R
t: nat_eqType
IN: t \in index_iota t1 R
NSCHED: ~~ scheduled_at sched j t
j': Job
SCHED: scheduled_at sched j' t
NHEP: ~~ hep_job j' j
exists j : Job, interference j t /\ j \in task_arrivals_before arr_seq tsk upp
Task: TaskType
H: TaskCost Task
Job: JobType
H0: JobTask Job Task
H1: JobArrival Job
H2: JobCost Job
arr_seq: arrival_sequence Job
H_valid_arrival_sequence: valid_arrival_sequence arr_seq
sched: schedule (processor_state Job)
H_jobs_come_from_arrival_sequence: jobs_come_from_arrival_sequence sched arr_seq
H_jobs_must_arrive_to_execute: jobs_must_arrive_to_execute sched
H_completed_jobs_dont_execute: completed_jobs_dont_execute sched
H3: JLFP_policy Job
H_priority_is_reflexive: reflexive_priorities
H_priority_is_transitive: transitive_priorities
tsk: Task
H_sequential_tasks: sequential_tasks arr_seq sched
H_JLFP_respects_sequential_tasks: policy_respects_sequential_tasks
j: Job
t1: nat
R, upp: instant
ARRin: arrives_in arr_seq j
TSK: job_of_task tsk j
ARR: j \in arrivals_before arr_seq upp
NCOMPL: ~~ completed_by sched j R
t: nat_eqType
IN: t \in index_iota t1 R
NSCHED: ~~ scheduled_at sched j t
j': Job
SCHED: completed_by sched j t
NHEP: ~~ hep_job j' j
TSKj': job_of_task tsk j'

False
Task: TaskType
H: TaskCost Task
Job: JobType
H0: JobTask Job Task
H1: JobArrival Job
H2: JobCost Job
arr_seq: arrival_sequence Job
H_valid_arrival_sequence: valid_arrival_sequence arr_seq
sched: schedule (processor_state Job)
H_jobs_come_from_arrival_sequence: jobs_come_from_arrival_sequence sched arr_seq
H_jobs_must_arrive_to_execute: jobs_must_arrive_to_execute sched
H_completed_jobs_dont_execute: completed_jobs_dont_execute sched
H3: JLFP_policy Job
H_priority_is_reflexive: reflexive_priorities
H_priority_is_transitive: transitive_priorities
tsk: Task
H_sequential_tasks: sequential_tasks arr_seq sched
H_JLFP_respects_sequential_tasks: policy_respects_sequential_tasks
j: Job
t1: nat
R, upp: instant
ARRin: arrives_in arr_seq j
TSK: job_of_task tsk j
ARR: j \in arrivals_before arr_seq upp
NCOMPL: ~~ completed_by sched j R
t: nat_eqType
IN: t \in index_iota t1 R
NSCHED: ~~ scheduled_at sched j t
j': Job
SCHED: scheduled_at sched j' t
NHEP: ~~ hep_job j' j
exists j : Job, interference j t /\ j \in task_arrivals_before arr_seq tsk upp
Task: TaskType
H: TaskCost Task
Job: JobType
H0: JobTask Job Task
H1: JobArrival Job
H2: JobCost Job
arr_seq: arrival_sequence Job
H_valid_arrival_sequence: valid_arrival_sequence arr_seq
sched: schedule (processor_state Job)
H_jobs_come_from_arrival_sequence: jobs_come_from_arrival_sequence sched arr_seq
H_jobs_must_arrive_to_execute: jobs_must_arrive_to_execute sched
H_completed_jobs_dont_execute: completed_jobs_dont_execute sched
H3: JLFP_policy Job
H_priority_is_reflexive: reflexive_priorities
H_priority_is_transitive: transitive_priorities
tsk: Task
H_sequential_tasks: sequential_tasks arr_seq sched
H_JLFP_respects_sequential_tasks: policy_respects_sequential_tasks
j: Job
t1: nat
R, upp: instant
ARRin: arrives_in arr_seq j
TSK: job_of_task tsk j
ARR: j \in arrivals_before arr_seq upp
t: nat_eqType
IN: t \in index_iota t1 R
NSCHED: ~~ scheduled_at sched j t
j': Job
SCHED: completed_by sched j t
NHEP: ~~ hep_job j' j
TSKj': job_of_task tsk j'

completed_by sched j R
Task: TaskType
H: TaskCost Task
Job: JobType
H0: JobTask Job Task
H1: JobArrival Job
H2: JobCost Job
arr_seq: arrival_sequence Job
H_valid_arrival_sequence: valid_arrival_sequence arr_seq
sched: schedule (processor_state Job)
H_jobs_come_from_arrival_sequence: jobs_come_from_arrival_sequence sched arr_seq
H_jobs_must_arrive_to_execute: jobs_must_arrive_to_execute sched
H_completed_jobs_dont_execute: completed_jobs_dont_execute sched
H3: JLFP_policy Job
H_priority_is_reflexive: reflexive_priorities
H_priority_is_transitive: transitive_priorities
tsk: Task
H_sequential_tasks: sequential_tasks arr_seq sched
H_JLFP_respects_sequential_tasks: policy_respects_sequential_tasks
j: Job
t1: nat
R, upp: instant
ARRin: arrives_in arr_seq j
TSK: job_of_task tsk j
ARR: j \in arrivals_before arr_seq upp
NCOMPL: ~~ completed_by sched j R
t: nat_eqType
IN: t \in index_iota t1 R
NSCHED: ~~ scheduled_at sched j t
j': Job
SCHED: scheduled_at sched j' t
NHEP: ~~ hep_job j' j
exists j : Job, interference j t /\ j \in task_arrivals_before arr_seq tsk upp
Task: TaskType
H: TaskCost Task
Job: JobType
H0: JobTask Job Task
H1: JobArrival Job
H2: JobCost Job
arr_seq: arrival_sequence Job
H_valid_arrival_sequence: valid_arrival_sequence arr_seq
sched: schedule (processor_state Job)
H_jobs_come_from_arrival_sequence: jobs_come_from_arrival_sequence sched arr_seq
H_jobs_must_arrive_to_execute: jobs_must_arrive_to_execute sched
H_completed_jobs_dont_execute: completed_jobs_dont_execute sched
H3: JLFP_policy Job
H_priority_is_reflexive: reflexive_priorities
H_priority_is_transitive: transitive_priorities
tsk: Task
H_sequential_tasks: sequential_tasks arr_seq sched
H_JLFP_respects_sequential_tasks: policy_respects_sequential_tasks
j: Job
t1: nat
R, upp: instant
ARRin: arrives_in arr_seq j
TSK: job_of_task tsk j
ARR: j \in arrivals_before arr_seq upp
t: nat_eqType
IN: t \in index_iota t1 R
NSCHED: ~~ scheduled_at sched j t
j': Job
SCHED: completed_by sched j t
NHEP: ~~ hep_job j' j
TSKj': job_of_task tsk j'

t <= R
Task: TaskType
H: TaskCost Task
Job: JobType
H0: JobTask Job Task
H1: JobArrival Job
H2: JobCost Job
arr_seq: arrival_sequence Job
H_valid_arrival_sequence: valid_arrival_sequence arr_seq
sched: schedule (processor_state Job)
H_jobs_come_from_arrival_sequence: jobs_come_from_arrival_sequence sched arr_seq
H_jobs_must_arrive_to_execute: jobs_must_arrive_to_execute sched
H_completed_jobs_dont_execute: completed_jobs_dont_execute sched
H3: JLFP_policy Job
H_priority_is_reflexive: reflexive_priorities
H_priority_is_transitive: transitive_priorities
tsk: Task
H_sequential_tasks: sequential_tasks arr_seq sched
H_JLFP_respects_sequential_tasks: policy_respects_sequential_tasks
j: Job
t1: nat
R, upp: instant
ARRin: arrives_in arr_seq j
TSK: job_of_task tsk j
ARR: j \in arrivals_before arr_seq upp
NCOMPL: ~~ completed_by sched j R
t: nat_eqType
IN: t \in index_iota t1 R
NSCHED: ~~ scheduled_at sched j t
j': Job
SCHED: scheduled_at sched j' t
NHEP: ~~ hep_job j' j
exists j : Job, interference j t /\ j \in task_arrivals_before arr_seq tsk upp
Task: TaskType
H: TaskCost Task
Job: JobType
H0: JobTask Job Task
H1: JobArrival Job
H2: JobCost Job
arr_seq: arrival_sequence Job
H_valid_arrival_sequence: valid_arrival_sequence arr_seq
sched: schedule (processor_state Job)
H_jobs_come_from_arrival_sequence: jobs_come_from_arrival_sequence sched arr_seq
H_jobs_must_arrive_to_execute: jobs_must_arrive_to_execute sched
H_completed_jobs_dont_execute: completed_jobs_dont_execute sched
H3: JLFP_policy Job
H_priority_is_reflexive: reflexive_priorities
H_priority_is_transitive: transitive_priorities
tsk: Task
H_sequential_tasks: sequential_tasks arr_seq sched
H_JLFP_respects_sequential_tasks: policy_respects_sequential_tasks
j: Job
t1: nat
R, upp: instant
ARRin: arrives_in arr_seq j
TSK: job_of_task tsk j
ARR: j \in arrivals_before arr_seq upp
NCOMPL: ~~ completed_by sched j R
t: nat_eqType
IN: t \in index_iota t1 R
NSCHED: ~~ scheduled_at sched j t
j': Job
SCHED: scheduled_at sched j' t
NHEP: ~~ hep_job j' j

exists j : Job, interference j t /\ j \in task_arrivals_before arr_seq tsk upp
Task: TaskType
H: TaskCost Task
Job: JobType
H0: JobTask Job Task
H1: JobArrival Job
H2: JobCost Job
arr_seq: arrival_sequence Job
H_valid_arrival_sequence: valid_arrival_sequence arr_seq
sched: schedule (processor_state Job)
H_jobs_come_from_arrival_sequence: jobs_come_from_arrival_sequence sched arr_seq
H_jobs_must_arrive_to_execute: jobs_must_arrive_to_execute sched
H_completed_jobs_dont_execute: completed_jobs_dont_execute sched
H3: JLFP_policy Job
H_priority_is_reflexive: reflexive_priorities
H_priority_is_transitive: transitive_priorities
tsk: Task
H_sequential_tasks: sequential_tasks arr_seq sched
H_JLFP_respects_sequential_tasks: policy_respects_sequential_tasks
j: Job
t1: nat
R, upp: instant
ARRin: arrives_in arr_seq j
TSK: job_of_task tsk j
ARR: j \in arrivals_before arr_seq upp
NCOMPL: ~~ completed_by sched j R
t: nat_eqType
IN: t \in index_iota t1 R
NSCHED: ~~ scheduled_at sched j t
j': Job
SCHED: scheduled_at sched j' t
NHEP: ~~ hep_job j' j

exists j : Job, interference j t /\ j \in task_arrivals_before arr_seq tsk upp
Task: TaskType
H: TaskCost Task
Job: JobType
H0: JobTask Job Task
H1: JobArrival Job
H2: JobCost Job
arr_seq: arrival_sequence Job
H_valid_arrival_sequence: valid_arrival_sequence arr_seq
sched: schedule (processor_state Job)
H_jobs_come_from_arrival_sequence: jobs_come_from_arrival_sequence sched arr_seq
H_jobs_must_arrive_to_execute: jobs_must_arrive_to_execute sched
H_completed_jobs_dont_execute: completed_jobs_dont_execute sched
H3: JLFP_policy Job
H_priority_is_reflexive: reflexive_priorities
H_priority_is_transitive: transitive_priorities
tsk: Task
H_sequential_tasks: sequential_tasks arr_seq sched
H_JLFP_respects_sequential_tasks: policy_respects_sequential_tasks
j: Job
t1: nat
R, upp: instant
ARRin: arrives_in arr_seq j
TSK: job_of_task tsk j
ARR: j \in arrivals_before arr_seq upp
NCOMPL: ~~ completed_by sched j R
t: nat_eqType
IN: t \in index_iota t1 R
NSCHED: ~~ scheduled_at sched j t
j': Job
SCHED: scheduled_at sched j' t
NHEP: ~~ hep_job j' j

interference j t
Task: TaskType
H: TaskCost Task
Job: JobType
H0: JobTask Job Task
H1: JobArrival Job
H2: JobCost Job
arr_seq: arrival_sequence Job
H_valid_arrival_sequence: valid_arrival_sequence arr_seq
sched: schedule (processor_state Job)
H_jobs_come_from_arrival_sequence: jobs_come_from_arrival_sequence sched arr_seq
H_jobs_must_arrive_to_execute: jobs_must_arrive_to_execute sched
H_completed_jobs_dont_execute: completed_jobs_dont_execute sched
H3: JLFP_policy Job
H_priority_is_reflexive: reflexive_priorities
H_priority_is_transitive: transitive_priorities
tsk: Task
H_sequential_tasks: sequential_tasks arr_seq sched
H_JLFP_respects_sequential_tasks: policy_respects_sequential_tasks
j: Job
t1: nat
R, upp: instant
ARRin: arrives_in arr_seq j
TSK: job_of_task tsk j
ARR: j \in arrivals_before arr_seq upp
NCOMPL: ~~ completed_by sched j R
t: nat_eqType
IN: t \in index_iota t1 R
NSCHED: ~~ scheduled_at sched j t
j': Job
SCHED: scheduled_at sched j' t
NHEP: ~~ hep_job j' j
j \in task_arrivals_before arr_seq tsk upp
Task: TaskType
H: TaskCost Task
Job: JobType
H0: JobTask Job Task
H1: JobArrival Job
H2: JobCost Job
arr_seq: arrival_sequence Job
H_valid_arrival_sequence: valid_arrival_sequence arr_seq
sched: schedule (processor_state Job)
H_jobs_come_from_arrival_sequence: jobs_come_from_arrival_sequence sched arr_seq
H_jobs_must_arrive_to_execute: jobs_must_arrive_to_execute sched
H_completed_jobs_dont_execute: completed_jobs_dont_execute sched
H3: JLFP_policy Job
H_priority_is_reflexive: reflexive_priorities
H_priority_is_transitive: transitive_priorities
tsk: Task
H_sequential_tasks: sequential_tasks arr_seq sched
H_JLFP_respects_sequential_tasks: policy_respects_sequential_tasks
j: Job
t1: nat
R, upp: instant
ARRin: arrives_in arr_seq j
TSK: job_of_task tsk j
ARR: j \in arrivals_before arr_seq upp
NCOMPL: ~~ completed_by sched j R
t: nat_eqType
IN: t \in index_iota t1 R
NSCHED: ~~ scheduled_at sched j t
j': Job
SCHED: scheduled_at sched j' t
NHEP: ~~ hep_job j' j

interference j t
Task: TaskType
H: TaskCost Task
Job: JobType
H0: JobTask Job Task
H1: JobArrival Job
H2: JobCost Job
arr_seq: arrival_sequence Job
H_valid_arrival_sequence: valid_arrival_sequence arr_seq
sched: schedule (processor_state Job)
H_jobs_come_from_arrival_sequence: jobs_come_from_arrival_sequence sched arr_seq
H_jobs_must_arrive_to_execute: jobs_must_arrive_to_execute sched
H_completed_jobs_dont_execute: completed_jobs_dont_execute sched
H3: JLFP_policy Job
H_priority_is_reflexive: reflexive_priorities
H_priority_is_transitive: transitive_priorities
tsk: Task
H_sequential_tasks: sequential_tasks arr_seq sched
H_JLFP_respects_sequential_tasks: policy_respects_sequential_tasks
j: Job
t1: nat
R, upp: instant
ARRin: arrives_in arr_seq j
TSK: job_of_task tsk j
ARR: j \in arrivals_before arr_seq upp
NCOMPL: ~~ completed_by sched j R
t: nat_eqType
IN: t \in index_iota t1 R
NSCHED: ~~ scheduled_at sched j t
j': Job
SCHED: scheduled_at sched j' t
NHEP: ~~ hep_job j' j
j \in task_arrivals_before arr_seq tsk upp
Task: TaskType
H: TaskCost Task
Job: JobType
H0: JobTask Job Task
H1: JobArrival Job
H2: JobCost Job
arr_seq: arrival_sequence Job
H_valid_arrival_sequence: valid_arrival_sequence arr_seq
sched: schedule (processor_state Job)
H_jobs_come_from_arrival_sequence: jobs_come_from_arrival_sequence sched arr_seq
H_jobs_must_arrive_to_execute: jobs_must_arrive_to_execute sched
H_completed_jobs_dont_execute: completed_jobs_dont_execute sched
H3: JLFP_policy Job
H_priority_is_reflexive: reflexive_priorities
H_priority_is_transitive: transitive_priorities
tsk: Task
H_sequential_tasks: sequential_tasks arr_seq sched
H_JLFP_respects_sequential_tasks: policy_respects_sequential_tasks
j: Job
t1: nat
R, upp: instant
ARRin: arrives_in arr_seq j
TSK: job_of_task tsk j
ARR: j \in arrivals_before arr_seq upp
NCOMPL: ~~ completed_by sched j R
t: nat_eqType
IN: t \in index_iota t1 R
NSCHED: ~~ scheduled_at sched j t
j': Job
SCHED: scheduled_at sched j' t
NHEP: ~~ hep_job j' j

priority_inversion sched j t
Task: TaskType
H: TaskCost Task
Job: JobType
H0: JobTask Job Task
H1: JobArrival Job
H2: JobCost Job
arr_seq: arrival_sequence Job
H_valid_arrival_sequence: valid_arrival_sequence arr_seq
sched: schedule (processor_state Job)
H_jobs_come_from_arrival_sequence: jobs_come_from_arrival_sequence sched arr_seq
H_jobs_must_arrive_to_execute: jobs_must_arrive_to_execute sched
H_completed_jobs_dont_execute: completed_jobs_dont_execute sched
H3: JLFP_policy Job
H_priority_is_reflexive: reflexive_priorities
H_priority_is_transitive: transitive_priorities
tsk: Task
H_sequential_tasks: sequential_tasks arr_seq sched
H_JLFP_respects_sequential_tasks: policy_respects_sequential_tasks
j: Job
t1: nat
R, upp: instant
ARRin: arrives_in arr_seq j
TSK: job_of_task tsk j
ARR: j \in arrivals_before arr_seq upp
NCOMPL: ~~ completed_by sched j R
t: nat_eqType
IN: t \in index_iota t1 R
NSCHED: ~~ scheduled_at sched j t
j': Job
SCHED: scheduled_at sched j' t
NHEP: ~~ hep_job j' j
j \in task_arrivals_before arr_seq tsk upp
Task: TaskType
H: TaskCost Task
Job: JobType
H0: JobTask Job Task
H1: JobArrival Job
H2: JobCost Job
arr_seq: arrival_sequence Job
H_valid_arrival_sequence: valid_arrival_sequence arr_seq
sched: schedule (processor_state Job)
H_jobs_come_from_arrival_sequence: jobs_come_from_arrival_sequence sched arr_seq
H_jobs_must_arrive_to_execute: jobs_must_arrive_to_execute sched
H_completed_jobs_dont_execute: completed_jobs_dont_execute sched
H3: JLFP_policy Job
H_priority_is_reflexive: reflexive_priorities
H_priority_is_transitive: transitive_priorities
tsk: Task
H_sequential_tasks: sequential_tasks arr_seq sched
H_JLFP_respects_sequential_tasks: policy_respects_sequential_tasks
j: Job
t1: nat
R, upp: instant
ARRin: arrives_in arr_seq j
TSK: job_of_task tsk j
ARR: j \in arrivals_before arr_seq upp
NCOMPL: ~~ completed_by sched j R
t: nat_eqType
IN: t \in index_iota t1 R
NSCHED: ~~ scheduled_at sched j t
j': Job
SCHED: scheduled_at sched j' t
NHEP: ~~ hep_job j' j

j \in task_arrivals_before arr_seq tsk upp
Task: TaskType
H: TaskCost Task
Job: JobType
H0: JobTask Job Task
H1: JobArrival Job
H2: JobCost Job
arr_seq: arrival_sequence Job
H_valid_arrival_sequence: valid_arrival_sequence arr_seq
sched: schedule (processor_state Job)
H_jobs_come_from_arrival_sequence: jobs_come_from_arrival_sequence sched arr_seq
H_jobs_must_arrive_to_execute: jobs_must_arrive_to_execute sched
H_completed_jobs_dont_execute: completed_jobs_dont_execute sched
H3: JLFP_policy Job
H_priority_is_reflexive: reflexive_priorities
H_priority_is_transitive: transitive_priorities
tsk: Task
H_sequential_tasks: sequential_tasks arr_seq sched
H_JLFP_respects_sequential_tasks: policy_respects_sequential_tasks
j: Job
t1: nat
R, upp: instant
ARRin: arrives_in arr_seq j
TSK: job_of_task tsk j
ARR: j \in arrivals_before arr_seq upp
NCOMPL: ~~ completed_by sched j R
t: nat_eqType
IN: t \in index_iota t1 R
NSCHED: ~~ scheduled_at sched j t
j': Job
SCHED: scheduled_at sched j' t
NHEP: ~~ hep_job j' j

j \in task_arrivals_before arr_seq tsk upp
by rewrite mem_filter; apply/andP; split.
Task: TaskType
H: TaskCost Task
Job: JobType
H0: JobTask Job Task
H1: JobArrival Job
H2: JobCost Job
arr_seq: arrival_sequence Job
H_valid_arrival_sequence: valid_arrival_sequence arr_seq
sched: schedule (processor_state Job)
H_jobs_come_from_arrival_sequence: jobs_come_from_arrival_sequence sched arr_seq
H_jobs_must_arrive_to_execute: jobs_must_arrive_to_execute sched
H_completed_jobs_dont_execute: completed_jobs_dont_execute sched
H3: JLFP_policy Job
H_priority_is_reflexive: reflexive_priorities
H_priority_is_transitive: transitive_priorities
tsk: Task
H_sequential_tasks: sequential_tasks arr_seq sched
H_JLFP_respects_sequential_tasks: policy_respects_sequential_tasks
j: Job
t1: nat
R, upp: instant
ARRin: arrives_in arr_seq j
TSK: job_of_task tsk j
ARR: j \in arrivals_before arr_seq upp
NCOMPL: ~~ completed_by sched j R
t: nat_eqType
IN: t \in index_iota t1 R
jo: Job
INjo: jo \in arrivals_up_to arr_seq t
ATHEP: another_task_hep_job jo j
RSERV: receives_service_at sched jo t

task_interference_received_before_dec arr_seq sched tsk upp t
Task: TaskType
H: TaskCost Task
Job: JobType
H0: JobTask Job Task
H1: JobArrival Job
H2: JobCost Job
arr_seq: arrival_sequence Job
H_valid_arrival_sequence: valid_arrival_sequence arr_seq
sched: schedule (processor_state Job)
H_jobs_come_from_arrival_sequence: jobs_come_from_arrival_sequence sched arr_seq
H_jobs_must_arrive_to_execute: jobs_must_arrive_to_execute sched
H_completed_jobs_dont_execute: completed_jobs_dont_execute sched
H3: JLFP_policy Job
H_priority_is_reflexive: reflexive_priorities
H_priority_is_transitive: transitive_priorities
tsk: Task
H_sequential_tasks: sequential_tasks arr_seq sched
H_JLFP_respects_sequential_tasks: policy_respects_sequential_tasks
j: Job
t1: nat
R, upp: instant
ARRin: arrives_in arr_seq j
TSK: job_of_task tsk j
ARR: j \in arrivals_before arr_seq upp
NCOMPL: ~~ completed_by sched j R
t: nat_eqType
IN: t \in index_iota t1 R
jo: Job
INjo: jo \in arrivals_up_to arr_seq t
ATHEP: another_task_hep_job jo j
RSERV: receives_service_at sched jo t

task_interference_received_before_dec arr_seq sched tsk upp t
Task: TaskType
H: TaskCost Task
Job: JobType
H0: JobTask Job Task
H1: JobArrival Job
H2: JobCost Job
arr_seq: arrival_sequence Job
H_valid_arrival_sequence: valid_arrival_sequence arr_seq
sched: schedule (processor_state Job)
H_jobs_come_from_arrival_sequence: jobs_come_from_arrival_sequence sched arr_seq
H_jobs_must_arrive_to_execute: jobs_must_arrive_to_execute sched
H_completed_jobs_dont_execute: completed_jobs_dont_execute sched
H3: JLFP_policy Job
H_priority_is_reflexive: reflexive_priorities
H_priority_is_transitive: transitive_priorities
tsk: Task
H_sequential_tasks: sequential_tasks arr_seq sched
H_JLFP_respects_sequential_tasks: policy_respects_sequential_tasks
j: Job
t1: nat
R, upp: instant
ARRin: arrives_in arr_seq j
TSK: job_of_task tsk j
ARR: j \in arrivals_before arr_seq upp
NCOMPL: ~~ completed_by sched j R
t: nat_eqType
IN: t \in index_iota t1 R
jo: Job
INjo: jo \in arrivals_up_to arr_seq t
ATHEP: another_task_hep_job jo j
RSERV: receives_service_at sched jo t

~ task_scheduled_at sched tsk t
Task: TaskType
H: TaskCost Task
Job: JobType
H0: JobTask Job Task
H1: JobArrival Job
H2: JobCost Job
arr_seq: arrival_sequence Job
H_valid_arrival_sequence: valid_arrival_sequence arr_seq
sched: schedule (processor_state Job)
H_jobs_come_from_arrival_sequence: jobs_come_from_arrival_sequence sched arr_seq
H_jobs_must_arrive_to_execute: jobs_must_arrive_to_execute sched
H_completed_jobs_dont_execute: completed_jobs_dont_execute sched
H3: JLFP_policy Job
H_priority_is_reflexive: reflexive_priorities
H_priority_is_transitive: transitive_priorities
tsk: Task
H_sequential_tasks: sequential_tasks arr_seq sched
H_JLFP_respects_sequential_tasks: policy_respects_sequential_tasks
j: Job
t1: nat
R, upp: instant
ARRin: arrives_in arr_seq j
TSK: job_of_task tsk j
ARR: j \in arrivals_before arr_seq upp
NCOMPL: ~~ completed_by sched j R
t: nat_eqType
IN: t \in index_iota t1 R
jo: Job
INjo: jo \in arrivals_up_to arr_seq t
ATHEP: another_task_hep_job jo j
RSERV: receives_service_at sched jo t
exists j : Job, interference j t /\ j \in task_arrivals_before arr_seq tsk upp
Task: TaskType
H: TaskCost Task
Job: JobType
H0: JobTask Job Task
H1: JobArrival Job
H2: JobCost Job
arr_seq: arrival_sequence Job
H_valid_arrival_sequence: valid_arrival_sequence arr_seq
sched: schedule (processor_state Job)
H_jobs_come_from_arrival_sequence: jobs_come_from_arrival_sequence sched arr_seq
H_jobs_must_arrive_to_execute: jobs_must_arrive_to_execute sched
H_completed_jobs_dont_execute: completed_jobs_dont_execute sched
H3: JLFP_policy Job
H_priority_is_reflexive: reflexive_priorities
H_priority_is_transitive: transitive_priorities
tsk: Task
H_sequential_tasks: sequential_tasks arr_seq sched
H_JLFP_respects_sequential_tasks: policy_respects_sequential_tasks
j: Job
t1: nat
R, upp: instant
ARRin: arrives_in arr_seq j
TSK: job_of_task tsk j
ARR: j \in arrivals_before arr_seq upp
NCOMPL: ~~ completed_by sched j R
t: nat_eqType
IN: t \in index_iota t1 R
jo: Job
INjo: jo \in arrivals_up_to arr_seq t
ATHEP: another_task_hep_job jo j
RSERV: receives_service_at sched jo t

~ task_scheduled_at sched tsk t
Task: TaskType
H: TaskCost Task
Job: JobType
H0: JobTask Job Task
H1: JobArrival Job
H2: JobCost Job
arr_seq: arrival_sequence Job
H_valid_arrival_sequence: valid_arrival_sequence arr_seq
sched: schedule (processor_state Job)
H_jobs_come_from_arrival_sequence: jobs_come_from_arrival_sequence sched arr_seq
H_jobs_must_arrive_to_execute: jobs_must_arrive_to_execute sched
H_completed_jobs_dont_execute: completed_jobs_dont_execute sched
H3: JLFP_policy Job
H_priority_is_reflexive: reflexive_priorities
H_priority_is_transitive: transitive_priorities
tsk: Task
H_sequential_tasks: sequential_tasks arr_seq sched
H_JLFP_respects_sequential_tasks: policy_respects_sequential_tasks
j: Job
t1: nat
R, upp: instant
ARRin: arrives_in arr_seq j
TSK: job_of_task tsk j
ARR: j \in arrivals_before arr_seq upp
NCOMPL: ~~ completed_by sched j R
t: nat_eqType
IN: t \in index_iota t1 R
jo: Job
INjo: jo \in arrivals_up_to arr_seq t
RSERV: receives_service_at sched jo t
TSCHED: task_scheduled_at sched tsk t

job_task jo == job_task j
Task: TaskType
H: TaskCost Task
Job: JobType
H0: JobTask Job Task
H1: JobArrival Job
H2: JobCost Job
arr_seq: arrival_sequence Job
H_valid_arrival_sequence: valid_arrival_sequence arr_seq
sched: schedule (processor_state Job)
H_jobs_come_from_arrival_sequence: jobs_come_from_arrival_sequence sched arr_seq
H_jobs_must_arrive_to_execute: jobs_must_arrive_to_execute sched
H_completed_jobs_dont_execute: completed_jobs_dont_execute sched
H3: JLFP_policy Job
H_priority_is_reflexive: reflexive_priorities
H_priority_is_transitive: transitive_priorities
tsk: Task
H_sequential_tasks: sequential_tasks arr_seq sched
H_JLFP_respects_sequential_tasks: policy_respects_sequential_tasks
j: Job
t1: nat
R, upp: instant
ARRin: arrives_in arr_seq j
TSK: job_of_task tsk j
ARR: j \in arrivals_before arr_seq upp
NCOMPL: ~~ completed_by sched j R
t: nat_eqType
IN: t \in index_iota t1 R
jo: Job
INjo: jo \in arrivals_up_to arr_seq t

receives_service_at sched jo t -> match sched t with | Some j => job_task j == tsk | None => false end -> job_task jo == job_task j
Task: TaskType
H: TaskCost Task
Job: JobType
H0: JobTask Job Task
H1: JobArrival Job
H2: JobCost Job
arr_seq: arrival_sequence Job
H_valid_arrival_sequence: valid_arrival_sequence arr_seq
sched: schedule (processor_state Job)
H_jobs_come_from_arrival_sequence: jobs_come_from_arrival_sequence sched arr_seq
H_jobs_must_arrive_to_execute: jobs_must_arrive_to_execute sched
H_completed_jobs_dont_execute: completed_jobs_dont_execute sched
H3: JLFP_policy Job
H_priority_is_reflexive: reflexive_priorities
H_priority_is_transitive: transitive_priorities
tsk: Task
H_sequential_tasks: sequential_tasks arr_seq sched
H_JLFP_respects_sequential_tasks: policy_respects_sequential_tasks
j: Job
t1: nat
R, upp: instant
ARRin: arrives_in arr_seq j
TSK: job_of_task tsk j
ARR: j \in arrivals_before arr_seq upp
NCOMPL: ~~ completed_by sched j R
t: nat_eqType
IN: t \in index_iota t1 R
jo: Job
INjo: jo \in arrivals_up_to arr_seq t

tsk == job_task j
by rewrite eq_sym.
Task: TaskType
H: TaskCost Task
Job: JobType
H0: JobTask Job Task
H1: JobArrival Job
H2: JobCost Job
arr_seq: arrival_sequence Job
H_valid_arrival_sequence: valid_arrival_sequence arr_seq
sched: schedule (processor_state Job)
H_jobs_come_from_arrival_sequence: jobs_come_from_arrival_sequence sched arr_seq
H_jobs_must_arrive_to_execute: jobs_must_arrive_to_execute sched
H_completed_jobs_dont_execute: completed_jobs_dont_execute sched
H3: JLFP_policy Job
H_priority_is_reflexive: reflexive_priorities
H_priority_is_transitive: transitive_priorities
tsk: Task
H_sequential_tasks: sequential_tasks arr_seq sched
H_JLFP_respects_sequential_tasks: policy_respects_sequential_tasks
j: Job
t1: nat
R, upp: instant
ARRin: arrives_in arr_seq j
TSK: job_of_task tsk j
ARR: j \in arrivals_before arr_seq upp
NCOMPL: ~~ completed_by sched j R
t: nat_eqType
IN: t \in index_iota t1 R
jo: Job
INjo: jo \in arrivals_up_to arr_seq t
ATHEP: another_task_hep_job jo j
RSERV: receives_service_at sched jo t

exists j : Job, interference j t /\ j \in task_arrivals_before arr_seq tsk upp
Task: TaskType
H: TaskCost Task
Job: JobType
H0: JobTask Job Task
H1: JobArrival Job
H2: JobCost Job
arr_seq: arrival_sequence Job
H_valid_arrival_sequence: valid_arrival_sequence arr_seq
sched: schedule (processor_state Job)
H_jobs_come_from_arrival_sequence: jobs_come_from_arrival_sequence sched arr_seq
H_jobs_must_arrive_to_execute: jobs_must_arrive_to_execute sched
H_completed_jobs_dont_execute: completed_jobs_dont_execute sched
H3: JLFP_policy Job
H_priority_is_reflexive: reflexive_priorities
H_priority_is_transitive: transitive_priorities
tsk: Task
H_sequential_tasks: sequential_tasks arr_seq sched
H_JLFP_respects_sequential_tasks: policy_respects_sequential_tasks
j: Job
t1: nat
R, upp: instant
ARRin: arrives_in arr_seq j
TSK: job_of_task tsk j
ARR: j \in arrivals_before arr_seq upp
NCOMPL: ~~ completed_by sched j R
t: nat_eqType
IN: t \in index_iota t1 R
jo: Job
INjo: jo \in arrivals_up_to arr_seq t
ATHEP: another_task_hep_job jo j
RSERV: receives_service_at sched jo t

interference j t
Task: TaskType
H: TaskCost Task
Job: JobType
H0: JobTask Job Task
H1: JobArrival Job
H2: JobCost Job
arr_seq: arrival_sequence Job
H_valid_arrival_sequence: valid_arrival_sequence arr_seq
sched: schedule (processor_state Job)
H_jobs_come_from_arrival_sequence: jobs_come_from_arrival_sequence sched arr_seq
H_jobs_must_arrive_to_execute: jobs_must_arrive_to_execute sched
H_completed_jobs_dont_execute: completed_jobs_dont_execute sched
H3: JLFP_policy Job
H_priority_is_reflexive: reflexive_priorities
H_priority_is_transitive: transitive_priorities
tsk: Task
H_sequential_tasks: sequential_tasks arr_seq sched
H_JLFP_respects_sequential_tasks: policy_respects_sequential_tasks
j: Job
t1: nat
R, upp: instant
ARRin: arrives_in arr_seq j
TSK: job_of_task tsk j
ARR: j \in arrivals_before arr_seq upp
NCOMPL: ~~ completed_by sched j R
t: nat_eqType
IN: t \in index_iota t1 R
jo: Job
INjo: jo \in arrivals_up_to arr_seq t
ATHEP: another_task_hep_job jo j
RSERV: receives_service_at sched jo t
j \in task_arrivals_before arr_seq tsk upp
Task: TaskType
H: TaskCost Task
Job: JobType
H0: JobTask Job Task
H1: JobArrival Job
H2: JobCost Job
arr_seq: arrival_sequence Job
H_valid_arrival_sequence: valid_arrival_sequence arr_seq
sched: schedule (processor_state Job)
H_jobs_come_from_arrival_sequence: jobs_come_from_arrival_sequence sched arr_seq
H_jobs_must_arrive_to_execute: jobs_must_arrive_to_execute sched
H_completed_jobs_dont_execute: completed_jobs_dont_execute sched
H3: JLFP_policy Job
H_priority_is_reflexive: reflexive_priorities
H_priority_is_transitive: transitive_priorities
tsk: Task
H_sequential_tasks: sequential_tasks arr_seq sched
H_JLFP_respects_sequential_tasks: policy_respects_sequential_tasks
j: Job
t1: nat
R, upp: instant
ARRin: arrives_in arr_seq j
TSK: job_of_task tsk j
ARR: j \in arrivals_before arr_seq upp
NCOMPL: ~~ completed_by sched j R
t: nat_eqType
IN: t \in index_iota t1 R
jo: Job
INjo: jo \in arrivals_up_to arr_seq t
ATHEP: another_task_hep_job jo j
RSERV: receives_service_at sched jo t

interference j t
Task: TaskType
H: TaskCost Task
Job: JobType
H0: JobTask Job Task
H1: JobArrival Job
H2: JobCost Job
arr_seq: arrival_sequence Job
H_valid_arrival_sequence: valid_arrival_sequence arr_seq
sched: schedule (processor_state Job)
H_jobs_come_from_arrival_sequence: jobs_come_from_arrival_sequence sched arr_seq
H_jobs_must_arrive_to_execute: jobs_must_arrive_to_execute sched
H_completed_jobs_dont_execute: completed_jobs_dont_execute sched
H3: JLFP_policy Job
H_priority_is_reflexive: reflexive_priorities
H_priority_is_transitive: transitive_priorities
tsk: Task
H_sequential_tasks: sequential_tasks arr_seq sched
H_JLFP_respects_sequential_tasks: policy_respects_sequential_tasks
j: Job
t1: nat
R, upp: instant
ARRin: arrives_in arr_seq j
TSK: job_of_task tsk j
ARR: j \in arrivals_before arr_seq upp
NCOMPL: ~~ completed_by sched j R
t: nat_eqType
IN: t \in index_iota t1 R
jo: Job
INjo: jo \in arrivals_up_to arr_seq t
ATHEP: another_task_hep_job jo j
RSERV: receives_service_at sched jo t
j \in task_arrivals_before arr_seq tsk upp
Task: TaskType
H: TaskCost Task
Job: JobType
H0: JobTask Job Task
H1: JobArrival Job
H2: JobCost Job
arr_seq: arrival_sequence Job
H_valid_arrival_sequence: valid_arrival_sequence arr_seq
sched: schedule (processor_state Job)
H_jobs_come_from_arrival_sequence: jobs_come_from_arrival_sequence sched arr_seq
H_jobs_must_arrive_to_execute: jobs_must_arrive_to_execute sched
H_completed_jobs_dont_execute: completed_jobs_dont_execute sched
H3: JLFP_policy Job
H_priority_is_reflexive: reflexive_priorities
H_priority_is_transitive: transitive_priorities
tsk: Task
H_sequential_tasks: sequential_tasks arr_seq sched
H_JLFP_respects_sequential_tasks: policy_respects_sequential_tasks
j: Job
t1: nat
R, upp: instant
ARRin: arrives_in arr_seq j
TSK: job_of_task tsk j
ARR: j \in arrivals_before arr_seq upp
NCOMPL: ~~ completed_by sched j R
t: nat_eqType
IN: t \in index_iota t1 R
jo: Job
INjo: jo \in arrivals_up_to arr_seq t
ATHEP: another_task_hep_job jo j
RSERV: receives_service_at sched jo t

another_hep_job_interference j t
Task: TaskType
H: TaskCost Task
Job: JobType
H0: JobTask Job Task
H1: JobArrival Job
H2: JobCost Job
arr_seq: arrival_sequence Job
H_valid_arrival_sequence: valid_arrival_sequence arr_seq
sched: schedule (processor_state Job)
H_jobs_come_from_arrival_sequence: jobs_come_from_arrival_sequence sched arr_seq
H_jobs_must_arrive_to_execute: jobs_must_arrive_to_execute sched
H_completed_jobs_dont_execute: completed_jobs_dont_execute sched
H3: JLFP_policy Job
H_priority_is_reflexive: reflexive_priorities
H_priority_is_transitive: transitive_priorities
tsk: Task
H_sequential_tasks: sequential_tasks arr_seq sched
H_JLFP_respects_sequential_tasks: policy_respects_sequential_tasks
j: Job
t1: nat
R, upp: instant
ARRin: arrives_in arr_seq j
TSK: job_of_task tsk j
ARR: j \in arrivals_before arr_seq upp
NCOMPL: ~~ completed_by sched j R
t: nat_eqType
IN: t \in index_iota t1 R
jo: Job
INjo: jo \in arrivals_up_to arr_seq t
ATHEP: another_task_hep_job jo j
RSERV: receives_service_at sched jo t
j \in task_arrivals_before arr_seq tsk upp
Task: TaskType
H: TaskCost Task
Job: JobType
H0: JobTask Job Task
H1: JobArrival Job
H2: JobCost Job
arr_seq: arrival_sequence Job
H_valid_arrival_sequence: valid_arrival_sequence arr_seq
sched: schedule (processor_state Job)
H_jobs_come_from_arrival_sequence: jobs_come_from_arrival_sequence sched arr_seq
H_jobs_must_arrive_to_execute: jobs_must_arrive_to_execute sched
H_completed_jobs_dont_execute: completed_jobs_dont_execute sched
H3: JLFP_policy Job
H_priority_is_reflexive: reflexive_priorities
H_priority_is_transitive: transitive_priorities
tsk: Task
H_sequential_tasks: sequential_tasks arr_seq sched
H_JLFP_respects_sequential_tasks: policy_respects_sequential_tasks
j: Job
t1: nat
R, upp: instant
ARRin: arrives_in arr_seq j
TSK: job_of_task tsk j
ARR: j \in arrivals_before arr_seq upp
NCOMPL: ~~ completed_by sched j R
t: nat_eqType
IN: t \in index_iota t1 R
jo: Job
INjo: jo \in arrivals_up_to arr_seq t
ATHEP: another_task_hep_job jo j
RSERV: receives_service_at sched jo t

another_hep_job jo j
Task: TaskType
H: TaskCost Task
Job: JobType
H0: JobTask Job Task
H1: JobArrival Job
H2: JobCost Job
arr_seq: arrival_sequence Job
H_valid_arrival_sequence: valid_arrival_sequence arr_seq
sched: schedule (processor_state Job)
H_jobs_come_from_arrival_sequence: jobs_come_from_arrival_sequence sched arr_seq
H_jobs_must_arrive_to_execute: jobs_must_arrive_to_execute sched
H_completed_jobs_dont_execute: completed_jobs_dont_execute sched
H3: JLFP_policy Job
H_priority_is_reflexive: reflexive_priorities
H_priority_is_transitive: transitive_priorities
tsk: Task
H_sequential_tasks: sequential_tasks arr_seq sched
H_JLFP_respects_sequential_tasks: policy_respects_sequential_tasks
j: Job
t1: nat
R, upp: instant
ARRin: arrives_in arr_seq j
TSK: job_of_task tsk j
ARR: j \in arrivals_before arr_seq upp
NCOMPL: ~~ completed_by sched j R
t: nat_eqType
IN: t \in index_iota t1 R
jo: Job
INjo: jo \in arrivals_up_to arr_seq t
ATHEP: another_task_hep_job jo j
RSERV: receives_service_at sched jo t
j \in task_arrivals_before arr_seq tsk upp
Task: TaskType
H: TaskCost Task
Job: JobType
H0: JobTask Job Task
H1: JobArrival Job
H2: JobCost Job
arr_seq: arrival_sequence Job
H_valid_arrival_sequence: valid_arrival_sequence arr_seq
sched: schedule (processor_state Job)
H_jobs_come_from_arrival_sequence: jobs_come_from_arrival_sequence sched arr_seq
H_jobs_must_arrive_to_execute: jobs_must_arrive_to_execute sched
H_completed_jobs_dont_execute: completed_jobs_dont_execute sched
H3: JLFP_policy Job
H_priority_is_reflexive: reflexive_priorities
H_priority_is_transitive: transitive_priorities
tsk: Task
H_sequential_tasks: sequential_tasks arr_seq sched
H_JLFP_respects_sequential_tasks: policy_respects_sequential_tasks
j: Job
t1: nat
R, upp: instant
ARRin: arrives_in arr_seq j
TSK: job_of_task tsk j
ARR: j \in arrivals_before arr_seq upp
NCOMPL: ~~ completed_by sched j R
t: nat_eqType
IN: t \in index_iota t1 R
jo: Job
INjo: jo \in arrivals_up_to arr_seq t
RSERV: receives_service_at sched jo t
A: hep_job jo j
B: job_task jo != job_task j

jo != j
Task: TaskType
H: TaskCost Task
Job: JobType
H0: JobTask Job Task
H1: JobArrival Job
H2: JobCost Job
arr_seq: arrival_sequence Job
H_valid_arrival_sequence: valid_arrival_sequence arr_seq
sched: schedule (processor_state Job)
H_jobs_come_from_arrival_sequence: jobs_come_from_arrival_sequence sched arr_seq
H_jobs_must_arrive_to_execute: jobs_must_arrive_to_execute sched
H_completed_jobs_dont_execute: completed_jobs_dont_execute sched
H3: JLFP_policy Job
H_priority_is_reflexive: reflexive_priorities
H_priority_is_transitive: transitive_priorities
tsk: Task
H_sequential_tasks: sequential_tasks arr_seq sched
H_JLFP_respects_sequential_tasks: policy_respects_sequential_tasks
j: Job
t1: nat
R, upp: instant
ARRin: arrives_in arr_seq j
TSK: job_of_task tsk j
ARR: j \in arrivals_before arr_seq upp
NCOMPL: ~~ completed_by sched j R
t: nat_eqType
IN: t \in index_iota t1 R
jo: Job
INjo: jo \in arrivals_up_to arr_seq t
ATHEP: another_task_hep_job jo j
RSERV: receives_service_at sched jo t
j \in task_arrivals_before arr_seq tsk upp
Task: TaskType
H: TaskCost Task
Job: JobType
H0: JobTask Job Task
H1: JobArrival Job
H2: JobCost Job
arr_seq: arrival_sequence Job
H_valid_arrival_sequence: valid_arrival_sequence arr_seq
sched: schedule (processor_state Job)
H_jobs_come_from_arrival_sequence: jobs_come_from_arrival_sequence sched arr_seq
H_jobs_must_arrive_to_execute: jobs_must_arrive_to_execute sched
H_completed_jobs_dont_execute: completed_jobs_dont_execute sched
H3: JLFP_policy Job
H_priority_is_reflexive: reflexive_priorities
H_priority_is_transitive: transitive_priorities
tsk: Task
H_sequential_tasks: sequential_tasks arr_seq sched
H_JLFP_respects_sequential_tasks: policy_respects_sequential_tasks
j: Job
t1: nat
R, upp: instant
ARRin: arrives_in arr_seq j
TSK: job_of_task tsk j
ARR: j \in arrivals_before arr_seq upp
NCOMPL: ~~ completed_by sched j R
t: nat_eqType
IN: t \in index_iota t1 R
jo: Job
INjo: jo \in arrivals_up_to arr_seq t
ATHEP: another_task_hep_job jo j
RSERV: receives_service_at sched jo t

j \in task_arrivals_before arr_seq tsk upp
Task: TaskType
H: TaskCost Task
Job: JobType
H0: JobTask Job Task
H1: JobArrival Job
H2: JobCost Job
arr_seq: arrival_sequence Job
H_valid_arrival_sequence: valid_arrival_sequence arr_seq
sched: schedule (processor_state Job)
H_jobs_come_from_arrival_sequence: jobs_come_from_arrival_sequence sched arr_seq
H_jobs_must_arrive_to_execute: jobs_must_arrive_to_execute sched
H_completed_jobs_dont_execute: completed_jobs_dont_execute sched
H3: JLFP_policy Job
H_priority_is_reflexive: reflexive_priorities
H_priority_is_transitive: transitive_priorities
tsk: Task
H_sequential_tasks: sequential_tasks arr_seq sched
H_JLFP_respects_sequential_tasks: policy_respects_sequential_tasks
j: Job
t1: nat
R, upp: instant
ARRin: arrives_in arr_seq j
TSK: job_of_task tsk j
ARR: j \in arrivals_before arr_seq upp
NCOMPL: ~~ completed_by sched j R
t: nat_eqType
IN: t \in index_iota t1 R
jo: Job
INjo: jo \in arrivals_up_to arr_seq t
ATHEP: another_task_hep_job jo j
RSERV: receives_service_at sched jo t

j \in task_arrivals_before arr_seq tsk upp
by rewrite mem_filter; apply/andP; split. } Qed. (** In this section, we prove that the (abstract) cumulative interfering workload is equivalent to the conventional workload, i.e., the one defined with concrete schedule parameters. *) Section InstantiatedWorkloadEquivalence. (** Let <<[t1,t2)>> be any time interval. *) Variables t1 t2 : instant. (** Consider any job [j] of [tsk]. *) Variable j : Job. Hypothesis H_j_arrives : arrives_in arr_seq j. Hypothesis H_job_of_tsk : job_of_task tsk j. (** Then for any job [j], the cumulative interfering workload is equal to the conventional workload. *)
Task: TaskType
H: TaskCost Task
Job: JobType
H0: JobTask Job Task
H1: JobArrival Job
H2: JobCost Job
arr_seq: arrival_sequence Job
H_valid_arrival_sequence: valid_arrival_sequence arr_seq
sched: schedule (processor_state Job)
H_jobs_come_from_arrival_sequence: jobs_come_from_arrival_sequence sched arr_seq
H_jobs_must_arrive_to_execute: jobs_must_arrive_to_execute sched
H_completed_jobs_dont_execute: completed_jobs_dont_execute sched
H3: JLFP_policy Job
H_priority_is_reflexive: reflexive_priorities
H_priority_is_transitive: transitive_priorities
tsk: Task
H_sequential_tasks: sequential_tasks arr_seq sched
H_JLFP_respects_sequential_tasks: policy_respects_sequential_tasks
t1, t2: instant
j: Job
H_j_arrives: arrives_in arr_seq j
H_job_of_tsk: job_of_task tsk j

cumulative_other_hep_jobs_interfering_workload j t1 t2 = workload_of_another_hep_jobs j t1 t2
Task: TaskType
H: TaskCost Task
Job: JobType
H0: JobTask Job Task
H1: JobArrival Job
H2: JobCost Job
arr_seq: arrival_sequence Job
H_valid_arrival_sequence: valid_arrival_sequence arr_seq
sched: schedule (processor_state Job)
H_jobs_come_from_arrival_sequence: jobs_come_from_arrival_sequence sched arr_seq
H_jobs_must_arrive_to_execute: jobs_must_arrive_to_execute sched
H_completed_jobs_dont_execute: completed_jobs_dont_execute sched
H3: JLFP_policy Job
H_priority_is_reflexive: reflexive_priorities
H_priority_is_transitive: transitive_priorities
tsk: Task
H_sequential_tasks: sequential_tasks arr_seq sched
H_JLFP_respects_sequential_tasks: policy_respects_sequential_tasks
t1, t2: instant
j: Job
H_j_arrives: arrives_in arr_seq j
H_job_of_tsk: job_of_task tsk j

cumulative_other_hep_jobs_interfering_workload j t1 t2 = workload_of_another_hep_jobs j t1 t2
Task: TaskType
H: TaskCost Task
Job: JobType
H0: JobTask Job Task
H1: JobArrival Job
H2: JobCost Job
arr_seq: arrival_sequence Job
H_valid_arrival_sequence: valid_arrival_sequence arr_seq
sched: schedule (processor_state Job)
H_jobs_come_from_arrival_sequence: jobs_come_from_arrival_sequence sched arr_seq
H_jobs_must_arrive_to_execute: jobs_must_arrive_to_execute sched
H_completed_jobs_dont_execute: completed_jobs_dont_execute sched
H3: JLFP_policy Job
H_priority_is_reflexive: reflexive_priorities
H_priority_is_transitive: transitive_priorities
tsk: Task
H_sequential_tasks: sequential_tasks arr_seq sched
H_JLFP_respects_sequential_tasks: policy_respects_sequential_tasks
t1, t2: instant
j: Job
H_j_arrives: arrives_in arr_seq j
H_job_of_tsk: job_of_task tsk j

\sum_(t1 <= t < t2) other_hep_jobs_interfering_workload j t = workload_of_jobs (another_hep_job^~ j) (arrivals_between arr_seq t1 t2)
Task: TaskType
H: TaskCost Task
Job: JobType
H0: JobTask Job Task
H1: JobArrival Job
H2: JobCost Job
arr_seq: arrival_sequence Job
H_valid_arrival_sequence: valid_arrival_sequence arr_seq
sched: schedule (processor_state Job)
H_jobs_come_from_arrival_sequence: jobs_come_from_arrival_sequence sched arr_seq
H_jobs_must_arrive_to_execute: jobs_must_arrive_to_execute sched
H_completed_jobs_dont_execute: completed_jobs_dont_execute sched
H3: JLFP_policy Job
H_priority_is_reflexive: reflexive_priorities
H_priority_is_transitive: transitive_priorities
tsk: Task
H_sequential_tasks: sequential_tasks arr_seq sched
H_JLFP_respects_sequential_tasks: policy_respects_sequential_tasks
t1, t2: instant
j: Job
H_j_arrives: arrives_in arr_seq j
H_job_of_tsk: job_of_task tsk j
NEQ: (t1 < t2) = false

\sum_(t1 <= t < t2) other_hep_jobs_interfering_workload j t = workload_of_jobs (another_hep_job^~ j) (arrivals_between arr_seq t1 t2)
Task: TaskType
H: TaskCost Task
Job: JobType
H0: JobTask Job Task
H1: JobArrival Job
H2: JobCost Job
arr_seq: arrival_sequence Job
H_valid_arrival_sequence: valid_arrival_sequence arr_seq
sched: schedule (processor_state Job)
H_jobs_come_from_arrival_sequence: jobs_come_from_arrival_sequence sched arr_seq
H_jobs_must_arrive_to_execute: jobs_must_arrive_to_execute sched
H_completed_jobs_dont_execute: completed_jobs_dont_execute sched
H3: JLFP_policy Job
H_priority_is_reflexive: reflexive_priorities
H_priority_is_transitive: transitive_priorities
tsk: Task
H_sequential_tasks: sequential_tasks arr_seq sched
H_JLFP_respects_sequential_tasks: policy_respects_sequential_tasks
t1, t2: instant
j: Job
H_j_arrives: arrives_in arr_seq j
H_job_of_tsk: job_of_task tsk j
NEQ: (t1 < t2) = true
\sum_(t1 <= t < t2) other_hep_jobs_interfering_workload j t = workload_of_jobs (another_hep_job^~ j) (arrivals_between arr_seq t1 t2)
Task: TaskType
H: TaskCost Task
Job: JobType
H0: JobTask Job Task
H1: JobArrival Job
H2: JobCost Job
arr_seq: arrival_sequence Job
H_valid_arrival_sequence: valid_arrival_sequence arr_seq
sched: schedule (processor_state Job)
H_jobs_come_from_arrival_sequence: jobs_come_from_arrival_sequence sched arr_seq
H_jobs_must_arrive_to_execute: jobs_must_arrive_to_execute sched
H_completed_jobs_dont_execute: completed_jobs_dont_execute sched
H3: JLFP_policy Job
H_priority_is_reflexive: reflexive_priorities
H_priority_is_transitive: transitive_priorities
tsk: Task
H_sequential_tasks: sequential_tasks arr_seq sched
H_JLFP_respects_sequential_tasks: policy_respects_sequential_tasks
t1, t2: instant
j: Job
H_j_arrives: arrives_in arr_seq j
H_job_of_tsk: job_of_task tsk j
NEQ: (t1 < t2) = false

\sum_(t1 <= t < t2) other_hep_jobs_interfering_workload j t = workload_of_jobs (another_hep_job^~ j) (arrivals_between arr_seq t1 t2)
Task: TaskType
H: TaskCost Task
Job: JobType
H0: JobTask Job Task
H1: JobArrival Job
H2: JobCost Job
arr_seq: arrival_sequence Job
H_valid_arrival_sequence: valid_arrival_sequence arr_seq
sched: schedule (processor_state Job)
H_jobs_come_from_arrival_sequence: jobs_come_from_arrival_sequence sched arr_seq
H_jobs_must_arrive_to_execute: jobs_must_arrive_to_execute sched
H_completed_jobs_dont_execute: completed_jobs_dont_execute sched
H3: JLFP_policy Job
H_priority_is_reflexive: reflexive_priorities
H_priority_is_transitive: transitive_priorities
tsk: Task
H_sequential_tasks: sequential_tasks arr_seq sched
H_JLFP_respects_sequential_tasks: policy_respects_sequential_tasks
t1, t2: instant
j: Job
H_j_arrives: arrives_in arr_seq j
H_job_of_tsk: job_of_task tsk j
NEQ: t2 <= t1

\sum_(t1 <= t < t2) other_hep_jobs_interfering_workload j t = workload_of_jobs (another_hep_job^~ j) (arrivals_between arr_seq t1 t2)
Task: TaskType
H: TaskCost Task
Job: JobType
H0: JobTask Job Task
H1: JobArrival Job
H2: JobCost Job
arr_seq: arrival_sequence Job
H_valid_arrival_sequence: valid_arrival_sequence arr_seq
sched: schedule (processor_state Job)
H_jobs_come_from_arrival_sequence: jobs_come_from_arrival_sequence sched arr_seq
H_jobs_must_arrive_to_execute: jobs_must_arrive_to_execute sched
H_completed_jobs_dont_execute: completed_jobs_dont_execute sched
H3: JLFP_policy Job
H_priority_is_reflexive: reflexive_priorities
H_priority_is_transitive: transitive_priorities
tsk: Task
H_sequential_tasks: sequential_tasks arr_seq sched
H_JLFP_respects_sequential_tasks: policy_respects_sequential_tasks
t1, t2: instant
j: Job
H_j_arrives: arrives_in arr_seq j
H_job_of_tsk: job_of_task tsk j
NEQ: t2 <= t1

0 = workload_of_jobs (another_hep_job^~ j) (arrivals_between arr_seq t1 t2)
Task: TaskType
H: TaskCost Task
Job: JobType
H0: JobTask Job Task
H1: JobArrival Job
H2: JobCost Job
arr_seq: arrival_sequence Job
H_valid_arrival_sequence: valid_arrival_sequence arr_seq
sched: schedule (processor_state Job)
H_jobs_come_from_arrival_sequence: jobs_come_from_arrival_sequence sched arr_seq
H_jobs_must_arrive_to_execute: jobs_must_arrive_to_execute sched
H_completed_jobs_dont_execute: completed_jobs_dont_execute sched
H3: JLFP_policy Job
H_priority_is_reflexive: reflexive_priorities
H_priority_is_transitive: transitive_priorities
tsk: Task
H_sequential_tasks: sequential_tasks arr_seq sched
H_JLFP_respects_sequential_tasks: policy_respects_sequential_tasks
t1, t2: instant
j: Job
H_j_arrives: arrives_in arr_seq j
H_job_of_tsk: job_of_task tsk j
NEQ: t2 <= t1

0 = workload_of_jobs (another_hep_job^~ j) [::]
by rewrite /workload_of_jobs big_nil.
Task: TaskType
H: TaskCost Task
Job: JobType
H0: JobTask Job Task
H1: JobArrival Job
H2: JobCost Job
arr_seq: arrival_sequence Job
H_valid_arrival_sequence: valid_arrival_sequence arr_seq
sched: schedule (processor_state Job)
H_jobs_come_from_arrival_sequence: jobs_come_from_arrival_sequence sched arr_seq
H_jobs_must_arrive_to_execute: jobs_must_arrive_to_execute sched
H_completed_jobs_dont_execute: completed_jobs_dont_execute sched
H3: JLFP_policy Job
H_priority_is_reflexive: reflexive_priorities
H_priority_is_transitive: transitive_priorities
tsk: Task
H_sequential_tasks: sequential_tasks arr_seq sched
H_JLFP_respects_sequential_tasks: policy_respects_sequential_tasks
t1, t2: instant
j: Job
H_j_arrives: arrives_in arr_seq j
H_job_of_tsk: job_of_task tsk j
NEQ: (t1 < t2) = true

\sum_(t1 <= t < t2) other_hep_jobs_interfering_workload j t = workload_of_jobs (another_hep_job^~ j) (arrivals_between arr_seq t1 t2)
Task: TaskType
H: TaskCost Task
Job: JobType
H0: JobTask Job Task
H1: JobArrival Job
H2: JobCost Job
arr_seq: arrival_sequence Job
H_valid_arrival_sequence: valid_arrival_sequence arr_seq
sched: schedule (processor_state Job)
H_jobs_come_from_arrival_sequence: jobs_come_from_arrival_sequence sched arr_seq
H_jobs_must_arrive_to_execute: jobs_must_arrive_to_execute sched
H_completed_jobs_dont_execute: completed_jobs_dont_execute sched
H3: JLFP_policy Job
H_priority_is_reflexive: reflexive_priorities
H_priority_is_transitive: transitive_priorities
tsk: Task
H_sequential_tasks: sequential_tasks arr_seq sched
H_JLFP_respects_sequential_tasks: policy_respects_sequential_tasks
t1, t2: instant
j: Job
H_j_arrives: arrives_in arr_seq j
H_job_of_tsk: job_of_task tsk j
NEQ: (t1 < t2) = true

\sum_(t1 <= t < t2) other_hep_jobs_interfering_workload j t = workload_of_jobs (another_hep_job^~ j) (arrivals_between arr_seq t1 t2)
Task: TaskType
H: TaskCost Task
Job: JobType
H0: JobTask Job Task
H1: JobArrival Job
H2: JobCost Job
arr_seq: arrival_sequence Job
H_valid_arrival_sequence: valid_arrival_sequence arr_seq
sched: schedule (processor_state Job)
H_jobs_come_from_arrival_sequence: jobs_come_from_arrival_sequence sched arr_seq
H_jobs_must_arrive_to_execute: jobs_must_arrive_to_execute sched
H_completed_jobs_dont_execute: completed_jobs_dont_execute sched
H3: JLFP_policy Job
H_priority_is_reflexive: reflexive_priorities
H_priority_is_transitive: transitive_priorities
tsk: Task
H_sequential_tasks: sequential_tasks arr_seq sched
H_JLFP_respects_sequential_tasks: policy_respects_sequential_tasks
t1, t2: instant
j: Job
H_j_arrives: arrives_in arr_seq j
H_job_of_tsk: job_of_task tsk j
NEQ: (t1 < t2) = true

\sum_(t1 <= t < t2) \sum_(jhp <- arrivals_at arr_seq t | another_hep_job jhp j) job_cost jhp = \sum_(j0 <- arrivals_between arr_seq t1 t2 | another_hep_job j0 j) job_cost j0
Task: TaskType
H: TaskCost Task
Job: JobType
H0: JobTask Job Task
H1: JobArrival Job
H2: JobCost Job
arr_seq: arrival_sequence Job
H_valid_arrival_sequence: valid_arrival_sequence arr_seq
sched: schedule (processor_state Job)
H_jobs_come_from_arrival_sequence: jobs_come_from_arrival_sequence sched arr_seq
H_jobs_must_arrive_to_execute: jobs_must_arrive_to_execute sched
H_completed_jobs_dont_execute: completed_jobs_dont_execute sched
H3: JLFP_policy Job
H_priority_is_reflexive: reflexive_priorities
H_priority_is_transitive: transitive_priorities
tsk: Task
H_sequential_tasks: sequential_tasks arr_seq sched
H_JLFP_respects_sequential_tasks: policy_respects_sequential_tasks
t1: instant
j: Job
H_j_arrives: arrives_in arr_seq j
H_job_of_tsk: job_of_task tsk j
k: nat

\sum_(t1 <= t < t1 + k) \sum_(jhp <- arrivals_at arr_seq t | another_hep_job jhp j) job_cost jhp = \sum_(j0 <- arrivals_between arr_seq t1 (t1 + k) | another_hep_job j0 j) job_cost j0
Task: TaskType
H: TaskCost Task
Job: JobType
H0: JobTask Job Task
H1: JobArrival Job
H2: JobCost Job
arr_seq: arrival_sequence Job
H_valid_arrival_sequence: valid_arrival_sequence arr_seq
sched: schedule (processor_state Job)
H_jobs_come_from_arrival_sequence: jobs_come_from_arrival_sequence sched arr_seq
H_jobs_must_arrive_to_execute: jobs_must_arrive_to_execute sched
H_completed_jobs_dont_execute: completed_jobs_dont_execute sched
H3: JLFP_policy Job
H_priority_is_reflexive: reflexive_priorities
H_priority_is_transitive: transitive_priorities
tsk: Task
H_sequential_tasks: sequential_tasks arr_seq sched
H_JLFP_respects_sequential_tasks: policy_respects_sequential_tasks
t1: instant
j: Job
H_j_arrives: arrives_in arr_seq j
H_job_of_tsk: job_of_task tsk j

\sum_(t1 <= t < t1 + 0) \sum_(jhp <- arrivals_at arr_seq t | another_hep_job jhp j) job_cost jhp = \sum_(j0 <- arrivals_between arr_seq t1 (t1 + 0) | another_hep_job j0 j) job_cost j0
Task: TaskType
H: TaskCost Task
Job: JobType
H0: JobTask Job Task
H1: JobArrival Job
H2: JobCost Job
arr_seq: arrival_sequence Job
H_valid_arrival_sequence: valid_arrival_sequence arr_seq
sched: schedule (processor_state Job)
H_jobs_come_from_arrival_sequence: jobs_come_from_arrival_sequence sched arr_seq
H_jobs_must_arrive_to_execute: jobs_must_arrive_to_execute sched
H_completed_jobs_dont_execute: completed_jobs_dont_execute sched
H3: JLFP_policy Job
H_priority_is_reflexive: reflexive_priorities
H_priority_is_transitive: transitive_priorities
tsk: Task
H_sequential_tasks: sequential_tasks arr_seq sched
H_JLFP_respects_sequential_tasks: policy_respects_sequential_tasks
t1: instant
j: Job
H_j_arrives: arrives_in arr_seq j
H_job_of_tsk: job_of_task tsk j
k: nat
IHk: \sum_(t1 <= t < t1 + k) \sum_(jhp <- arrivals_at arr_seq t | another_hep_job jhp j) job_cost jhp = \sum_(j0 <- arrivals_between arr_seq t1 (t1 + k) | another_hep_job j0 j) job_cost j0
\sum_(t1 <= t < t1 + k.+1) \sum_(jhp <- arrivals_at arr_seq t | another_hep_job jhp j) job_cost jhp = \sum_(j0 <- arrivals_between arr_seq t1 (t1 + k.+1) | another_hep_job j0 j) job_cost j0
Task: TaskType
H: TaskCost Task
Job: JobType
H0: JobTask Job Task
H1: JobArrival Job
H2: JobCost Job
arr_seq: arrival_sequence Job
H_valid_arrival_sequence: valid_arrival_sequence arr_seq
sched: schedule (processor_state Job)
H_jobs_come_from_arrival_sequence: jobs_come_from_arrival_sequence sched arr_seq
H_jobs_must_arrive_to_execute: jobs_must_arrive_to_execute sched
H_completed_jobs_dont_execute: completed_jobs_dont_execute sched
H3: JLFP_policy Job
H_priority_is_reflexive: reflexive_priorities
H_priority_is_transitive: transitive_priorities
tsk: Task
H_sequential_tasks: sequential_tasks arr_seq sched
H_JLFP_respects_sequential_tasks: policy_respects_sequential_tasks
t1: instant
j: Job
H_j_arrives: arrives_in arr_seq j
H_job_of_tsk: job_of_task tsk j

\sum_(t1 <= t < t1 + 0) \sum_(jhp <- arrivals_at arr_seq t | another_hep_job jhp j) job_cost jhp = \sum_(j0 <- arrivals_between arr_seq t1 (t1 + 0) | another_hep_job j0 j) job_cost j0
Task: TaskType
H: TaskCost Task
Job: JobType
H0: JobTask Job Task
H1: JobArrival Job
H2: JobCost Job
arr_seq: arrival_sequence Job
H_valid_arrival_sequence: valid_arrival_sequence arr_seq
sched: schedule (processor_state Job)
H_jobs_come_from_arrival_sequence: jobs_come_from_arrival_sequence sched arr_seq
H_jobs_must_arrive_to_execute: jobs_must_arrive_to_execute sched
H_completed_jobs_dont_execute: completed_jobs_dont_execute sched
H3: JLFP_policy Job
H_priority_is_reflexive: reflexive_priorities
H_priority_is_transitive: transitive_priorities
tsk: Task
H_sequential_tasks: sequential_tasks arr_seq sched
H_JLFP_respects_sequential_tasks: policy_respects_sequential_tasks
t1: instant
j: Job
H_j_arrives: arrives_in arr_seq j
H_job_of_tsk: job_of_task tsk j
k: nat
IHk: \sum_(t1 <= t < t1 + k) \sum_(jhp <- arrivals_at arr_seq t | another_hep_job jhp j) job_cost jhp = \sum_(j0 <- arrivals_between arr_seq t1 (t1 + k) | another_hep_job j0 j) job_cost j0
\sum_(t1 <= t < t1 + k.+1) \sum_(jhp <- arrivals_at arr_seq t | another_hep_job jhp j) job_cost jhp = \sum_(j0 <- arrivals_between arr_seq t1 (t1 + k.+1) | another_hep_job j0 j) job_cost j0
Task: TaskType
H: TaskCost Task
Job: JobType
H0: JobTask Job Task
H1: JobArrival Job
H2: JobCost Job
arr_seq: arrival_sequence Job
H_valid_arrival_sequence: valid_arrival_sequence arr_seq
sched: schedule (processor_state Job)
H_jobs_come_from_arrival_sequence: jobs_come_from_arrival_sequence sched arr_seq
H_jobs_must_arrive_to_execute: jobs_must_arrive_to_execute sched
H_completed_jobs_dont_execute: completed_jobs_dont_execute sched
H3: JLFP_policy Job
H_priority_is_reflexive: reflexive_priorities
H_priority_is_transitive: transitive_priorities
tsk: Task
H_sequential_tasks: sequential_tasks arr_seq sched
H_JLFP_respects_sequential_tasks: policy_respects_sequential_tasks
t1: instant
j: Job
H_j_arrives: arrives_in arr_seq j
H_job_of_tsk: job_of_task tsk j

\sum_(t1 <= t < t1) \sum_(jhp <- arrivals_at arr_seq t | another_hep_job jhp j) job_cost jhp = \sum_(j0 <- arrivals_between arr_seq t1 t1 | another_hep_job j0 j) job_cost j0
Task: TaskType
H: TaskCost Task
Job: JobType
H0: JobTask Job Task
H1: JobArrival Job
H2: JobCost Job
arr_seq: arrival_sequence Job
H_valid_arrival_sequence: valid_arrival_sequence arr_seq
sched: schedule (processor_state Job)
H_jobs_come_from_arrival_sequence: jobs_come_from_arrival_sequence sched arr_seq
H_jobs_must_arrive_to_execute: jobs_must_arrive_to_execute sched
H_completed_jobs_dont_execute: completed_jobs_dont_execute sched
H3: JLFP_policy Job
H_priority_is_reflexive: reflexive_priorities
H_priority_is_transitive: transitive_priorities
tsk: Task
H_sequential_tasks: sequential_tasks arr_seq sched
H_JLFP_respects_sequential_tasks: policy_respects_sequential_tasks
t1: instant
j: Job
H_j_arrives: arrives_in arr_seq j
H_job_of_tsk: job_of_task tsk j
k: nat
IHk: \sum_(t1 <= t < t1 + k) \sum_(jhp <- arrivals_at arr_seq t | another_hep_job jhp j) job_cost jhp = \sum_(j0 <- arrivals_between arr_seq t1 (t1 + k) | another_hep_job j0 j) job_cost j0
\sum_(t1 <= t < t1 + k.+1) \sum_(jhp <- arrivals_at arr_seq t | another_hep_job jhp j) job_cost jhp = \sum_(j0 <- arrivals_between arr_seq t1 (t1 + k.+1) | another_hep_job j0 j) job_cost j0
Task: TaskType
H: TaskCost Task
Job: JobType
H0: JobTask Job Task
H1: JobArrival Job
H2: JobCost Job
arr_seq: arrival_sequence Job
H_valid_arrival_sequence: valid_arrival_sequence arr_seq
sched: schedule (processor_state Job)
H_jobs_come_from_arrival_sequence: jobs_come_from_arrival_sequence sched arr_seq
H_jobs_must_arrive_to_execute: jobs_must_arrive_to_execute sched
H_completed_jobs_dont_execute: completed_jobs_dont_execute sched
H3: JLFP_policy Job
H_priority_is_reflexive: reflexive_priorities
H_priority_is_transitive: transitive_priorities
tsk: Task
H_sequential_tasks: sequential_tasks arr_seq sched
H_JLFP_respects_sequential_tasks: policy_respects_sequential_tasks
t1: instant
j: Job
H_j_arrives: arrives_in arr_seq j
H_job_of_tsk: job_of_task tsk j

0 = \sum_(j0 <- arrivals_between arr_seq t1 t1 | another_hep_job j0 j) job_cost j0
Task: TaskType
H: TaskCost Task
Job: JobType
H0: JobTask Job Task
H1: JobArrival Job
H2: JobCost Job
arr_seq: arrival_sequence Job
H_valid_arrival_sequence: valid_arrival_sequence arr_seq
sched: schedule (processor_state Job)
H_jobs_come_from_arrival_sequence: jobs_come_from_arrival_sequence sched arr_seq
H_jobs_must_arrive_to_execute: jobs_must_arrive_to_execute sched
H_completed_jobs_dont_execute: completed_jobs_dont_execute sched
H3: JLFP_policy Job
H_priority_is_reflexive: reflexive_priorities
H_priority_is_transitive: transitive_priorities
tsk: Task
H_sequential_tasks: sequential_tasks arr_seq sched
H_JLFP_respects_sequential_tasks: policy_respects_sequential_tasks
t1: instant
j: Job
H_j_arrives: arrives_in arr_seq j
H_job_of_tsk: job_of_task tsk j
k: nat
IHk: \sum_(t1 <= t < t1 + k) \sum_(jhp <- arrivals_at arr_seq t | another_hep_job jhp j) job_cost jhp = \sum_(j0 <- arrivals_between arr_seq t1 (t1 + k) | another_hep_job j0 j) job_cost j0
\sum_(t1 <= t < t1 + k.+1) \sum_(jhp <- arrivals_at arr_seq t | another_hep_job jhp j) job_cost jhp = \sum_(j0 <- arrivals_between arr_seq t1 (t1 + k.+1) | another_hep_job j0 j) job_cost j0
Task: TaskType
H: TaskCost Task
Job: JobType
H0: JobTask Job Task
H1: JobArrival Job
H2: JobCost Job
arr_seq: arrival_sequence Job
H_valid_arrival_sequence: valid_arrival_sequence arr_seq
sched: schedule (processor_state Job)
H_jobs_come_from_arrival_sequence: jobs_come_from_arrival_sequence sched arr_seq
H_jobs_must_arrive_to_execute: jobs_must_arrive_to_execute sched
H_completed_jobs_dont_execute: completed_jobs_dont_execute sched
H3: JLFP_policy Job
H_priority_is_reflexive: reflexive_priorities
H_priority_is_transitive: transitive_priorities
tsk: Task
H_sequential_tasks: sequential_tasks arr_seq sched
H_JLFP_respects_sequential_tasks: policy_respects_sequential_tasks
t1: instant
j: Job
H_j_arrives: arrives_in arr_seq j
H_job_of_tsk: job_of_task tsk j

0 = \sum_(j0 <- [::] | another_hep_job j0 j) job_cost j0
Task: TaskType
H: TaskCost Task
Job: JobType
H0: JobTask Job Task
H1: JobArrival Job
H2: JobCost Job
arr_seq: arrival_sequence Job
H_valid_arrival_sequence: valid_arrival_sequence arr_seq
sched: schedule (processor_state Job)
H_jobs_come_from_arrival_sequence: jobs_come_from_arrival_sequence sched arr_seq
H_jobs_must_arrive_to_execute: jobs_must_arrive_to_execute sched
H_completed_jobs_dont_execute: completed_jobs_dont_execute sched
H3: JLFP_policy Job
H_priority_is_reflexive: reflexive_priorities
H_priority_is_transitive: transitive_priorities
tsk: Task
H_sequential_tasks: sequential_tasks arr_seq sched
H_JLFP_respects_sequential_tasks: policy_respects_sequential_tasks
t1: instant
j: Job
H_j_arrives: arrives_in arr_seq j
H_job_of_tsk: job_of_task tsk j
k: nat
IHk: \sum_(t1 <= t < t1 + k) \sum_(jhp <- arrivals_at arr_seq t | another_hep_job jhp j) job_cost jhp = \sum_(j0 <- arrivals_between arr_seq t1 (t1 + k) | another_hep_job j0 j) job_cost j0
\sum_(t1 <= t < t1 + k.+1) \sum_(jhp <- arrivals_at arr_seq t | another_hep_job jhp j) job_cost jhp = \sum_(j0 <- arrivals_between arr_seq t1 (t1 + k.+1) | another_hep_job j0 j) job_cost j0
Task: TaskType
H: TaskCost Task
Job: JobType
H0: JobTask Job Task
H1: JobArrival Job
H2: JobCost Job
arr_seq: arrival_sequence Job
H_valid_arrival_sequence: valid_arrival_sequence arr_seq
sched: schedule (processor_state Job)
H_jobs_come_from_arrival_sequence: jobs_come_from_arrival_sequence sched arr_seq
H_jobs_must_arrive_to_execute: jobs_must_arrive_to_execute sched
H_completed_jobs_dont_execute: completed_jobs_dont_execute sched
H3: JLFP_policy Job
H_priority_is_reflexive: reflexive_priorities
H_priority_is_transitive: transitive_priorities
tsk: Task
H_sequential_tasks: sequential_tasks arr_seq sched
H_JLFP_respects_sequential_tasks: policy_respects_sequential_tasks
t1: instant
j: Job
H_j_arrives: arrives_in arr_seq j
H_job_of_tsk: job_of_task tsk j
k: nat
IHk: \sum_(t1 <= t < t1 + k) \sum_(jhp <- arrivals_at arr_seq t | another_hep_job jhp j) job_cost jhp = \sum_(j0 <- arrivals_between arr_seq t1 (t1 + k) | another_hep_job j0 j) job_cost j0

\sum_(t1 <= t < t1 + k.+1) \sum_(jhp <- arrivals_at arr_seq t | another_hep_job jhp j) job_cost jhp = \sum_(j0 <- arrivals_between arr_seq t1 (t1 + k.+1) | another_hep_job j0 j) job_cost j0
Task: TaskType
H: TaskCost Task
Job: JobType
H0: JobTask Job Task
H1: JobArrival Job
H2: JobCost Job
arr_seq: arrival_sequence Job
H_valid_arrival_sequence: valid_arrival_sequence arr_seq
sched: schedule (processor_state Job)
H_jobs_come_from_arrival_sequence: jobs_come_from_arrival_sequence sched arr_seq
H_jobs_must_arrive_to_execute: jobs_must_arrive_to_execute sched
H_completed_jobs_dont_execute: completed_jobs_dont_execute sched
H3: JLFP_policy Job
H_priority_is_reflexive: reflexive_priorities
H_priority_is_transitive: transitive_priorities
tsk: Task
H_sequential_tasks: sequential_tasks arr_seq sched
H_JLFP_respects_sequential_tasks: policy_respects_sequential_tasks
t1: instant
j: Job
H_j_arrives: arrives_in arr_seq j
H_job_of_tsk: job_of_task tsk j
k: nat
IHk: \sum_(t1 <= t < t1 + k) \sum_(jhp <- arrivals_at arr_seq t | another_hep_job jhp j) job_cost jhp = \sum_(j0 <- arrivals_between arr_seq t1 (t1 + k) | another_hep_job j0 j) job_cost j0

\sum_(t1 <= t < t1 + k.+1) \sum_(jhp <- arrivals_at arr_seq t | another_hep_job jhp j) job_cost jhp = \sum_(j0 <- arrivals_between arr_seq t1 (t1 + k.+1) | another_hep_job j0 j) job_cost j0
Task: TaskType
H: TaskCost Task
Job: JobType
H0: JobTask Job Task
H1: JobArrival Job
H2: JobCost Job
arr_seq: arrival_sequence Job
H_valid_arrival_sequence: valid_arrival_sequence arr_seq
sched: schedule (processor_state Job)
H_jobs_come_from_arrival_sequence: jobs_come_from_arrival_sequence sched arr_seq
H_jobs_must_arrive_to_execute: jobs_must_arrive_to_execute sched
H_completed_jobs_dont_execute: completed_jobs_dont_execute sched
H3: JLFP_policy Job
H_priority_is_reflexive: reflexive_priorities
H_priority_is_transitive: transitive_priorities
tsk: Task
H_sequential_tasks: sequential_tasks arr_seq sched
H_JLFP_respects_sequential_tasks: policy_respects_sequential_tasks
t1: instant
j: Job
H_j_arrives: arrives_in arr_seq j
H_job_of_tsk: job_of_task tsk j
k: nat
IHk: \sum_(t1 <= t < t1 + k) \sum_(jhp <- arrivals_at arr_seq t | another_hep_job jhp j) job_cost jhp = \sum_(j0 <- arrivals_between arr_seq t1 (t1 + k) | another_hep_job j0 j) job_cost j0

\sum_(t1 <= i < t1 + k) \sum_(jhp <- arrivals_at arr_seq i | another_hep_job jhp j) job_cost jhp + \sum_(jhp <- arrivals_at arr_seq (t1 + k) | another_hep_job jhp j) job_cost jhp = \sum_(j0 <- arrivals_between arr_seq t1 (t1 + k).+1 | another_hep_job j0 j) job_cost j0
Task: TaskType
H: TaskCost Task
Job: JobType
H0: JobTask Job Task
H1: JobArrival Job
H2: JobCost Job
arr_seq: arrival_sequence Job
H_valid_arrival_sequence: valid_arrival_sequence arr_seq
sched: schedule (processor_state Job)
H_jobs_come_from_arrival_sequence: jobs_come_from_arrival_sequence sched arr_seq
H_jobs_must_arrive_to_execute: jobs_must_arrive_to_execute sched
H_completed_jobs_dont_execute: completed_jobs_dont_execute sched
H3: JLFP_policy Job
H_priority_is_reflexive: reflexive_priorities
H_priority_is_transitive: transitive_priorities
tsk: Task
H_sequential_tasks: sequential_tasks arr_seq sched
H_JLFP_respects_sequential_tasks: policy_respects_sequential_tasks
t1: instant
j: Job
H_j_arrives: arrives_in arr_seq j
H_job_of_tsk: job_of_task tsk j
k: nat
IHk: \sum_(t1 <= t < t1 + k) \sum_(jhp <- arrivals_at arr_seq t | another_hep_job jhp j) job_cost jhp = \sum_(j0 <- arrivals_between arr_seq t1 (t1 + k) | another_hep_job j0 j) job_cost j0

\sum_(j0 <- arrivals_between arr_seq t1 (t1 + k) | another_hep_job j0 j) job_cost j0 + \sum_(jhp <- arrivals_at arr_seq (t1 + k) | another_hep_job jhp j) job_cost jhp = \sum_(j0 <- arrivals_between arr_seq t1 (t1 + k).+1 | another_hep_job j0 j) job_cost j0
Task: TaskType
H: TaskCost Task
Job: JobType
H0: JobTask Job Task
H1: JobArrival Job
H2: JobCost Job
arr_seq: arrival_sequence Job
H_valid_arrival_sequence: valid_arrival_sequence arr_seq
sched: schedule (processor_state Job)
H_jobs_come_from_arrival_sequence: jobs_come_from_arrival_sequence sched arr_seq
H_jobs_must_arrive_to_execute: jobs_must_arrive_to_execute sched
H_completed_jobs_dont_execute: completed_jobs_dont_execute sched
H3: JLFP_policy Job
H_priority_is_reflexive: reflexive_priorities
H_priority_is_transitive: transitive_priorities
tsk: Task
H_sequential_tasks: sequential_tasks arr_seq sched
H_JLFP_respects_sequential_tasks: policy_respects_sequential_tasks
t1: instant
j: Job
H_j_arrives: arrives_in arr_seq j
H_job_of_tsk: job_of_task tsk j
k: nat
IHk: \sum_(t1 <= t < t1 + k) \sum_(jhp <- arrivals_at arr_seq t | another_hep_job jhp j) job_cost jhp = \sum_(j0 <- arrivals_between arr_seq t1 (t1 + k) | another_hep_job j0 j) job_cost j0

\sum_(j0 <- \cat_(t1<=t<t1 + k)arrivals_at arr_seq t | another_hep_job j0 j) job_cost j0 + \sum_(jhp <- arrivals_at arr_seq (t1 + k) | another_hep_job jhp j) job_cost jhp = \sum_(j0 <- (\cat_(t1<=i<t1 + k)arrivals_at arr_seq i ++ arrivals_at arr_seq (t1 + k)) | another_hep_job j0 j) job_cost j0
by rewrite big_cat //=. } Qed. End InstantiatedWorkloadEquivalence. (** In this section, we prove that the (abstract) cumulative interference of jobs with higher or equal priority is equal to total service of jobs with higher or equal priority. *) Section InstantiatedServiceEquivalences. (** Consider any job [j] of [tsk]. *) Variable j : Job. Hypothesis H_j_arrives : arrives_in arr_seq j. Hypothesis H_job_of_tsk : job_of_task tsk j. (** We consider an arbitrary time interval <<[t1, t)>> that starts with a quiet time. *) Variable t1 t : instant. Hypothesis H_quiet_time : busy_interval.quiet_time arr_seq sched j t1. (** Then for job [j], the (abstract) instantiated function of interference is equal to the total service of jobs with higher or equal priority. *)
Task: TaskType
H: TaskCost Task
Job: JobType
H0: JobTask Job Task
H1: JobArrival Job
H2: JobCost Job
arr_seq: arrival_sequence Job
H_valid_arrival_sequence: valid_arrival_sequence arr_seq
sched: schedule (processor_state Job)
H_jobs_come_from_arrival_sequence: jobs_come_from_arrival_sequence sched arr_seq
H_jobs_must_arrive_to_execute: jobs_must_arrive_to_execute sched
H_completed_jobs_dont_execute: completed_jobs_dont_execute sched
H3: JLFP_policy Job
H_priority_is_reflexive: reflexive_priorities
H_priority_is_transitive: transitive_priorities
tsk: Task
H_sequential_tasks: sequential_tasks arr_seq sched
H_JLFP_respects_sequential_tasks: policy_respects_sequential_tasks
j: Job
H_j_arrives: arrives_in arr_seq j
H_job_of_tsk: job_of_task tsk j
t1, t: instant
H_quiet_time: quiet_time arr_seq sched j t1

cumulative_another_hep_job_interference j t1 t = service_of_another_hep_jobs j t1 t
Task: TaskType
H: TaskCost Task
Job: JobType
H0: JobTask Job Task
H1: JobArrival Job
H2: JobCost Job
arr_seq: arrival_sequence Job
H_valid_arrival_sequence: valid_arrival_sequence arr_seq
sched: schedule (processor_state Job)
H_jobs_come_from_arrival_sequence: jobs_come_from_arrival_sequence sched arr_seq
H_jobs_must_arrive_to_execute: jobs_must_arrive_to_execute sched
H_completed_jobs_dont_execute: completed_jobs_dont_execute sched
H3: JLFP_policy Job
H_priority_is_reflexive: reflexive_priorities
H_priority_is_transitive: transitive_priorities
tsk: Task
H_sequential_tasks: sequential_tasks arr_seq sched
H_JLFP_respects_sequential_tasks: policy_respects_sequential_tasks
j: Job
H_j_arrives: arrives_in arr_seq j
H_job_of_tsk: job_of_task tsk j
t1, t: instant
H_quiet_time: quiet_time arr_seq sched j t1

cumulative_another_hep_job_interference j t1 t = service_of_another_hep_jobs j t1 t
Task: TaskType
H: TaskCost Task
Job: JobType
H0: JobTask Job Task
H1: JobArrival Job
H2: JobCost Job
arr_seq: arrival_sequence Job
H_valid_arrival_sequence: valid_arrival_sequence arr_seq
sched: schedule (processor_state Job)
H_jobs_come_from_arrival_sequence: jobs_come_from_arrival_sequence sched arr_seq
H_jobs_must_arrive_to_execute: jobs_must_arrive_to_execute sched
H_completed_jobs_dont_execute: completed_jobs_dont_execute sched
H3: JLFP_policy Job
H_priority_is_reflexive: reflexive_priorities
H_priority_is_transitive: transitive_priorities
tsk: Task
H_sequential_tasks: sequential_tasks arr_seq sched
H_JLFP_respects_sequential_tasks: policy_respects_sequential_tasks
j: Job
H_j_arrives: arrives_in arr_seq j
t1, t: instant
H_quiet_time: quiet_time arr_seq sched j t1

cumulative_another_hep_job_interference j t1 t = \sum_(j0 <- arrivals_between arr_seq t1 t | another_hep_job j0 j) service_during sched j0 t1 t
Task: TaskType
H: TaskCost Task
Job: JobType
H0: JobTask Job Task
H1: JobArrival Job
H2: JobCost Job
arr_seq: arrival_sequence Job
H_valid_arrival_sequence: valid_arrival_sequence arr_seq
sched: schedule (processor_state Job)
H_jobs_come_from_arrival_sequence: jobs_come_from_arrival_sequence sched arr_seq
H_jobs_must_arrive_to_execute: jobs_must_arrive_to_execute sched
H_completed_jobs_dont_execute: completed_jobs_dont_execute sched
H3: JLFP_policy Job
H_priority_is_reflexive: reflexive_priorities
H_priority_is_transitive: transitive_priorities
tsk: Task
H_sequential_tasks: sequential_tasks arr_seq sched
H_JLFP_respects_sequential_tasks: policy_respects_sequential_tasks
j: Job
H_j_arrives: arrives_in arr_seq j
t1, t: instant
H_quiet_time: quiet_time arr_seq sched j t1

\sum_(t1 <= t < t) has (fun jhp : Job => another_hep_job jhp j && receives_service_at sched jhp t) (arrivals_up_to arr_seq t) = \sum_(j0 <- arrivals_between arr_seq t1 t | another_hep_job j0 j) service_during sched j0 t1 t
Task: TaskType
H: TaskCost Task
Job: JobType
H0: JobTask Job Task
H1: JobArrival Job
H2: JobCost Job
arr_seq: arrival_sequence Job
H_valid_arrival_sequence: valid_arrival_sequence arr_seq
sched: schedule (processor_state Job)
H_jobs_come_from_arrival_sequence: jobs_come_from_arrival_sequence sched arr_seq
H_jobs_must_arrive_to_execute: jobs_must_arrive_to_execute sched
H_completed_jobs_dont_execute: completed_jobs_dont_execute sched
H3: JLFP_policy Job
H_priority_is_reflexive: reflexive_priorities
H_priority_is_transitive: transitive_priorities
tsk: Task
H_sequential_tasks: sequential_tasks arr_seq sched
H_JLFP_respects_sequential_tasks: policy_respects_sequential_tasks
j: Job
H_j_arrives: arrives_in arr_seq j
t1, t: instant
H_quiet_time: quiet_time arr_seq sched j t1

\sum_(t1 <= i < t | (t1 <= i < t) && true) has (fun jhp : Job => another_hep_job jhp j && receives_service_at sched jhp i) (arrivals_up_to arr_seq i) = \sum_(t1 <= i < t | (t1 <= i < t) && true) \sum_(i0 <- arrivals_between arr_seq t1 t | another_hep_job i0 j) service_at sched i0 i
Task: TaskType
H: TaskCost Task
Job: JobType
H0: JobTask Job Task
H1: JobArrival Job
H2: JobCost Job
arr_seq: arrival_sequence Job
H_valid_arrival_sequence: valid_arrival_sequence arr_seq
sched: schedule (processor_state Job)
H_jobs_come_from_arrival_sequence: jobs_come_from_arrival_sequence sched arr_seq
H_jobs_must_arrive_to_execute: jobs_must_arrive_to_execute sched
H_completed_jobs_dont_execute: completed_jobs_dont_execute sched
H3: JLFP_policy Job
H_priority_is_reflexive: reflexive_priorities
H_priority_is_transitive: transitive_priorities
tsk: Task
H_sequential_tasks: sequential_tasks arr_seq sched
H_JLFP_respects_sequential_tasks: policy_respects_sequential_tasks
j: Job
H_j_arrives: arrives_in arr_seq j
t1, t: instant
H_quiet_time: quiet_time arr_seq sched j t1
x: nat
Ge: t1 <= x
Le: x < t

has (fun jhp : Job => another_hep_job jhp j && receives_service_at sched jhp x) (arrivals_up_to arr_seq x) = \sum_(i <- arrivals_between arr_seq t1 t | another_hep_job i j) service_at sched i x
Task: TaskType
H: TaskCost Task
Job: JobType
H0: JobTask Job Task
H1: JobArrival Job
H2: JobCost Job
arr_seq: arrival_sequence Job
H_valid_arrival_sequence: valid_arrival_sequence arr_seq
sched: schedule (processor_state Job)
H_jobs_come_from_arrival_sequence: jobs_come_from_arrival_sequence sched arr_seq
H_jobs_must_arrive_to_execute: jobs_must_arrive_to_execute sched
H_completed_jobs_dont_execute: completed_jobs_dont_execute sched
H3: JLFP_policy Job
H_priority_is_reflexive: reflexive_priorities
H_priority_is_transitive: transitive_priorities
tsk: Task
H_sequential_tasks: sequential_tasks arr_seq sched
H_JLFP_respects_sequential_tasks: policy_respects_sequential_tasks
j: Job
H_j_arrives: arrives_in arr_seq j
t1, t: instant
H_quiet_time: quiet_time arr_seq sched j t1
x: nat
Ge: t1 <= x
Le: x < t
Idle: is_idle sched x
EqIdle: sched x = None

has (fun jhp : Job => another_hep_job jhp j && receives_service_at sched jhp x) (arrivals_up_to arr_seq x) = \sum_(i <- arrivals_between arr_seq t1 t | another_hep_job i j) service_at sched i x
Task: TaskType
H: TaskCost Task
Job: JobType
H0: JobTask Job Task
H1: JobArrival Job
H2: JobCost Job
arr_seq: arrival_sequence Job
H_valid_arrival_sequence: valid_arrival_sequence arr_seq
sched: schedule (processor_state Job)
H_jobs_come_from_arrival_sequence: jobs_come_from_arrival_sequence sched arr_seq
H_jobs_must_arrive_to_execute: jobs_must_arrive_to_execute sched
H_completed_jobs_dont_execute: completed_jobs_dont_execute sched
H3: JLFP_policy Job
H_priority_is_reflexive: reflexive_priorities
H_priority_is_transitive: transitive_priorities
tsk: Task
H_sequential_tasks: sequential_tasks arr_seq sched
H_JLFP_respects_sequential_tasks: policy_respects_sequential_tasks
j: Job
H_j_arrives: arrives_in arr_seq j
t1, t: instant
H_quiet_time: quiet_time arr_seq sched j t1
x: nat
Ge: t1 <= x
Le: x < t
jo: Job
Sched_jo: scheduled_at sched jo x
EqSched_jo: #|[pred x0 | let 'FiniteQuant.Quantified F := FiniteQuant.ex (T:=Core) (, scheduled_on jo (sched x) x0) x0 x0 in F]| <> 0
has (fun jhp : Job => another_hep_job jhp j && receives_service_at sched jhp x) (arrivals_up_to arr_seq x) = \sum_(i <- arrivals_between arr_seq t1 t | another_hep_job i j) service_at sched i x
Task: TaskType
H: TaskCost Task
Job: JobType
H0: JobTask Job Task
H1: JobArrival Job
H2: JobCost Job
arr_seq: arrival_sequence Job
H_valid_arrival_sequence: valid_arrival_sequence arr_seq
sched: schedule (processor_state Job)
H_jobs_come_from_arrival_sequence: jobs_come_from_arrival_sequence sched arr_seq
H_jobs_must_arrive_to_execute: jobs_must_arrive_to_execute sched
H_completed_jobs_dont_execute: completed_jobs_dont_execute sched
H3: JLFP_policy Job
H_priority_is_reflexive: reflexive_priorities
H_priority_is_transitive: transitive_priorities
tsk: Task
H_sequential_tasks: sequential_tasks arr_seq sched
H_JLFP_respects_sequential_tasks: policy_respects_sequential_tasks
j: Job
H_j_arrives: arrives_in arr_seq j
t1, t: instant
H_quiet_time: quiet_time arr_seq sched j t1
x: nat
Ge: t1 <= x
Le: x < t
Idle: is_idle sched x
EqIdle: sched x = None

has (fun jhp : Job => another_hep_job jhp j && receives_service_at sched jhp x) (arrivals_up_to arr_seq x) = \sum_(i <- arrivals_between arr_seq t1 t | another_hep_job i j) service_at sched i x
Task: TaskType
H: TaskCost Task
Job: JobType
H0: JobTask Job Task
H1: JobArrival Job
H2: JobCost Job
arr_seq: arrival_sequence Job
H_valid_arrival_sequence: valid_arrival_sequence arr_seq
sched: schedule (processor_state Job)
H_jobs_come_from_arrival_sequence: jobs_come_from_arrival_sequence sched arr_seq
H_jobs_must_arrive_to_execute: jobs_must_arrive_to_execute sched
H_completed_jobs_dont_execute: completed_jobs_dont_execute sched
H3: JLFP_policy Job
H_priority_is_reflexive: reflexive_priorities
H_priority_is_transitive: transitive_priorities
tsk: Task
H_sequential_tasks: sequential_tasks arr_seq sched
H_JLFP_respects_sequential_tasks: policy_respects_sequential_tasks
j: Job
H_j_arrives: arrives_in arr_seq j
t1, t: instant
H_quiet_time: quiet_time arr_seq sched j t1
x: nat
Ge: t1 <= x
Le: x < t
Idle: is_idle sched x
EqIdle: sched x = None

\sum_(i <- arrivals_between arr_seq t1 t | another_hep_job i j) service_at sched i x = false
Task: TaskType
H: TaskCost Task
Job: JobType
H0: JobTask Job Task
H1: JobArrival Job
H2: JobCost Job
arr_seq: arrival_sequence Job
H_valid_arrival_sequence: valid_arrival_sequence arr_seq
sched: schedule (processor_state Job)
H_jobs_come_from_arrival_sequence: jobs_come_from_arrival_sequence sched arr_seq
H_jobs_must_arrive_to_execute: jobs_must_arrive_to_execute sched
H_completed_jobs_dont_execute: completed_jobs_dont_execute sched
H3: JLFP_policy Job
H_priority_is_reflexive: reflexive_priorities
H_priority_is_transitive: transitive_priorities
tsk: Task
H_sequential_tasks: sequential_tasks arr_seq sched
H_JLFP_respects_sequential_tasks: policy_respects_sequential_tasks
j: Job
H_j_arrives: arrives_in arr_seq j
t1, t: instant
H_quiet_time: quiet_time arr_seq sched j t1
x: nat
Ge: t1 <= x
Le: x < t
Idle: is_idle sched x
EqIdle: sched x = None
{in arrivals_up_to arr_seq x, (fun jhp : Job => another_hep_job jhp j && receives_service_at sched jhp x) =1 pred0}
Task: TaskType
H: TaskCost Task
Job: JobType
H0: JobTask Job Task
H1: JobArrival Job
H2: JobCost Job
arr_seq: arrival_sequence Job
H_valid_arrival_sequence: valid_arrival_sequence arr_seq
sched: schedule (processor_state Job)
H_jobs_come_from_arrival_sequence: jobs_come_from_arrival_sequence sched arr_seq
H_jobs_must_arrive_to_execute: jobs_must_arrive_to_execute sched
H_completed_jobs_dont_execute: completed_jobs_dont_execute sched
H3: JLFP_policy Job
H_priority_is_reflexive: reflexive_priorities
H_priority_is_transitive: transitive_priorities
tsk: Task
H_sequential_tasks: sequential_tasks arr_seq sched
H_JLFP_respects_sequential_tasks: policy_respects_sequential_tasks
j: Job
H_j_arrives: arrives_in arr_seq j
t1, t: instant
H_quiet_time: quiet_time arr_seq sched j t1
x: nat
Ge: t1 <= x
Le: x < t
Idle: is_idle sched x
EqIdle: sched x = None

\sum_(i <- arrivals_between arr_seq t1 t | another_hep_job i j) service_at sched i x = false
by apply big1 => j' _; rewrite ideal_not_idle_implies_sched.
Task: TaskType
H: TaskCost Task
Job: JobType
H0: JobTask Job Task
H1: JobArrival Job
H2: JobCost Job
arr_seq: arrival_sequence Job
H_valid_arrival_sequence: valid_arrival_sequence arr_seq
sched: schedule (processor_state Job)
H_jobs_come_from_arrival_sequence: jobs_come_from_arrival_sequence sched arr_seq
H_jobs_must_arrive_to_execute: jobs_must_arrive_to_execute sched
H_completed_jobs_dont_execute: completed_jobs_dont_execute sched
H3: JLFP_policy Job
H_priority_is_reflexive: reflexive_priorities
H_priority_is_transitive: transitive_priorities
tsk: Task
H_sequential_tasks: sequential_tasks arr_seq sched
H_JLFP_respects_sequential_tasks: policy_respects_sequential_tasks
j: Job
H_j_arrives: arrives_in arr_seq j
t1, t: instant
H_quiet_time: quiet_time arr_seq sched j t1
x: nat
Ge: t1 <= x
Le: x < t
Idle: is_idle sched x
EqIdle: sched x = None

{in arrivals_up_to arr_seq x, (fun jhp : Job => another_hep_job jhp j && receives_service_at sched jhp x) =1 pred0}
Task: TaskType
H: TaskCost Task
Job: JobType
H0: JobTask Job Task
H1: JobArrival Job
H2: JobCost Job
arr_seq: arrival_sequence Job
H_valid_arrival_sequence: valid_arrival_sequence arr_seq
sched: schedule (processor_state Job)
H_jobs_come_from_arrival_sequence: jobs_come_from_arrival_sequence sched arr_seq
H_jobs_must_arrive_to_execute: jobs_must_arrive_to_execute sched
H_completed_jobs_dont_execute: completed_jobs_dont_execute sched
H3: JLFP_policy Job
H_priority_is_reflexive: reflexive_priorities
H_priority_is_transitive: transitive_priorities
tsk: Task
H_sequential_tasks: sequential_tasks arr_seq sched
H_JLFP_respects_sequential_tasks: policy_respects_sequential_tasks
j: Job
H_j_arrives: arrives_in arr_seq j
t1, t: instant
H_quiet_time: quiet_time arr_seq sched j t1
x: nat
Ge: t1 <= x
Le: x < t
Idle: is_idle sched x
EqIdle: sched x = None

{in arrivals_up_to arr_seq x, (fun jhp : Job => another_hep_job jhp j && receives_service_at sched jhp x) =1 pred0}
by move => j' _; apply Bool.andb_false_intro2; rewrite /receives_service_at ideal_not_idle_implies_sched. }
Task: TaskType
H: TaskCost Task
Job: JobType
H0: JobTask Job Task
H1: JobArrival Job
H2: JobCost Job
arr_seq: arrival_sequence Job
H_valid_arrival_sequence: valid_arrival_sequence arr_seq
sched: schedule (processor_state Job)
H_jobs_come_from_arrival_sequence: jobs_come_from_arrival_sequence sched arr_seq
H_jobs_must_arrive_to_execute: jobs_must_arrive_to_execute sched
H_completed_jobs_dont_execute: completed_jobs_dont_execute sched
H3: JLFP_policy Job
H_priority_is_reflexive: reflexive_priorities
H_priority_is_transitive: transitive_priorities
tsk: Task
H_sequential_tasks: sequential_tasks arr_seq sched
H_JLFP_respects_sequential_tasks: policy_respects_sequential_tasks
j: Job
H_j_arrives: arrives_in arr_seq j
t1, t: instant
H_quiet_time: quiet_time arr_seq sched j t1
x: nat
Ge: t1 <= x
Le: x < t
jo: Job
Sched_jo: scheduled_at sched jo x
EqSched_jo: #|[pred x0 | let 'FiniteQuant.Quantified F := FiniteQuant.ex (T:=Core) (, scheduled_on jo (sched x) x0) x0 x0 in F]| <> 0

has (fun jhp : Job => another_hep_job jhp j && receives_service_at sched jhp x) (arrivals_up_to arr_seq x) = \sum_(i <- arrivals_between arr_seq t1 t | another_hep_job i j) service_at sched i x
Task: TaskType
H: TaskCost Task
Job: JobType
H0: JobTask Job Task
H1: JobArrival Job
H2: JobCost Job
arr_seq: arrival_sequence Job
H_valid_arrival_sequence: valid_arrival_sequence arr_seq
sched: schedule (processor_state Job)
H_jobs_come_from_arrival_sequence: jobs_come_from_arrival_sequence sched arr_seq
H_jobs_must_arrive_to_execute: jobs_must_arrive_to_execute sched
H_completed_jobs_dont_execute: completed_jobs_dont_execute sched
H3: JLFP_policy Job
H_priority_is_reflexive: reflexive_priorities
H_priority_is_transitive: transitive_priorities
tsk: Task
H_sequential_tasks: sequential_tasks arr_seq sched
H_JLFP_respects_sequential_tasks: policy_respects_sequential_tasks
j: Job
H_j_arrives: arrives_in arr_seq j
t1, t: instant
H_quiet_time: quiet_time arr_seq sched j t1
x: nat
Ge: t1 <= x
Le: x < t
jo: Job
Sched_jo: scheduled_at sched jo x
EqSched_jo: #|[pred x0 | let 'FiniteQuant.Quantified F := FiniteQuant.ex (T:=Core) (, scheduled_on jo (sched x) x0) x0 x0 in F]| <> 0

has (fun jhp : Job => another_hep_job jhp j && receives_service_at sched jhp x) (arrivals_up_to arr_seq x) = \sum_(i <- arrivals_between arr_seq t1 t | another_hep_job i j) service_at sched i x
Task: TaskType
H: TaskCost Task
Job: JobType
H0: JobTask Job Task
H1: JobArrival Job
H2: JobCost Job
arr_seq: arrival_sequence Job
H_valid_arrival_sequence: valid_arrival_sequence arr_seq
sched: schedule (processor_state Job)
H_jobs_come_from_arrival_sequence: jobs_come_from_arrival_sequence sched arr_seq
H_jobs_must_arrive_to_execute: jobs_must_arrive_to_execute sched
H_completed_jobs_dont_execute: completed_jobs_dont_execute sched
H3: JLFP_policy Job
H_priority_is_reflexive: reflexive_priorities
H_priority_is_transitive: transitive_priorities
tsk: Task
H_sequential_tasks: sequential_tasks arr_seq sched
H_JLFP_respects_sequential_tasks: policy_respects_sequential_tasks
j: Job
H_j_arrives: arrives_in arr_seq j
t1, t: instant
H_quiet_time: quiet_time arr_seq sched j t1
x: nat
Ge: t1 <= x
Le: x < t
jo: Job
Sched_jo: scheduled_at sched jo x
EqSched_jo: #|[pred x0 | let 'FiniteQuant.Quantified F := FiniteQuant.ex (T:=Core) (, scheduled_on jo (sched x) x0) x0 x0 in F]| <> 0
ARRIN: arrives_in arr_seq jo

has (fun jhp : Job => another_hep_job jhp j && receives_service_at sched jhp x) (arrivals_up_to arr_seq x) = \sum_(i <- arrivals_between arr_seq t1 t | another_hep_job i j) service_at sched i x
Task: TaskType
H: TaskCost Task
Job: JobType
H0: JobTask Job Task
H1: JobArrival Job
H2: JobCost Job
arr_seq: arrival_sequence Job
H_valid_arrival_sequence: valid_arrival_sequence arr_seq
sched: schedule (processor_state Job)
H_jobs_come_from_arrival_sequence: jobs_come_from_arrival_sequence sched arr_seq
H_jobs_must_arrive_to_execute: jobs_must_arrive_to_execute sched
H_completed_jobs_dont_execute: completed_jobs_dont_execute sched
H3: JLFP_policy Job
H_priority_is_reflexive: reflexive_priorities
H_priority_is_transitive: transitive_priorities
tsk: Task
H_sequential_tasks: sequential_tasks arr_seq sched
H_JLFP_respects_sequential_tasks: policy_respects_sequential_tasks
j: Job
H_j_arrives: arrives_in arr_seq j
t1, t: instant
H_quiet_time: quiet_time arr_seq sched j t1
x: nat
Ge: t1 <= x
Le: x < t
jo: Job
Sched_jo: scheduled_at sched jo x
ARRIN: arrives_in arr_seq jo
PRIO: another_hep_job jo j = true

has (fun jhp : Job => another_hep_job jhp j && receives_service_at sched jhp x) (arrivals_up_to arr_seq x) = \sum_(i <- arrivals_between arr_seq t1 t | another_hep_job i j) service_at sched i x
Task: TaskType
H: TaskCost Task
Job: JobType
H0: JobTask Job Task
H1: JobArrival Job
H2: JobCost Job
arr_seq: arrival_sequence Job
H_valid_arrival_sequence: valid_arrival_sequence arr_seq
sched: schedule (processor_state Job)
H_jobs_come_from_arrival_sequence: jobs_come_from_arrival_sequence sched arr_seq
H_jobs_must_arrive_to_execute: jobs_must_arrive_to_execute sched
H_completed_jobs_dont_execute: completed_jobs_dont_execute sched
H3: JLFP_policy Job
H_priority_is_reflexive: reflexive_priorities
H_priority_is_transitive: transitive_priorities
tsk: Task
H_sequential_tasks: sequential_tasks arr_seq sched
H_JLFP_respects_sequential_tasks: policy_respects_sequential_tasks
j: Job
H_j_arrives: arrives_in arr_seq j
t1, t: instant
H_quiet_time: quiet_time arr_seq sched j t1
x: nat
Ge: t1 <= x
Le: x < t
jo: Job
Sched_jo: scheduled_at sched jo x
ARRIN: arrives_in arr_seq jo
PRIO: another_hep_job jo j = false
has (fun jhp : Job => another_hep_job jhp j && receives_service_at sched jhp x) (arrivals_up_to arr_seq x) = \sum_(i <- arrivals_between arr_seq t1 t | another_hep_job i j) service_at sched i x
Task: TaskType
H: TaskCost Task
Job: JobType
H0: JobTask Job Task
H1: JobArrival Job
H2: JobCost Job
arr_seq: arrival_sequence Job
H_valid_arrival_sequence: valid_arrival_sequence arr_seq
sched: schedule (processor_state Job)
H_jobs_come_from_arrival_sequence: jobs_come_from_arrival_sequence sched arr_seq
H_jobs_must_arrive_to_execute: jobs_must_arrive_to_execute sched
H_completed_jobs_dont_execute: completed_jobs_dont_execute sched
H3: JLFP_policy Job
H_priority_is_reflexive: reflexive_priorities
H_priority_is_transitive: transitive_priorities
tsk: Task
H_sequential_tasks: sequential_tasks arr_seq sched
H_JLFP_respects_sequential_tasks: policy_respects_sequential_tasks
j: Job
H_j_arrives: arrives_in arr_seq j
t1, t: instant
H_quiet_time: quiet_time arr_seq sched j t1
x: nat
Ge: t1 <= x
Le: x < t
jo: Job
Sched_jo: scheduled_at sched jo x
ARRIN: arrives_in arr_seq jo
PRIO: another_hep_job jo j = true

has (fun jhp : Job => another_hep_job jhp j && receives_service_at sched jhp x) (arrivals_up_to arr_seq x) = \sum_(i <- arrivals_between arr_seq t1 t | another_hep_job i j) service_at sched i x
Task: TaskType
H: TaskCost Task
Job: JobType
H0: JobTask Job Task
H1: JobArrival Job
H2: JobCost Job
arr_seq: arrival_sequence Job
H_valid_arrival_sequence: valid_arrival_sequence arr_seq
sched: schedule (processor_state Job)
H_jobs_come_from_arrival_sequence: jobs_come_from_arrival_sequence sched arr_seq
H_jobs_must_arrive_to_execute: jobs_must_arrive_to_execute sched
H_completed_jobs_dont_execute: completed_jobs_dont_execute sched
H3: JLFP_policy Job
H_priority_is_reflexive: reflexive_priorities
H_priority_is_transitive: transitive_priorities
tsk: Task
H_sequential_tasks: sequential_tasks arr_seq sched
H_JLFP_respects_sequential_tasks: policy_respects_sequential_tasks
j: Job
H_j_arrives: arrives_in arr_seq j
t1, t: instant
H_quiet_time: quiet_time arr_seq sched j t1
x: nat
Ge: t1 <= x
Le: x < t
jo: Job
Sched_jo: scheduled_at sched jo x
ARRIN: arrives_in arr_seq jo
PRIO: another_hep_job jo j = true

has (fun jhp : Job => another_hep_job jhp j && receives_service_at sched jhp x) (arrivals_up_to arr_seq x) = true
Task: TaskType
H: TaskCost Task
Job: JobType
H0: JobTask Job Task
H1: JobArrival Job
H2: JobCost Job
arr_seq: arrival_sequence Job
H_valid_arrival_sequence: valid_arrival_sequence arr_seq
sched: schedule (processor_state Job)
H_jobs_come_from_arrival_sequence: jobs_come_from_arrival_sequence sched arr_seq
H_jobs_must_arrive_to_execute: jobs_must_arrive_to_execute sched
H_completed_jobs_dont_execute: completed_jobs_dont_execute sched
H3: JLFP_policy Job
H_priority_is_reflexive: reflexive_priorities
H_priority_is_transitive: transitive_priorities
tsk: Task
H_sequential_tasks: sequential_tasks arr_seq sched
H_JLFP_respects_sequential_tasks: policy_respects_sequential_tasks
j: Job
H_j_arrives: arrives_in arr_seq j
t1, t: instant
H_quiet_time: quiet_time arr_seq sched j t1
x: nat
Ge: t1 <= x
Le: x < t
jo: Job
Sched_jo: scheduled_at sched jo x
ARRIN: arrives_in arr_seq jo
PRIO: another_hep_job jo j = true
\sum_(i <- arrivals_between arr_seq t1 t | another_hep_job i j) service_at sched i x = true
Task: TaskType
H: TaskCost Task
Job: JobType
H0: JobTask Job Task
H1: JobArrival Job
H2: JobCost Job
arr_seq: arrival_sequence Job
H_valid_arrival_sequence: valid_arrival_sequence arr_seq
sched: schedule (processor_state Job)
H_jobs_come_from_arrival_sequence: jobs_come_from_arrival_sequence sched arr_seq
H_jobs_must_arrive_to_execute: jobs_must_arrive_to_execute sched
H_completed_jobs_dont_execute: completed_jobs_dont_execute sched
H3: JLFP_policy Job
H_priority_is_reflexive: reflexive_priorities
H_priority_is_transitive: transitive_priorities
tsk: Task
H_sequential_tasks: sequential_tasks arr_seq sched
H_JLFP_respects_sequential_tasks: policy_respects_sequential_tasks
j: Job
H_j_arrives: arrives_in arr_seq j
t1, t: instant
H_quiet_time: quiet_time arr_seq sched j t1
x: nat
Ge: t1 <= x
Le: x < t
jo: Job
Sched_jo: scheduled_at sched jo x
ARRIN: arrives_in arr_seq jo
PRIO: another_hep_job jo j = true

has (fun jhp : Job => another_hep_job jhp j && receives_service_at sched jhp x) (arrivals_up_to arr_seq x) = true
Task: TaskType
H: TaskCost Task
Job: JobType
H0: JobTask Job Task
H1: JobArrival Job
H2: JobCost Job
arr_seq: arrival_sequence Job
H_valid_arrival_sequence: valid_arrival_sequence arr_seq
sched: schedule (processor_state Job)
H_jobs_come_from_arrival_sequence: jobs_come_from_arrival_sequence sched arr_seq
H_jobs_must_arrive_to_execute: jobs_must_arrive_to_execute sched
H_completed_jobs_dont_execute: completed_jobs_dont_execute sched
H3: JLFP_policy Job
H_priority_is_reflexive: reflexive_priorities
H_priority_is_transitive: transitive_priorities
tsk: Task
H_sequential_tasks: sequential_tasks arr_seq sched
H_JLFP_respects_sequential_tasks: policy_respects_sequential_tasks
j: Job
H_j_arrives: arrives_in arr_seq j
t1, t: instant
H_quiet_time: quiet_time arr_seq sched j t1
x: nat
Ge: t1 <= x
Le: x < t
jo: Job
Sched_jo: scheduled_at sched jo x
ARRIN: arrives_in arr_seq jo
PRIO: another_hep_job jo j = true

jo \in arrivals_up_to arr_seq x
Task: TaskType
H: TaskCost Task
Job: JobType
H0: JobTask Job Task
H1: JobArrival Job
H2: JobCost Job
arr_seq: arrival_sequence Job
H_valid_arrival_sequence: valid_arrival_sequence arr_seq
sched: schedule (processor_state Job)
H_jobs_come_from_arrival_sequence: jobs_come_from_arrival_sequence sched arr_seq
H_jobs_must_arrive_to_execute: jobs_must_arrive_to_execute sched
H_completed_jobs_dont_execute: completed_jobs_dont_execute sched
H3: JLFP_policy Job
H_priority_is_reflexive: reflexive_priorities
H_priority_is_transitive: transitive_priorities
tsk: Task
H_sequential_tasks: sequential_tasks arr_seq sched
H_JLFP_respects_sequential_tasks: policy_respects_sequential_tasks
j: Job
H_j_arrives: arrives_in arr_seq j
t1, t: instant
H_quiet_time: quiet_time arr_seq sched j t1
x: nat
Ge: t1 <= x
Le: x < t
jo: Job
Sched_jo: scheduled_at sched jo x
ARRIN: arrives_in arr_seq jo
PRIO: another_hep_job jo j = true
another_hep_job jo j && receives_service_at sched jo x
Task: TaskType
H: TaskCost Task
Job: JobType
H0: JobTask Job Task
H1: JobArrival Job
H2: JobCost Job
arr_seq: arrival_sequence Job
H_valid_arrival_sequence: valid_arrival_sequence arr_seq
sched: schedule (processor_state Job)
H_jobs_come_from_arrival_sequence: jobs_come_from_arrival_sequence sched arr_seq
H_jobs_must_arrive_to_execute: jobs_must_arrive_to_execute sched
H_completed_jobs_dont_execute: completed_jobs_dont_execute sched
H3: JLFP_policy Job
H_priority_is_reflexive: reflexive_priorities
H_priority_is_transitive: transitive_priorities
tsk: Task
H_sequential_tasks: sequential_tasks arr_seq sched
H_JLFP_respects_sequential_tasks: policy_respects_sequential_tasks
j: Job
H_j_arrives: arrives_in arr_seq j
t1, t: instant
H_quiet_time: quiet_time arr_seq sched j t1
x: nat
Ge: t1 <= x
Le: x < t
jo: Job
Sched_jo: scheduled_at sched jo x
ARRIN: arrives_in arr_seq jo
PRIO: another_hep_job jo j = true

jo \in arrivals_up_to arr_seq x
Task: TaskType
H: TaskCost Task
Job: JobType
H0: JobTask Job Task
H1: JobArrival Job
H2: JobCost Job
arr_seq: arrival_sequence Job
H_valid_arrival_sequence: valid_arrival_sequence arr_seq
sched: schedule (processor_state Job)
H_jobs_come_from_arrival_sequence: jobs_come_from_arrival_sequence sched arr_seq
H_jobs_must_arrive_to_execute: jobs_must_arrive_to_execute sched
H_completed_jobs_dont_execute: completed_jobs_dont_execute sched
H3: JLFP_policy Job
H_priority_is_reflexive: reflexive_priorities
H_priority_is_transitive: transitive_priorities
tsk: Task
H_sequential_tasks: sequential_tasks arr_seq sched
H_JLFP_respects_sequential_tasks: policy_respects_sequential_tasks
j: Job
H_j_arrives: arrives_in arr_seq j
t1, t: instant
H_quiet_time: quiet_time arr_seq sched j t1
x: nat
Ge: t1 <= x
Le: x < t
jo: Job
Sched_jo: scheduled_at sched jo x
ARRIN: arrives_in arr_seq jo
PRIO: another_hep_job jo j = true
another_hep_job jo j && receives_service_at sched jo x
Task: TaskType
H: TaskCost Task
Job: JobType
H0: JobTask Job Task
H1: JobArrival Job
H2: JobCost Job
arr_seq: arrival_sequence Job
H_valid_arrival_sequence: valid_arrival_sequence arr_seq
sched: schedule (processor_state Job)
H_jobs_come_from_arrival_sequence: jobs_come_from_arrival_sequence sched arr_seq
H_jobs_must_arrive_to_execute: jobs_must_arrive_to_execute sched
H_completed_jobs_dont_execute: completed_jobs_dont_execute sched
H3: JLFP_policy Job
H_priority_is_reflexive: reflexive_priorities
H_priority_is_transitive: transitive_priorities
tsk: Task
H_sequential_tasks: sequential_tasks arr_seq sched
H_JLFP_respects_sequential_tasks: policy_respects_sequential_tasks
j: Job
H_j_arrives: arrives_in arr_seq j
t1, t: instant
H_quiet_time: quiet_time arr_seq sched j t1
x: nat
Ge: t1 <= x
Le: x < t
jo: Job
Sched_jo: scheduled_at sched jo x
ARRIN: arrives_in arr_seq jo
PRIO: another_hep_job jo j = true

arrived_between jo 0 x.+1
Task: TaskType
H: TaskCost Task
Job: JobType
H0: JobTask Job Task
H1: JobArrival Job
H2: JobCost Job
arr_seq: arrival_sequence Job
H_valid_arrival_sequence: valid_arrival_sequence arr_seq
sched: schedule (processor_state Job)
H_jobs_come_from_arrival_sequence: jobs_come_from_arrival_sequence sched arr_seq
H_jobs_must_arrive_to_execute: jobs_must_arrive_to_execute sched
H_completed_jobs_dont_execute: completed_jobs_dont_execute sched
H3: JLFP_policy Job
H_priority_is_reflexive: reflexive_priorities
H_priority_is_transitive: transitive_priorities
tsk: Task
H_sequential_tasks: sequential_tasks arr_seq sched
H_JLFP_respects_sequential_tasks: policy_respects_sequential_tasks
j: Job
H_j_arrives: arrives_in arr_seq j
t1, t: instant
H_quiet_time: quiet_time arr_seq sched j t1
x: nat
Ge: t1 <= x
Le: x < t
jo: Job
Sched_jo: scheduled_at sched jo x
ARRIN: arrives_in arr_seq jo
PRIO: another_hep_job jo j = true
another_hep_job jo j && receives_service_at sched jo x
Task: TaskType
H: TaskCost Task
Job: JobType
H0: JobTask Job Task
H1: JobArrival Job
H2: JobCost Job
arr_seq: arrival_sequence Job
H_valid_arrival_sequence: valid_arrival_sequence arr_seq
sched: schedule (processor_state Job)
H_jobs_come_from_arrival_sequence: jobs_come_from_arrival_sequence sched arr_seq
H_jobs_must_arrive_to_execute: jobs_must_arrive_to_execute sched
H_completed_jobs_dont_execute: completed_jobs_dont_execute sched
H3: JLFP_policy Job
H_priority_is_reflexive: reflexive_priorities
H_priority_is_transitive: transitive_priorities
tsk: Task
H_sequential_tasks: sequential_tasks arr_seq sched
H_JLFP_respects_sequential_tasks: policy_respects_sequential_tasks
j: Job
H_j_arrives: arrives_in arr_seq j
t1, t: instant
H_quiet_time: quiet_time arr_seq sched j t1
x: nat
Ge: t1 <= x
Le: x < t
jo: Job
Sched_jo: scheduled_at sched jo x
ARRIN: arrives_in arr_seq jo
PRIO: another_hep_job jo j = true

another_hep_job jo j && receives_service_at sched jo x
Task: TaskType
H: TaskCost Task
Job: JobType
H0: JobTask Job Task
H1: JobArrival Job
H2: JobCost Job
arr_seq: arrival_sequence Job
H_valid_arrival_sequence: valid_arrival_sequence arr_seq
sched: schedule (processor_state Job)
H_jobs_come_from_arrival_sequence: jobs_come_from_arrival_sequence sched arr_seq
H_jobs_must_arrive_to_execute: jobs_must_arrive_to_execute sched
H_completed_jobs_dont_execute: completed_jobs_dont_execute sched
H3: JLFP_policy Job
H_priority_is_reflexive: reflexive_priorities
H_priority_is_transitive: transitive_priorities
tsk: Task
H_sequential_tasks: sequential_tasks arr_seq sched
H_JLFP_respects_sequential_tasks: policy_respects_sequential_tasks
j: Job
H_j_arrives: arrives_in arr_seq j
t1, t: instant
H_quiet_time: quiet_time arr_seq sched j t1
x: nat
Ge: t1 <= x
Le: x < t
jo: Job
Sched_jo: scheduled_at sched jo x
ARRIN: arrives_in arr_seq jo
PRIO: another_hep_job jo j = true

another_hep_job jo j && receives_service_at sched jo x
by rewrite PRIO //= /receives_service_at service_at_is_scheduled_at Sched_jo.
Task: TaskType
H: TaskCost Task
Job: JobType
H0: JobTask Job Task
H1: JobArrival Job
H2: JobCost Job
arr_seq: arrival_sequence Job
H_valid_arrival_sequence: valid_arrival_sequence arr_seq
sched: schedule (processor_state Job)
H_jobs_come_from_arrival_sequence: jobs_come_from_arrival_sequence sched arr_seq
H_jobs_must_arrive_to_execute: jobs_must_arrive_to_execute sched
H_completed_jobs_dont_execute: completed_jobs_dont_execute sched
H3: JLFP_policy Job
H_priority_is_reflexive: reflexive_priorities
H_priority_is_transitive: transitive_priorities
tsk: Task
H_sequential_tasks: sequential_tasks arr_seq sched
H_JLFP_respects_sequential_tasks: policy_respects_sequential_tasks
j: Job
H_j_arrives: arrives_in arr_seq j
t1, t: instant
H_quiet_time: quiet_time arr_seq sched j t1
x: nat
Ge: t1 <= x
Le: x < t
jo: Job
Sched_jo: scheduled_at sched jo x
ARRIN: arrives_in arr_seq jo
PRIO: another_hep_job jo j = true

\sum_(i <- arrivals_between arr_seq t1 t | another_hep_job i j) service_at sched i x = true
Task: TaskType
H: TaskCost Task
Job: JobType
H0: JobTask Job Task
H1: JobArrival Job
H2: JobCost Job
arr_seq: arrival_sequence Job
H_valid_arrival_sequence: valid_arrival_sequence arr_seq
sched: schedule (processor_state Job)
H_jobs_come_from_arrival_sequence: jobs_come_from_arrival_sequence sched arr_seq
H_jobs_must_arrive_to_execute: jobs_must_arrive_to_execute sched
H_completed_jobs_dont_execute: completed_jobs_dont_execute sched
H3: JLFP_policy Job
H_priority_is_reflexive: reflexive_priorities
H_priority_is_transitive: transitive_priorities
tsk: Task
H_sequential_tasks: sequential_tasks arr_seq sched
H_JLFP_respects_sequential_tasks: policy_respects_sequential_tasks
j: Job
H_j_arrives: arrives_in arr_seq j
t1, t: instant
H_quiet_time: quiet_time arr_seq sched j t1
x: nat
Ge: t1 <= x
Le: x < t
jo: Job
Sched_jo: scheduled_at sched jo x
ARRIN: arrives_in arr_seq jo
PRIO: another_hep_job jo j = true

\sum_(i <- arrivals_between arr_seq t1 t | another_hep_job i j) service_at sched i x = true
Task: TaskType
H: TaskCost Task
Job: JobType
H0: JobTask Job Task
H1: JobArrival Job
H2: JobCost Job
arr_seq: arrival_sequence Job
H_valid_arrival_sequence: valid_arrival_sequence arr_seq
sched: schedule (processor_state Job)
H_jobs_come_from_arrival_sequence: jobs_come_from_arrival_sequence sched arr_seq
H_jobs_must_arrive_to_execute: jobs_must_arrive_to_execute sched
H_completed_jobs_dont_execute: completed_jobs_dont_execute sched
H3: JLFP_policy Job
H_priority_is_reflexive: reflexive_priorities
H_priority_is_transitive: transitive_priorities
tsk: Task
H_sequential_tasks: sequential_tasks arr_seq sched
H_JLFP_respects_sequential_tasks: policy_respects_sequential_tasks
j: Job
H_j_arrives: arrives_in arr_seq j
t1, t: instant
H_quiet_time: quiet_time arr_seq sched j t1
x: nat
Ge: t1 <= x
Le: x < t
jo: Job
Sched_jo: scheduled_at sched jo x
ARRIN: arrives_in arr_seq jo
PRIO: another_hep_job jo j = true

\sum_(i <- arrivals_between arr_seq t1 t | another_hep_job i j) service_at sched i x <= true
Task: TaskType
H: TaskCost Task
Job: JobType
H0: JobTask Job Task
H1: JobArrival Job
H2: JobCost Job
arr_seq: arrival_sequence Job
H_valid_arrival_sequence: valid_arrival_sequence arr_seq
sched: schedule (processor_state Job)
H_jobs_come_from_arrival_sequence: jobs_come_from_arrival_sequence sched arr_seq
H_jobs_must_arrive_to_execute: jobs_must_arrive_to_execute sched
H_completed_jobs_dont_execute: completed_jobs_dont_execute sched
H3: JLFP_policy Job
H_priority_is_reflexive: reflexive_priorities
H_priority_is_transitive: transitive_priorities
tsk: Task
H_sequential_tasks: sequential_tasks arr_seq sched
H_JLFP_respects_sequential_tasks: policy_respects_sequential_tasks
j: Job
H_j_arrives: arrives_in arr_seq j
t1, t: instant
H_quiet_time: quiet_time arr_seq sched j t1
x: nat
Ge: t1 <= x
Le: x < t
jo: Job
Sched_jo: scheduled_at sched jo x
ARRIN: arrives_in arr_seq jo
PRIO: another_hep_job jo j = true
true <= \sum_(i <- arrivals_between arr_seq t1 t | another_hep_job i j) service_at sched i x
Task: TaskType
H: TaskCost Task
Job: JobType
H0: JobTask Job Task
H1: JobArrival Job
H2: JobCost Job
arr_seq: arrival_sequence Job
H_valid_arrival_sequence: valid_arrival_sequence arr_seq
sched: schedule (processor_state Job)
H_jobs_come_from_arrival_sequence: jobs_come_from_arrival_sequence sched arr_seq
H_jobs_must_arrive_to_execute: jobs_must_arrive_to_execute sched
H_completed_jobs_dont_execute: completed_jobs_dont_execute sched
H3: JLFP_policy Job
H_priority_is_reflexive: reflexive_priorities
H_priority_is_transitive: transitive_priorities
tsk: Task
H_sequential_tasks: sequential_tasks arr_seq sched
H_JLFP_respects_sequential_tasks: policy_respects_sequential_tasks
j: Job
H_j_arrives: arrives_in arr_seq j
t1, t: instant
H_quiet_time: quiet_time arr_seq sched j t1
x: nat
Ge: t1 <= x
Le: x < t
jo: Job
Sched_jo: scheduled_at sched jo x
ARRIN: arrives_in arr_seq jo
PRIO: another_hep_job jo j = true

\sum_(i <- arrivals_between arr_seq t1 t | another_hep_job i j) service_at sched i x <= true
Task: TaskType
H: TaskCost Task
Job: JobType
H0: JobTask Job Task
H1: JobArrival Job
H2: JobCost Job
arr_seq: arrival_sequence Job
H_valid_arrival_sequence: valid_arrival_sequence arr_seq
sched: schedule (processor_state Job)
H_jobs_come_from_arrival_sequence: jobs_come_from_arrival_sequence sched arr_seq
H_jobs_must_arrive_to_execute: jobs_must_arrive_to_execute sched
H_completed_jobs_dont_execute: completed_jobs_dont_execute sched
H3: JLFP_policy Job
H_priority_is_reflexive: reflexive_priorities
H_priority_is_transitive: transitive_priorities
tsk: Task
H_sequential_tasks: sequential_tasks arr_seq sched
H_JLFP_respects_sequential_tasks: policy_respects_sequential_tasks
j: Job
H_j_arrives: arrives_in arr_seq j
t1, t: instant
H_quiet_time: quiet_time arr_seq sched j t1
x: nat
Ge: t1 <= x
Le: x < t
jo: Job
Sched_jo: scheduled_at sched jo x
ARRIN: arrives_in arr_seq jo
PRIO: another_hep_job jo j = true
true <= \sum_(i <- arrivals_between arr_seq t1 t | another_hep_job i j) service_at sched i x
Task: TaskType
H: TaskCost Task
Job: JobType
H0: JobTask Job Task
H1: JobArrival Job
H2: JobCost Job
arr_seq: arrival_sequence Job
H_valid_arrival_sequence: valid_arrival_sequence arr_seq
sched: schedule (processor_state Job)
H_jobs_come_from_arrival_sequence: jobs_come_from_arrival_sequence sched arr_seq
H_jobs_must_arrive_to_execute: jobs_must_arrive_to_execute sched
H_completed_jobs_dont_execute: completed_jobs_dont_execute sched
H3: JLFP_policy Job
H_priority_is_reflexive: reflexive_priorities
H_priority_is_transitive: transitive_priorities
tsk: Task
H_sequential_tasks: sequential_tasks arr_seq sched
H_JLFP_respects_sequential_tasks: policy_respects_sequential_tasks
j: Job
H_j_arrives: arrives_in arr_seq j
t1, t: instant
H_quiet_time: quiet_time arr_seq sched j t1
x: nat
Ge: t1 <= x
Le: x < t
jo: Job
Sched_jo: scheduled_at sched jo x
ARRIN: arrives_in arr_seq jo
PRIO: another_hep_job jo j = true

true <= \sum_(i <- arrivals_between arr_seq t1 t | another_hep_job i j) service_at sched i x
Task: TaskType
H: TaskCost Task
Job: JobType
H0: JobTask Job Task
H1: JobArrival Job
H2: JobCost Job
arr_seq: arrival_sequence Job
H_valid_arrival_sequence: valid_arrival_sequence arr_seq
sched: schedule (processor_state Job)
H_jobs_come_from_arrival_sequence: jobs_come_from_arrival_sequence sched arr_seq
H_jobs_must_arrive_to_execute: jobs_must_arrive_to_execute sched
H_completed_jobs_dont_execute: completed_jobs_dont_execute sched
H3: JLFP_policy Job
H_priority_is_reflexive: reflexive_priorities
H_priority_is_transitive: transitive_priorities
tsk: Task
H_sequential_tasks: sequential_tasks arr_seq sched
H_JLFP_respects_sequential_tasks: policy_respects_sequential_tasks
j: Job
H_j_arrives: arrives_in arr_seq j
t1, t: instant
H_quiet_time: quiet_time arr_seq sched j t1
x: nat
Ge: t1 <= x
Le: x < t
jo: Job
Sched_jo: scheduled_at sched jo x
ARRIN: arrives_in arr_seq jo
PRIO: another_hep_job jo j = true

true <= \sum_(i <- arrivals_between arr_seq t1 t | another_hep_job i j) service_at sched i x
Task: TaskType
H: TaskCost Task
Job: JobType
H0: JobTask Job Task
H1: JobArrival Job
H2: JobCost Job
arr_seq: arrival_sequence Job
H_valid_arrival_sequence: valid_arrival_sequence arr_seq
sched: schedule (processor_state Job)
H_jobs_come_from_arrival_sequence: jobs_come_from_arrival_sequence sched arr_seq
H_jobs_must_arrive_to_execute: jobs_must_arrive_to_execute sched
H_completed_jobs_dont_execute: completed_jobs_dont_execute sched
H3: JLFP_policy Job
H_priority_is_reflexive: reflexive_priorities
H_priority_is_transitive: transitive_priorities
tsk: Task
H_sequential_tasks: sequential_tasks arr_seq sched
H_JLFP_respects_sequential_tasks: policy_respects_sequential_tasks
j: Job
H_j_arrives: arrives_in arr_seq j
t1, t: instant
H_quiet_time: quiet_time arr_seq sched j t1
x: nat
Ge: t1 <= x
Le: x < t
jo: Job
Sched_jo: scheduled_at sched jo x
ARRIN: arrives_in arr_seq jo
PRIO: another_hep_job jo j = true

jo \in [seq x <- arrivals_between arr_seq t1 t | another_hep_job x j]
Task: TaskType
H: TaskCost Task
Job: JobType
H0: JobTask Job Task
H1: JobArrival Job
H2: JobCost Job
arr_seq: arrival_sequence Job
H_valid_arrival_sequence: valid_arrival_sequence arr_seq
sched: schedule (processor_state Job)
H_jobs_come_from_arrival_sequence: jobs_come_from_arrival_sequence sched arr_seq
H_jobs_must_arrive_to_execute: jobs_must_arrive_to_execute sched
H_completed_jobs_dont_execute: completed_jobs_dont_execute sched
H3: JLFP_policy Job
H_priority_is_reflexive: reflexive_priorities
H_priority_is_transitive: transitive_priorities
tsk: Task
H_sequential_tasks: sequential_tasks arr_seq sched
H_JLFP_respects_sequential_tasks: policy_respects_sequential_tasks
j: Job
H_j_arrives: arrives_in arr_seq j
t1, t: instant
H_quiet_time: quiet_time arr_seq sched j t1
x: nat
Ge: t1 <= x
Le: x < t
jo: Job
Sched_jo: scheduled_at sched jo x
ARRIN: arrives_in arr_seq jo
PRIO: another_hep_job jo j = true

arrived_between jo t1 t
Task: TaskType
H: TaskCost Task
Job: JobType
H0: JobTask Job Task
H1: JobArrival Job
H2: JobCost Job
arr_seq: arrival_sequence Job
H_valid_arrival_sequence: valid_arrival_sequence arr_seq
sched: schedule (processor_state Job)
H_jobs_come_from_arrival_sequence: jobs_come_from_arrival_sequence sched arr_seq
H_jobs_must_arrive_to_execute: jobs_must_arrive_to_execute sched
H_completed_jobs_dont_execute: completed_jobs_dont_execute sched
H3: JLFP_policy Job
H_priority_is_reflexive: reflexive_priorities
H_priority_is_transitive: transitive_priorities
tsk: Task
H_sequential_tasks: sequential_tasks arr_seq sched
H_JLFP_respects_sequential_tasks: policy_respects_sequential_tasks
j: Job
H_j_arrives: arrives_in arr_seq j
t1, t: instant
H_quiet_time: quiet_time arr_seq sched j t1
x: nat
Ge: t1 <= x
Le: x < t
jo: Job
Sched_jo: scheduled_at sched jo x
ARRIN: arrives_in arr_seq jo
PRIO: another_hep_job jo j = true
GE: t <= job_arrival jo

False
Task: TaskType
H: TaskCost Task
Job: JobType
H0: JobTask Job Task
H1: JobArrival Job
H2: JobCost Job
arr_seq: arrival_sequence Job
H_valid_arrival_sequence: valid_arrival_sequence arr_seq
sched: schedule (processor_state Job)
H_jobs_come_from_arrival_sequence: jobs_come_from_arrival_sequence sched arr_seq
H_jobs_must_arrive_to_execute: jobs_must_arrive_to_execute sched
H_completed_jobs_dont_execute: completed_jobs_dont_execute sched
H3: JLFP_policy Job
H_priority_is_reflexive: reflexive_priorities
H_priority_is_transitive: transitive_priorities
tsk: Task
H_sequential_tasks: sequential_tasks arr_seq sched
H_JLFP_respects_sequential_tasks: policy_respects_sequential_tasks
j: Job
H_j_arrives: arrives_in arr_seq j
t1, t: instant
H_quiet_time: quiet_time arr_seq sched j t1
x: nat
Ge: t1 <= x
Le: x < t
jo: Job
Sched_jo: scheduled_at sched jo x
ARRIN: arrives_in arr_seq jo
PRIO: another_hep_job jo j = true
LT: job_arrival jo < t1
False
Task: TaskType
H: TaskCost Task
Job: JobType
H0: JobTask Job Task
H1: JobArrival Job
H2: JobCost Job
arr_seq: arrival_sequence Job
H_valid_arrival_sequence: valid_arrival_sequence arr_seq
sched: schedule (processor_state Job)
H_jobs_come_from_arrival_sequence: jobs_come_from_arrival_sequence sched arr_seq
H_jobs_must_arrive_to_execute: jobs_must_arrive_to_execute sched
H_completed_jobs_dont_execute: completed_jobs_dont_execute sched
H3: JLFP_policy Job
H_priority_is_reflexive: reflexive_priorities
H_priority_is_transitive: transitive_priorities
tsk: Task
H_sequential_tasks: sequential_tasks arr_seq sched
H_JLFP_respects_sequential_tasks: policy_respects_sequential_tasks
j: Job
H_j_arrives: arrives_in arr_seq j
t1, t: instant
H_quiet_time: quiet_time arr_seq sched j t1
x: nat
Ge: t1 <= x
Le: x < t
jo: Job
Sched_jo: scheduled_at sched jo x
ARRIN: arrives_in arr_seq jo
PRIO: another_hep_job jo j = true
GE: t <= job_arrival jo

False
Task: TaskType
H: TaskCost Task
Job: JobType
H0: JobTask Job Task
H1: JobArrival Job
H2: JobCost Job
arr_seq: arrival_sequence Job
H_valid_arrival_sequence: valid_arrival_sequence arr_seq
sched: schedule (processor_state Job)
H_jobs_come_from_arrival_sequence: jobs_come_from_arrival_sequence sched arr_seq
H_jobs_must_arrive_to_execute: jobs_must_arrive_to_execute sched
H_completed_jobs_dont_execute: completed_jobs_dont_execute sched
H3: JLFP_policy Job
H_priority_is_reflexive: reflexive_priorities
H_priority_is_transitive: transitive_priorities
tsk: Task
H_sequential_tasks: sequential_tasks arr_seq sched
H_JLFP_respects_sequential_tasks: policy_respects_sequential_tasks
j: Job
H_j_arrives: arrives_in arr_seq j
t1, t: instant
H_quiet_time: quiet_time arr_seq sched j t1
x: nat
Ge: t1 <= x
Le: x < t
jo: Job
Sched_jo: scheduled_at sched jo x
ARRIN: arrives_in arr_seq jo
PRIO: another_hep_job jo j = true
LT: job_arrival jo < t1
False
Task: TaskType
H: TaskCost Task
Job: JobType
H0: JobTask Job Task
H1: JobArrival Job
H2: JobCost Job
arr_seq: arrival_sequence Job
H_valid_arrival_sequence: valid_arrival_sequence arr_seq
sched: schedule (processor_state Job)
H_jobs_come_from_arrival_sequence: jobs_come_from_arrival_sequence sched arr_seq
H_jobs_must_arrive_to_execute: jobs_must_arrive_to_execute sched
H_completed_jobs_dont_execute: completed_jobs_dont_execute sched
H3: JLFP_policy Job
H_priority_is_reflexive: reflexive_priorities
H_priority_is_transitive: transitive_priorities
tsk: Task
H_sequential_tasks: sequential_tasks arr_seq sched
H_JLFP_respects_sequential_tasks: policy_respects_sequential_tasks
j: Job
H_j_arrives: arrives_in arr_seq j
t1, t: instant
H_quiet_time: quiet_time arr_seq sched j t1
x: nat
Ge: t1 <= x
Le: x < t
jo: Job
Sched_jo: scheduled_at sched jo x
ARRIN: arrives_in arr_seq jo
PRIO: another_hep_job jo j = true
LT: job_arrival jo < t1

False
Task: TaskType
H: TaskCost Task
Job: JobType
H0: JobTask Job Task
H1: JobArrival Job
H2: JobCost Job
arr_seq: arrival_sequence Job
H_valid_arrival_sequence: valid_arrival_sequence arr_seq
sched: schedule (processor_state Job)
H_jobs_come_from_arrival_sequence: jobs_come_from_arrival_sequence sched arr_seq
H_jobs_must_arrive_to_execute: jobs_must_arrive_to_execute sched
H_completed_jobs_dont_execute: completed_jobs_dont_execute sched
H3: JLFP_policy Job
H_priority_is_reflexive: reflexive_priorities
H_priority_is_transitive: transitive_priorities
tsk: Task
H_sequential_tasks: sequential_tasks arr_seq sched
H_JLFP_respects_sequential_tasks: policy_respects_sequential_tasks
j: Job
H_j_arrives: arrives_in arr_seq j
t1, t: instant
H_quiet_time: quiet_time arr_seq sched j t1
x: nat
Ge: t1 <= x
Le: x < t
jo: Job
Sched_jo: scheduled_at sched jo x
ARRIN: arrives_in arr_seq jo
PRIO: another_hep_job jo j = true
LT: job_arrival jo < t1

False
Task: TaskType
H: TaskCost Task
Job: JobType
H0: JobTask Job Task
H1: JobArrival Job
H2: JobCost Job
arr_seq: arrival_sequence Job
H_valid_arrival_sequence: valid_arrival_sequence arr_seq
sched: schedule (processor_state Job)
H_jobs_come_from_arrival_sequence: jobs_come_from_arrival_sequence sched arr_seq
H_jobs_must_arrive_to_execute: jobs_must_arrive_to_execute sched
H_completed_jobs_dont_execute: completed_jobs_dont_execute sched
H3: JLFP_policy Job
H_priority_is_reflexive: reflexive_priorities
H_priority_is_transitive: transitive_priorities
tsk: Task
H_sequential_tasks: sequential_tasks arr_seq sched
H_JLFP_respects_sequential_tasks: policy_respects_sequential_tasks
j: Job
H_j_arrives: arrives_in arr_seq j
t1, t: instant
H_quiet_time: quiet_time arr_seq sched j t1
x: nat
Ge: t1 <= x
Le: x < t
jo: Job
ARRIN: arrives_in arr_seq jo
PRIO: another_hep_job jo j = true
LT: job_arrival jo < t1

~~ scheduled_at sched jo x
Task: TaskType
H: TaskCost Task
Job: JobType
H0: JobTask Job Task
H1: JobArrival Job
H2: JobCost Job
arr_seq: arrival_sequence Job
H_valid_arrival_sequence: valid_arrival_sequence arr_seq
sched: schedule (processor_state Job)
H_jobs_come_from_arrival_sequence: jobs_come_from_arrival_sequence sched arr_seq
H_jobs_must_arrive_to_execute: jobs_must_arrive_to_execute sched
H_completed_jobs_dont_execute: completed_jobs_dont_execute sched
H3: JLFP_policy Job
H_priority_is_reflexive: reflexive_priorities
H_priority_is_transitive: transitive_priorities
tsk: Task
H_sequential_tasks: sequential_tasks arr_seq sched
H_JLFP_respects_sequential_tasks: policy_respects_sequential_tasks
j: Job
H_j_arrives: arrives_in arr_seq j
t1, t: instant
H_quiet_time: quiet_time arr_seq sched j t1
x: nat
Ge: t1 <= x
Le: x < t
jo: Job
ARRIN: arrives_in arr_seq jo
PRIO: another_hep_job jo j = true
LT: job_arrival jo < t1

hep_job jo j
by move: PRIO => /andP [PRIO _]. }
Task: TaskType
H: TaskCost Task
Job: JobType
H0: JobTask Job Task
H1: JobArrival Job
H2: JobCost Job
arr_seq: arrival_sequence Job
H_valid_arrival_sequence: valid_arrival_sequence arr_seq
sched: schedule (processor_state Job)
H_jobs_come_from_arrival_sequence: jobs_come_from_arrival_sequence sched arr_seq
H_jobs_must_arrive_to_execute: jobs_must_arrive_to_execute sched
H_completed_jobs_dont_execute: completed_jobs_dont_execute sched
H3: JLFP_policy Job
H_priority_is_reflexive: reflexive_priorities
H_priority_is_transitive: transitive_priorities
tsk: Task
H_sequential_tasks: sequential_tasks arr_seq sched
H_JLFP_respects_sequential_tasks: policy_respects_sequential_tasks
j: Job
H_j_arrives: arrives_in arr_seq j
t1, t: instant
H_quiet_time: quiet_time arr_seq sched j t1
x: nat
Ge: t1 <= x
Le: x < t
jo: Job
Sched_jo: scheduled_at sched jo x
ARRIN: arrives_in arr_seq jo
PRIO: another_hep_job jo j = false

has (fun jhp : Job => another_hep_job jhp j && receives_service_at sched jhp x) (arrivals_up_to arr_seq x) = \sum_(i <- arrivals_between arr_seq t1 t | another_hep_job i j) service_at sched i x
Task: TaskType
H: TaskCost Task
Job: JobType
H0: JobTask Job Task
H1: JobArrival Job
H2: JobCost Job
arr_seq: arrival_sequence Job
H_valid_arrival_sequence: valid_arrival_sequence arr_seq
sched: schedule (processor_state Job)
H_jobs_come_from_arrival_sequence: jobs_come_from_arrival_sequence sched arr_seq
H_jobs_must_arrive_to_execute: jobs_must_arrive_to_execute sched
H_completed_jobs_dont_execute: completed_jobs_dont_execute sched
H3: JLFP_policy Job
H_priority_is_reflexive: reflexive_priorities
H_priority_is_transitive: transitive_priorities
tsk: Task
H_sequential_tasks: sequential_tasks arr_seq sched
H_JLFP_respects_sequential_tasks: policy_respects_sequential_tasks
j: Job
H_j_arrives: arrives_in arr_seq j
t1, t: instant
H_quiet_time: quiet_time arr_seq sched j t1
x: nat
Ge: t1 <= x
Le: x < t
jo: Job
Sched_jo: scheduled_at sched jo x
ARRIN: arrives_in arr_seq jo
PRIO: another_hep_job jo j = false

has (fun jhp : Job => another_hep_job jhp j && receives_service_at sched jhp x) (arrivals_up_to arr_seq x) = \sum_(i <- arrivals_between arr_seq t1 t | another_hep_job i j) service_at sched i x
Task: TaskType
H: TaskCost Task
Job: JobType
H0: JobTask Job Task
H1: JobArrival Job
H2: JobCost Job
arr_seq: arrival_sequence Job
H_valid_arrival_sequence: valid_arrival_sequence arr_seq
sched: schedule (processor_state Job)
H_jobs_come_from_arrival_sequence: jobs_come_from_arrival_sequence sched arr_seq
H_jobs_must_arrive_to_execute: jobs_must_arrive_to_execute sched
H_completed_jobs_dont_execute: completed_jobs_dont_execute sched
H3: JLFP_policy Job
H_priority_is_reflexive: reflexive_priorities
H_priority_is_transitive: transitive_priorities
tsk: Task
H_sequential_tasks: sequential_tasks arr_seq sched
H_JLFP_respects_sequential_tasks: policy_respects_sequential_tasks
j: Job
H_j_arrives: arrives_in arr_seq j
t1, t: instant
H_quiet_time: quiet_time arr_seq sched j t1
x: nat
Ge: t1 <= x
Le: x < t
jo: Job
Sched_jo: scheduled_at sched jo x
ARRIN: arrives_in arr_seq jo
PRIO: another_hep_job jo j = false

\sum_(i <- arrivals_between arr_seq t1 t | another_hep_job i j) service_at sched i x = false
Task: TaskType
H: TaskCost Task
Job: JobType
H0: JobTask Job Task
H1: JobArrival Job
H2: JobCost Job
arr_seq: arrival_sequence Job
H_valid_arrival_sequence: valid_arrival_sequence arr_seq
sched: schedule (processor_state Job)
H_jobs_come_from_arrival_sequence: jobs_come_from_arrival_sequence sched arr_seq
H_jobs_must_arrive_to_execute: jobs_must_arrive_to_execute sched
H_completed_jobs_dont_execute: completed_jobs_dont_execute sched
H3: JLFP_policy Job
H_priority_is_reflexive: reflexive_priorities
H_priority_is_transitive: transitive_priorities
tsk: Task
H_sequential_tasks: sequential_tasks arr_seq sched
H_JLFP_respects_sequential_tasks: policy_respects_sequential_tasks
j: Job
H_j_arrives: arrives_in arr_seq j
t1, t: instant
H_quiet_time: quiet_time arr_seq sched j t1
x: nat
Ge: t1 <= x
Le: x < t
jo: Job
Sched_jo: scheduled_at sched jo x
ARRIN: arrives_in arr_seq jo
PRIO: another_hep_job jo j = false
{in arrivals_up_to arr_seq x, (fun jhp : Job => another_hep_job jhp j && receives_service_at sched jhp x) =1 pred0}
Task: TaskType
H: TaskCost Task
Job: JobType
H0: JobTask Job Task
H1: JobArrival Job
H2: JobCost Job
arr_seq: arrival_sequence Job
H_valid_arrival_sequence: valid_arrival_sequence arr_seq
sched: schedule (processor_state Job)
H_jobs_come_from_arrival_sequence: jobs_come_from_arrival_sequence sched arr_seq
H_jobs_must_arrive_to_execute: jobs_must_arrive_to_execute sched
H_completed_jobs_dont_execute: completed_jobs_dont_execute sched
H3: JLFP_policy Job
H_priority_is_reflexive: reflexive_priorities
H_priority_is_transitive: transitive_priorities
tsk: Task
H_sequential_tasks: sequential_tasks arr_seq sched
H_JLFP_respects_sequential_tasks: policy_respects_sequential_tasks
j: Job
H_j_arrives: arrives_in arr_seq j
t1, t: instant
H_quiet_time: quiet_time arr_seq sched j t1
x: nat
Ge: t1 <= x
Le: x < t
jo: Job
Sched_jo: scheduled_at sched jo x
ARRIN: arrives_in arr_seq jo
PRIO: another_hep_job jo j = false

\sum_(i <- arrivals_between arr_seq t1 t | another_hep_job i j) service_at sched i x = false
Task: TaskType
H: TaskCost Task
Job: JobType
H0: JobTask Job Task
H1: JobArrival Job
H2: JobCost Job
arr_seq: arrival_sequence Job
H_valid_arrival_sequence: valid_arrival_sequence arr_seq
sched: schedule (processor_state Job)
H_jobs_come_from_arrival_sequence: jobs_come_from_arrival_sequence sched arr_seq
H_jobs_must_arrive_to_execute: jobs_must_arrive_to_execute sched
H_completed_jobs_dont_execute: completed_jobs_dont_execute sched
H3: JLFP_policy Job
H_priority_is_reflexive: reflexive_priorities
H_priority_is_transitive: transitive_priorities
tsk: Task
H_sequential_tasks: sequential_tasks arr_seq sched
H_JLFP_respects_sequential_tasks: policy_respects_sequential_tasks
j: Job
H_j_arrives: arrives_in arr_seq j
t1, t: instant
H_quiet_time: quiet_time arr_seq sched j t1
x: nat
Ge: t1 <= x
Le: x < t
jo: Job
Sched_jo: scheduled_at sched jo x
ARRIN: arrives_in arr_seq jo
PRIO: another_hep_job jo j = false
{in arrivals_up_to arr_seq x, (fun jhp : Job => another_hep_job jhp j && receives_service_at sched jhp x) =1 pred0}
Task: TaskType
H: TaskCost Task
Job: JobType
H0: JobTask Job Task
H1: JobArrival Job
H2: JobCost Job
arr_seq: arrival_sequence Job
H_valid_arrival_sequence: valid_arrival_sequence arr_seq
sched: schedule (processor_state Job)
H_jobs_come_from_arrival_sequence: jobs_come_from_arrival_sequence sched arr_seq
H_jobs_must_arrive_to_execute: jobs_must_arrive_to_execute sched
H_completed_jobs_dont_execute: completed_jobs_dont_execute sched
H3: JLFP_policy Job
H_priority_is_reflexive: reflexive_priorities
H_priority_is_transitive: transitive_priorities
tsk: Task
H_sequential_tasks: sequential_tasks arr_seq sched
H_JLFP_respects_sequential_tasks: policy_respects_sequential_tasks
j: Job
H_j_arrives: arrives_in arr_seq j
t1, t: instant
H_quiet_time: quiet_time arr_seq sched j t1
x: nat
Ge: t1 <= x
Le: x < t
jo: Job
Sched_jo: scheduled_at sched jo x
ARRIN: arrives_in arr_seq jo
PRIO: another_hep_job jo j = false
j': Job
AHEP: another_hep_job j' j
SCHED: scheduled_at sched j' x

False
Task: TaskType
H: TaskCost Task
Job: JobType
H0: JobTask Job Task
H1: JobArrival Job
H2: JobCost Job
arr_seq: arrival_sequence Job
H_valid_arrival_sequence: valid_arrival_sequence arr_seq
sched: schedule (processor_state Job)
H_jobs_come_from_arrival_sequence: jobs_come_from_arrival_sequence sched arr_seq
H_jobs_must_arrive_to_execute: jobs_must_arrive_to_execute sched
H_completed_jobs_dont_execute: completed_jobs_dont_execute sched
H3: JLFP_policy Job
H_priority_is_reflexive: reflexive_priorities
H_priority_is_transitive: transitive_priorities
tsk: Task
H_sequential_tasks: sequential_tasks arr_seq sched
H_JLFP_respects_sequential_tasks: policy_respects_sequential_tasks
j: Job
H_j_arrives: arrives_in arr_seq j
t1, t: instant
H_quiet_time: quiet_time arr_seq sched j t1
x: nat
Ge: t1 <= x
Le: x < t
jo: Job
Sched_jo: scheduled_at sched jo x
ARRIN: arrives_in arr_seq jo
PRIO: another_hep_job jo j = false
{in arrivals_up_to arr_seq x, (fun jhp : Job => another_hep_job jhp j && receives_service_at sched jhp x) =1 pred0}
Task: TaskType
H: TaskCost Task
Job: JobType
H0: JobTask Job Task
H1: JobArrival Job
H2: JobCost Job
arr_seq: arrival_sequence Job
H_valid_arrival_sequence: valid_arrival_sequence arr_seq
sched: schedule (processor_state Job)
H_jobs_come_from_arrival_sequence: jobs_come_from_arrival_sequence sched arr_seq
H_jobs_must_arrive_to_execute: jobs_must_arrive_to_execute sched
H_completed_jobs_dont_execute: completed_jobs_dont_execute sched
H3: JLFP_policy Job
H_priority_is_reflexive: reflexive_priorities
H_priority_is_transitive: transitive_priorities
tsk: Task
H_sequential_tasks: sequential_tasks arr_seq sched
H_JLFP_respects_sequential_tasks: policy_respects_sequential_tasks
j: Job
H_j_arrives: arrives_in arr_seq j
t1, t: instant
H_quiet_time: quiet_time arr_seq sched j t1
x: nat
Ge: t1 <= x
Le: x < t
jo: Job
Sched_jo: scheduled_at sched jo x
ARRIN: arrives_in arr_seq jo
PRIO: another_hep_job jo j = false
j': Job
AHEP: another_hep_job j' j
SCHED: scheduled_at sched j' x

jo = j'
Task: TaskType
H: TaskCost Task
Job: JobType
H0: JobTask Job Task
H1: JobArrival Job
H2: JobCost Job
arr_seq: arrival_sequence Job
H_valid_arrival_sequence: valid_arrival_sequence arr_seq
sched: schedule (processor_state Job)
H_jobs_come_from_arrival_sequence: jobs_come_from_arrival_sequence sched arr_seq
H_jobs_must_arrive_to_execute: jobs_must_arrive_to_execute sched
H_completed_jobs_dont_execute: completed_jobs_dont_execute sched
H3: JLFP_policy Job
H_priority_is_reflexive: reflexive_priorities
H_priority_is_transitive: transitive_priorities
tsk: Task
H_sequential_tasks: sequential_tasks arr_seq sched
H_JLFP_respects_sequential_tasks: policy_respects_sequential_tasks
j: Job
H_j_arrives: arrives_in arr_seq j
t1, t: instant
H_quiet_time: quiet_time arr_seq sched j t1
x: nat
Ge: t1 <= x
Le: x < t
jo: Job
Sched_jo: scheduled_at sched jo x
ARRIN: arrives_in arr_seq jo
PRIO: another_hep_job jo j = false
{in arrivals_up_to arr_seq x, (fun jhp : Job => another_hep_job jhp j && receives_service_at sched jhp x) =1 pred0}
Task: TaskType
H: TaskCost Task
Job: JobType
H0: JobTask Job Task
H1: JobArrival Job
H2: JobCost Job
arr_seq: arrival_sequence Job
H_valid_arrival_sequence: valid_arrival_sequence arr_seq
sched: schedule (processor_state Job)
H_jobs_come_from_arrival_sequence: jobs_come_from_arrival_sequence sched arr_seq
H_jobs_must_arrive_to_execute: jobs_must_arrive_to_execute sched
H_completed_jobs_dont_execute: completed_jobs_dont_execute sched
H3: JLFP_policy Job
H_priority_is_reflexive: reflexive_priorities
H_priority_is_transitive: transitive_priorities
tsk: Task
H_sequential_tasks: sequential_tasks arr_seq sched
H_JLFP_respects_sequential_tasks: policy_respects_sequential_tasks
j: Job
H_j_arrives: arrives_in arr_seq j
t1, t: instant
H_quiet_time: quiet_time arr_seq sched j t1
x: nat
Ge: t1 <= x
Le: x < t
jo: Job
Sched_jo: scheduled_at sched jo x
ARRIN: arrives_in arr_seq jo
PRIO: another_hep_job jo j = false

{in arrivals_up_to arr_seq x, (fun jhp : Job => another_hep_job jhp j && receives_service_at sched jhp x) =1 pred0}
Task: TaskType
H: TaskCost Task
Job: JobType
H0: JobTask Job Task
H1: JobArrival Job
H2: JobCost Job
arr_seq: arrival_sequence Job
H_valid_arrival_sequence: valid_arrival_sequence arr_seq
sched: schedule (processor_state Job)
H_jobs_come_from_arrival_sequence: jobs_come_from_arrival_sequence sched arr_seq
H_jobs_must_arrive_to_execute: jobs_must_arrive_to_execute sched
H_completed_jobs_dont_execute: completed_jobs_dont_execute sched
H3: JLFP_policy Job
H_priority_is_reflexive: reflexive_priorities
H_priority_is_transitive: transitive_priorities
tsk: Task
H_sequential_tasks: sequential_tasks arr_seq sched
H_JLFP_respects_sequential_tasks: policy_respects_sequential_tasks
j: Job
H_j_arrives: arrives_in arr_seq j
t1, t: instant
H_quiet_time: quiet_time arr_seq sched j t1
x: nat
Ge: t1 <= x
Le: x < t
jo: Job
Sched_jo: scheduled_at sched jo x
ARRIN: arrives_in arr_seq jo
PRIO: another_hep_job jo j = false

{in arrivals_up_to arr_seq x, (fun jhp : Job => another_hep_job jhp j && receives_service_at sched jhp x) =1 pred0}
Task: TaskType
H: TaskCost Task
Job: JobType
H0: JobTask Job Task
H1: JobArrival Job
H2: JobCost Job
arr_seq: arrival_sequence Job
H_valid_arrival_sequence: valid_arrival_sequence arr_seq
sched: schedule (processor_state Job)
H_jobs_come_from_arrival_sequence: jobs_come_from_arrival_sequence sched arr_seq
H_jobs_must_arrive_to_execute: jobs_must_arrive_to_execute sched
H_completed_jobs_dont_execute: completed_jobs_dont_execute sched
H3: JLFP_policy Job
H_priority_is_reflexive: reflexive_priorities
H_priority_is_transitive: transitive_priorities
tsk: Task
H_sequential_tasks: sequential_tasks arr_seq sched
H_JLFP_respects_sequential_tasks: policy_respects_sequential_tasks
j: Job
H_j_arrives: arrives_in arr_seq j
t1, t: instant
H_quiet_time: quiet_time arr_seq sched j t1
x: nat
Ge: t1 <= x
Le: x < t
jo: Job
Sched_jo: scheduled_at sched jo x
ARRIN: arrives_in arr_seq jo
PRIO: another_hep_job jo j = false
j': Job
IN: j' \in arrivals_up_to arr_seq x

another_hep_job j' j && receives_service_at sched j' x == false
Task: TaskType
H: TaskCost Task
Job: JobType
H0: JobTask Job Task
H1: JobArrival Job
H2: JobCost Job
arr_seq: arrival_sequence Job
H_valid_arrival_sequence: valid_arrival_sequence arr_seq
sched: schedule (processor_state Job)
H_jobs_come_from_arrival_sequence: jobs_come_from_arrival_sequence sched arr_seq
H_jobs_must_arrive_to_execute: jobs_must_arrive_to_execute sched
H_completed_jobs_dont_execute: completed_jobs_dont_execute sched
H3: JLFP_policy Job
H_priority_is_reflexive: reflexive_priorities
H_priority_is_transitive: transitive_priorities
tsk: Task
H_sequential_tasks: sequential_tasks arr_seq sched
H_JLFP_respects_sequential_tasks: policy_respects_sequential_tasks
j: Job
H_j_arrives: arrives_in arr_seq j
t1, t: instant
H_quiet_time: quiet_time arr_seq sched j t1
x: nat
Ge: t1 <= x
Le: x < t
jo: Job
Sched_jo: scheduled_at sched jo x
ARRIN: arrives_in arr_seq jo
PRIO: another_hep_job jo j = false
j': Job
IN: j' \in arrivals_up_to arr_seq x
SCHED: receives_service_at sched j' x

~~ another_hep_job j' j
Task: TaskType
H: TaskCost Task
Job: JobType
H0: JobTask Job Task
H1: JobArrival Job
H2: JobCost Job
arr_seq: arrival_sequence Job
H_valid_arrival_sequence: valid_arrival_sequence arr_seq
sched: schedule (processor_state Job)
H_jobs_come_from_arrival_sequence: jobs_come_from_arrival_sequence sched arr_seq
H_jobs_must_arrive_to_execute: jobs_must_arrive_to_execute sched
H_completed_jobs_dont_execute: completed_jobs_dont_execute sched
H3: JLFP_policy Job
H_priority_is_reflexive: reflexive_priorities
H_priority_is_transitive: transitive_priorities
tsk: Task
H_sequential_tasks: sequential_tasks arr_seq sched
H_JLFP_respects_sequential_tasks: policy_respects_sequential_tasks
j: Job
H_j_arrives: arrives_in arr_seq j
t1, t: instant
H_quiet_time: quiet_time arr_seq sched j t1
x: nat
Ge: t1 <= x
Le: x < t
jo: Job
Sched_jo: scheduled_at sched jo x
ARRIN: arrives_in arr_seq jo
PRIO: another_hep_job jo j = false
j': Job
IN: j' \in arrivals_up_to arr_seq x
SCHED: scheduled_at sched j' x

~~ another_hep_job j' j
Task: TaskType
H: TaskCost Task
Job: JobType
H0: JobTask Job Task
H1: JobArrival Job
H2: JobCost Job
arr_seq: arrival_sequence Job
H_valid_arrival_sequence: valid_arrival_sequence arr_seq
sched: schedule (processor_state Job)
H_jobs_come_from_arrival_sequence: jobs_come_from_arrival_sequence sched arr_seq
H_jobs_must_arrive_to_execute: jobs_must_arrive_to_execute sched
H_completed_jobs_dont_execute: completed_jobs_dont_execute sched
H3: JLFP_policy Job
H_priority_is_reflexive: reflexive_priorities
H_priority_is_transitive: transitive_priorities
tsk: Task
H_sequential_tasks: sequential_tasks arr_seq sched
H_JLFP_respects_sequential_tasks: policy_respects_sequential_tasks
j: Job
H_j_arrives: arrives_in arr_seq j
t1, t: instant
H_quiet_time: quiet_time arr_seq sched j t1
x: nat
Ge: t1 <= x
Le: x < t
jo: Job
Sched_jo: scheduled_at sched jo x
ARRIN: arrives_in arr_seq jo
PRIO: another_hep_job jo j = false
j': Job
IN: j' \in arrivals_up_to arr_seq x
SCHED: scheduled_at sched j' x

jo = j'
by eapply ideal_proc_model_is_a_uniprocessor_model; rt_eauto. } } Qed. (** The same applies to the alternative definition of interference. *)
Task: TaskType
H: TaskCost Task
Job: JobType
H0: JobTask Job Task
H1: JobArrival Job
H2: JobCost Job
arr_seq: arrival_sequence Job
H_valid_arrival_sequence: valid_arrival_sequence arr_seq
sched: schedule (processor_state Job)
H_jobs_come_from_arrival_sequence: jobs_come_from_arrival_sequence sched arr_seq
H_jobs_must_arrive_to_execute: jobs_must_arrive_to_execute sched
H_completed_jobs_dont_execute: completed_jobs_dont_execute sched
H3: JLFP_policy Job
H_priority_is_reflexive: reflexive_priorities
H_priority_is_transitive: transitive_priorities
tsk: Task
H_sequential_tasks: sequential_tasks arr_seq sched
H_JLFP_respects_sequential_tasks: policy_respects_sequential_tasks
j: Job
H_j_arrives: arrives_in arr_seq j
H_job_of_tsk: job_of_task tsk j
t1, t: instant
H_quiet_time: quiet_time arr_seq sched j t1

cumulative_another_task_hep_job_interference j t1 t = service_of_another_task_hep_job j t1 t
Task: TaskType
H: TaskCost Task
Job: JobType
H0: JobTask Job Task
H1: JobArrival Job
H2: JobCost Job
arr_seq: arrival_sequence Job
H_valid_arrival_sequence: valid_arrival_sequence arr_seq
sched: schedule (processor_state Job)
H_jobs_come_from_arrival_sequence: jobs_come_from_arrival_sequence sched arr_seq
H_jobs_must_arrive_to_execute: jobs_must_arrive_to_execute sched
H_completed_jobs_dont_execute: completed_jobs_dont_execute sched
H3: JLFP_policy Job
H_priority_is_reflexive: reflexive_priorities
H_priority_is_transitive: transitive_priorities
tsk: Task
H_sequential_tasks: sequential_tasks arr_seq sched
H_JLFP_respects_sequential_tasks: policy_respects_sequential_tasks
j: Job
H_j_arrives: arrives_in arr_seq j
H_job_of_tsk: job_of_task tsk j
t1, t: instant
H_quiet_time: quiet_time arr_seq sched j t1

cumulative_another_task_hep_job_interference j t1 t = service_of_another_task_hep_job j t1 t
Task: TaskType
H: TaskCost Task
Job: JobType
H0: JobTask Job Task
H1: JobArrival Job
H2: JobCost Job
arr_seq: arrival_sequence Job
H_valid_arrival_sequence: valid_arrival_sequence arr_seq
sched: schedule (processor_state Job)
H_jobs_come_from_arrival_sequence: jobs_come_from_arrival_sequence sched arr_seq
H_jobs_must_arrive_to_execute: jobs_must_arrive_to_execute sched
H_completed_jobs_dont_execute: completed_jobs_dont_execute sched
H3: JLFP_policy Job
H_priority_is_reflexive: reflexive_priorities
H_priority_is_transitive: transitive_priorities
tsk: Task
H_sequential_tasks: sequential_tasks arr_seq sched
H_JLFP_respects_sequential_tasks: policy_respects_sequential_tasks
j: Job
H_j_arrives: arrives_in arr_seq j
H_job_of_tsk: job_of_task tsk j
t1, t: instant
H_quiet_time: quiet_time arr_seq sched j t1

cumulative_another_task_hep_job_interference j t1 t = \sum_(j0 <- arrivals_between arr_seq t1 t | another_task_hep_job j0 j) service_during sched j0 t1 t
Task: TaskType
H: TaskCost Task
Job: JobType
H0: JobTask Job Task
H1: JobArrival Job
H2: JobCost Job
arr_seq: arrival_sequence Job
H_valid_arrival_sequence: valid_arrival_sequence arr_seq
sched: schedule (processor_state Job)
H_jobs_come_from_arrival_sequence: jobs_come_from_arrival_sequence sched arr_seq
H_jobs_must_arrive_to_execute: jobs_must_arrive_to_execute sched
H_completed_jobs_dont_execute: completed_jobs_dont_execute sched
H3: JLFP_policy Job
H_priority_is_reflexive: reflexive_priorities
H_priority_is_transitive: transitive_priorities
tsk: Task
H_sequential_tasks: sequential_tasks arr_seq sched
H_JLFP_respects_sequential_tasks: policy_respects_sequential_tasks
j: Job
H_j_arrives: arrives_in arr_seq j
H_job_of_tsk: job_of_task tsk j
t1, t: instant
H_quiet_time: quiet_time arr_seq sched j t1

\sum_(t1 <= t < t) has (fun jhp : Job => another_task_hep_job jhp j && receives_service_at sched jhp t) (arrivals_up_to arr_seq t) = \sum_(j0 <- arrivals_between arr_seq t1 t | another_task_hep_job j0 j) service_during sched j0 t1 t
Task: TaskType
H: TaskCost Task
Job: JobType
H0: JobTask Job Task
H1: JobArrival Job
H2: JobCost Job
arr_seq: arrival_sequence Job
H_valid_arrival_sequence: valid_arrival_sequence arr_seq
sched: schedule (processor_state Job)
H_jobs_come_from_arrival_sequence: jobs_come_from_arrival_sequence sched arr_seq
H_jobs_must_arrive_to_execute: jobs_must_arrive_to_execute sched
H_completed_jobs_dont_execute: completed_jobs_dont_execute sched
H3: JLFP_policy Job
H_priority_is_reflexive: reflexive_priorities
H_priority_is_transitive: transitive_priorities
tsk: Task
H_sequential_tasks: sequential_tasks arr_seq sched
H_JLFP_respects_sequential_tasks: policy_respects_sequential_tasks
j: Job
H_j_arrives: arrives_in arr_seq j
H_job_of_tsk: job_of_task tsk j
t1, t: instant
H_quiet_time: quiet_time arr_seq sched j t1

\sum_(t1 <= i < t | (t1 <= i < t) && true) has (fun jhp : Job => another_task_hep_job jhp j && receives_service_at sched jhp i) (arrivals_up_to arr_seq i) = \sum_(t1 <= i < t | (t1 <= i < t) && true) \sum_(i0 <- arrivals_between arr_seq t1 t | another_task_hep_job i0 j) service_at sched i0 i
Task: TaskType
H: TaskCost Task
Job: JobType
H0: JobTask Job Task
H1: JobArrival Job
H2: JobCost Job
arr_seq: arrival_sequence Job
H_valid_arrival_sequence: valid_arrival_sequence arr_seq
sched: schedule (processor_state Job)
H_jobs_come_from_arrival_sequence: jobs_come_from_arrival_sequence sched arr_seq
H_jobs_must_arrive_to_execute: jobs_must_arrive_to_execute sched
H_completed_jobs_dont_execute: completed_jobs_dont_execute sched
H3: JLFP_policy Job
H_priority_is_reflexive: reflexive_priorities
H_priority_is_transitive: transitive_priorities
tsk: Task
H_sequential_tasks: sequential_tasks arr_seq sched
H_JLFP_respects_sequential_tasks: policy_respects_sequential_tasks
j: Job
H_j_arrives: arrives_in arr_seq j
H_job_of_tsk: job_of_task tsk j
t1, t: instant
H_quiet_time: quiet_time arr_seq sched j t1
x: nat
Ge: t1 <= x
Le: x < t

has (fun jhp : Job => another_task_hep_job jhp j && receives_service_at sched jhp x) (arrivals_up_to arr_seq x) = \sum_(i <- arrivals_between arr_seq t1 t | another_task_hep_job i j) service_at sched i x
Task: TaskType
H: TaskCost Task
Job: JobType
H0: JobTask Job Task
H1: JobArrival Job
H2: JobCost Job
arr_seq: arrival_sequence Job
H_valid_arrival_sequence: valid_arrival_sequence arr_seq
sched: schedule (processor_state Job)
H_jobs_come_from_arrival_sequence: jobs_come_from_arrival_sequence sched arr_seq
H_jobs_must_arrive_to_execute: jobs_must_arrive_to_execute sched
H_completed_jobs_dont_execute: completed_jobs_dont_execute sched
H3: JLFP_policy Job
H_priority_is_reflexive: reflexive_priorities
H_priority_is_transitive: transitive_priorities
tsk: Task
H_sequential_tasks: sequential_tasks arr_seq sched
H_JLFP_respects_sequential_tasks: policy_respects_sequential_tasks
j: Job
H_j_arrives: arrives_in arr_seq j
H_job_of_tsk: job_of_task tsk j
t1, t: instant
H_quiet_time: quiet_time arr_seq sched j t1
x: nat
Ge: t1 <= x
Le: x < t
Idle: is_idle sched x
EqIdle: sched x = None

has (fun jhp : Job => another_task_hep_job jhp j && receives_service_at sched jhp x) (arrivals_up_to arr_seq x) = \sum_(i <- arrivals_between arr_seq t1 t | another_task_hep_job i j) service_at sched i x
Task: TaskType
H: TaskCost Task
Job: JobType
H0: JobTask Job Task
H1: JobArrival Job
H2: JobCost Job
arr_seq: arrival_sequence Job
H_valid_arrival_sequence: valid_arrival_sequence arr_seq
sched: schedule (processor_state Job)
H_jobs_come_from_arrival_sequence: jobs_come_from_arrival_sequence sched arr_seq
H_jobs_must_arrive_to_execute: jobs_must_arrive_to_execute sched
H_completed_jobs_dont_execute: completed_jobs_dont_execute sched
H3: JLFP_policy Job
H_priority_is_reflexive: reflexive_priorities
H_priority_is_transitive: transitive_priorities
tsk: Task
H_sequential_tasks: sequential_tasks arr_seq sched
H_JLFP_respects_sequential_tasks: policy_respects_sequential_tasks
j: Job
H_j_arrives: arrives_in arr_seq j
H_job_of_tsk: job_of_task tsk j
t1, t: instant
H_quiet_time: quiet_time arr_seq sched j t1
x: nat
Ge: t1 <= x
Le: x < t
jo: Job
Sched_jo: scheduled_at sched jo x
EqSched_jo: #|[pred x0 | let 'FiniteQuant.Quantified F := FiniteQuant.ex (T:=Core) (, scheduled_on jo (sched x) x0) x0 x0 in F]| <> 0
has (fun jhp : Job => another_task_hep_job jhp j && receives_service_at sched jhp x) (arrivals_up_to arr_seq x) = \sum_(i <- arrivals_between arr_seq t1 t | another_task_hep_job i j) service_at sched i x
Task: TaskType
H: TaskCost Task
Job: JobType
H0: JobTask Job Task
H1: JobArrival Job
H2: JobCost Job
arr_seq: arrival_sequence Job
H_valid_arrival_sequence: valid_arrival_sequence arr_seq
sched: schedule (processor_state Job)
H_jobs_come_from_arrival_sequence: jobs_come_from_arrival_sequence sched arr_seq
H_jobs_must_arrive_to_execute: jobs_must_arrive_to_execute sched
H_completed_jobs_dont_execute: completed_jobs_dont_execute sched
H3: JLFP_policy Job
H_priority_is_reflexive: reflexive_priorities
H_priority_is_transitive: transitive_priorities
tsk: Task
H_sequential_tasks: sequential_tasks arr_seq sched
H_JLFP_respects_sequential_tasks: policy_respects_sequential_tasks
j: Job
H_j_arrives: arrives_in arr_seq j
H_job_of_tsk: job_of_task tsk j
t1, t: instant
H_quiet_time: quiet_time arr_seq sched j t1
x: nat
Ge: t1 <= x
Le: x < t
Idle: is_idle sched x
EqIdle: sched x = None

has (fun jhp : Job => another_task_hep_job jhp j && receives_service_at sched jhp x) (arrivals_up_to arr_seq x) = \sum_(i <- arrivals_between arr_seq t1 t | another_task_hep_job i j) service_at sched i x
Task: TaskType
H: TaskCost Task
Job: JobType
H0: JobTask Job Task
H1: JobArrival Job
H2: JobCost Job
arr_seq: arrival_sequence Job
H_valid_arrival_sequence: valid_arrival_sequence arr_seq
sched: schedule (processor_state Job)
H_jobs_come_from_arrival_sequence: jobs_come_from_arrival_sequence sched arr_seq
H_jobs_must_arrive_to_execute: jobs_must_arrive_to_execute sched
H_completed_jobs_dont_execute: completed_jobs_dont_execute sched
H3: JLFP_policy Job
H_priority_is_reflexive: reflexive_priorities
H_priority_is_transitive: transitive_priorities
tsk: Task
H_sequential_tasks: sequential_tasks arr_seq sched
H_JLFP_respects_sequential_tasks: policy_respects_sequential_tasks
j: Job
H_j_arrives: arrives_in arr_seq j
H_job_of_tsk: job_of_task tsk j
t1, t: instant
H_quiet_time: quiet_time arr_seq sched j t1
x: nat
Ge: t1 <= x
Le: x < t
Idle: is_idle sched x
EqIdle: sched x = None

\sum_(i <- arrivals_between arr_seq t1 t | another_task_hep_job i j) service_at sched i x = false
Task: TaskType
H: TaskCost Task
Job: JobType
H0: JobTask Job Task
H1: JobArrival Job
H2: JobCost Job
arr_seq: arrival_sequence Job
H_valid_arrival_sequence: valid_arrival_sequence arr_seq
sched: schedule (processor_state Job)
H_jobs_come_from_arrival_sequence: jobs_come_from_arrival_sequence sched arr_seq
H_jobs_must_arrive_to_execute: jobs_must_arrive_to_execute sched
H_completed_jobs_dont_execute: completed_jobs_dont_execute sched
H3: JLFP_policy Job
H_priority_is_reflexive: reflexive_priorities
H_priority_is_transitive: transitive_priorities
tsk: Task
H_sequential_tasks: sequential_tasks arr_seq sched
H_JLFP_respects_sequential_tasks: policy_respects_sequential_tasks
j: Job
H_j_arrives: arrives_in arr_seq j
H_job_of_tsk: job_of_task tsk j
t1, t: instant
H_quiet_time: quiet_time arr_seq sched j t1
x: nat
Ge: t1 <= x
Le: x < t
Idle: is_idle sched x
EqIdle: sched x = None
{in arrivals_up_to arr_seq x, (fun jhp : Job => another_task_hep_job jhp j && receives_service_at sched jhp x) =1 pred0}
Task: TaskType
H: TaskCost Task
Job: JobType
H0: JobTask Job Task
H1: JobArrival Job
H2: JobCost Job
arr_seq: arrival_sequence Job
H_valid_arrival_sequence: valid_arrival_sequence arr_seq
sched: schedule (processor_state Job)
H_jobs_come_from_arrival_sequence: jobs_come_from_arrival_sequence sched arr_seq
H_jobs_must_arrive_to_execute: jobs_must_arrive_to_execute sched
H_completed_jobs_dont_execute: completed_jobs_dont_execute sched
H3: JLFP_policy Job
H_priority_is_reflexive: reflexive_priorities
H_priority_is_transitive: transitive_priorities
tsk: Task
H_sequential_tasks: sequential_tasks arr_seq sched
H_JLFP_respects_sequential_tasks: policy_respects_sequential_tasks
j: Job
H_j_arrives: arrives_in arr_seq j
H_job_of_tsk: job_of_task tsk j
t1, t: instant
H_quiet_time: quiet_time arr_seq sched j t1
x: nat
Ge: t1 <= x
Le: x < t
Idle: is_idle sched x
EqIdle: sched x = None

\sum_(i <- arrivals_between arr_seq t1 t | another_task_hep_job i j) service_at sched i x = false
by apply big1 => j' _; rewrite ideal_not_idle_implies_sched.
Task: TaskType
H: TaskCost Task
Job: JobType
H0: JobTask Job Task
H1: JobArrival Job
H2: JobCost Job
arr_seq: arrival_sequence Job
H_valid_arrival_sequence: valid_arrival_sequence arr_seq
sched: schedule (processor_state Job)
H_jobs_come_from_arrival_sequence: jobs_come_from_arrival_sequence sched arr_seq
H_jobs_must_arrive_to_execute: jobs_must_arrive_to_execute sched
H_completed_jobs_dont_execute: completed_jobs_dont_execute sched
H3: JLFP_policy Job
H_priority_is_reflexive: reflexive_priorities
H_priority_is_transitive: transitive_priorities
tsk: Task
H_sequential_tasks: sequential_tasks arr_seq sched
H_JLFP_respects_sequential_tasks: policy_respects_sequential_tasks
j: Job
H_j_arrives: arrives_in arr_seq j
H_job_of_tsk: job_of_task tsk j
t1, t: instant
H_quiet_time: quiet_time arr_seq sched j t1
x: nat
Ge: t1 <= x
Le: x < t
Idle: is_idle sched x
EqIdle: sched x = None

{in arrivals_up_to arr_seq x, (fun jhp : Job => another_task_hep_job jhp j && receives_service_at sched jhp x) =1 pred0}
Task: TaskType
H: TaskCost Task
Job: JobType
H0: JobTask Job Task
H1: JobArrival Job
H2: JobCost Job
arr_seq: arrival_sequence Job
H_valid_arrival_sequence: valid_arrival_sequence arr_seq
sched: schedule (processor_state Job)
H_jobs_come_from_arrival_sequence: jobs_come_from_arrival_sequence sched arr_seq
H_jobs_must_arrive_to_execute: jobs_must_arrive_to_execute sched
H_completed_jobs_dont_execute: completed_jobs_dont_execute sched
H3: JLFP_policy Job
H_priority_is_reflexive: reflexive_priorities
H_priority_is_transitive: transitive_priorities
tsk: Task
H_sequential_tasks: sequential_tasks arr_seq sched
H_JLFP_respects_sequential_tasks: policy_respects_sequential_tasks
j: Job
H_j_arrives: arrives_in arr_seq j
H_job_of_tsk: job_of_task tsk j
t1, t: instant
H_quiet_time: quiet_time arr_seq sched j t1
x: nat
Ge: t1 <= x
Le: x < t
Idle: is_idle sched x
EqIdle: sched x = None

{in arrivals_up_to arr_seq x, (fun jhp : Job => another_task_hep_job jhp j && receives_service_at sched jhp x) =1 pred0}
by move => j' _; apply Bool.andb_false_intro2; rewrite /receives_service_at ideal_not_idle_implies_sched. }
Task: TaskType
H: TaskCost Task
Job: JobType
H0: JobTask Job Task
H1: JobArrival Job
H2: JobCost Job
arr_seq: arrival_sequence Job
H_valid_arrival_sequence: valid_arrival_sequence arr_seq
sched: schedule (processor_state Job)
H_jobs_come_from_arrival_sequence: jobs_come_from_arrival_sequence sched arr_seq
H_jobs_must_arrive_to_execute: jobs_must_arrive_to_execute sched
H_completed_jobs_dont_execute: completed_jobs_dont_execute sched
H3: JLFP_policy Job
H_priority_is_reflexive: reflexive_priorities
H_priority_is_transitive: transitive_priorities
tsk: Task
H_sequential_tasks: sequential_tasks arr_seq sched
H_JLFP_respects_sequential_tasks: policy_respects_sequential_tasks
j: Job
H_j_arrives: arrives_in arr_seq j
H_job_of_tsk: job_of_task tsk j
t1, t: instant
H_quiet_time: quiet_time arr_seq sched j t1
x: nat
Ge: t1 <= x
Le: x < t
jo: Job
Sched_jo: scheduled_at sched jo x
EqSched_jo: #|[pred x0 | let 'FiniteQuant.Quantified F := FiniteQuant.ex (T:=Core) (, scheduled_on jo (sched x) x0) x0 x0 in F]| <> 0

has (fun jhp : Job => another_task_hep_job jhp j && receives_service_at sched jhp x) (arrivals_up_to arr_seq x) = \sum_(i <- arrivals_between arr_seq t1 t | another_task_hep_job i j) service_at sched i x
Task: TaskType
H: TaskCost Task
Job: JobType
H0: JobTask Job Task
H1: JobArrival Job
H2: JobCost Job
arr_seq: arrival_sequence Job
H_valid_arrival_sequence: valid_arrival_sequence arr_seq
sched: schedule (processor_state Job)
H_jobs_come_from_arrival_sequence: jobs_come_from_arrival_sequence sched arr_seq
H_jobs_must_arrive_to_execute: jobs_must_arrive_to_execute sched
H_completed_jobs_dont_execute: completed_jobs_dont_execute sched
H3: JLFP_policy Job
H_priority_is_reflexive: reflexive_priorities
H_priority_is_transitive: transitive_priorities
tsk: Task
H_sequential_tasks: sequential_tasks arr_seq sched
H_JLFP_respects_sequential_tasks: policy_respects_sequential_tasks
j: Job
H_j_arrives: arrives_in arr_seq j
H_job_of_tsk: job_of_task tsk j
t1, t: instant
H_quiet_time: quiet_time arr_seq sched j t1
x: nat
Ge: t1 <= x
Le: x < t
jo: Job
Sched_jo: scheduled_at sched jo x
EqSched_jo: #|[pred x0 | let 'FiniteQuant.Quantified F := FiniteQuant.ex (T:=Core) (, scheduled_on jo (sched x) x0) x0 x0 in F]| <> 0

has (fun jhp : Job => another_task_hep_job jhp j && receives_service_at sched jhp x) (arrivals_up_to arr_seq x) = \sum_(i <- arrivals_between arr_seq t1 t | another_task_hep_job i j) service_at sched i x
Task: TaskType
H: TaskCost Task
Job: JobType
H0: JobTask Job Task
H1: JobArrival Job
H2: JobCost Job
arr_seq: arrival_sequence Job
H_valid_arrival_sequence: valid_arrival_sequence arr_seq
sched: schedule (processor_state Job)
H_jobs_come_from_arrival_sequence: jobs_come_from_arrival_sequence sched arr_seq
H_jobs_must_arrive_to_execute: jobs_must_arrive_to_execute sched
H_completed_jobs_dont_execute: completed_jobs_dont_execute sched
H3: JLFP_policy Job
H_priority_is_reflexive: reflexive_priorities
H_priority_is_transitive: transitive_priorities
tsk: Task
H_sequential_tasks: sequential_tasks arr_seq sched
H_JLFP_respects_sequential_tasks: policy_respects_sequential_tasks
j: Job
H_j_arrives: arrives_in arr_seq j
H_job_of_tsk: job_of_task tsk j
t1, t: instant
H_quiet_time: quiet_time arr_seq sched j t1
x: nat
Ge: t1 <= x
Le: x < t
jo: Job
Sched_jo: scheduled_at sched jo x
EqSched_jo: #|[pred x0 | let 'FiniteQuant.Quantified F := FiniteQuant.ex (T:=Core) (, scheduled_on jo (sched x) x0) x0 x0 in F]| <> 0
ARRIN: arrives_in arr_seq jo

has (fun jhp : Job => another_task_hep_job jhp j && receives_service_at sched jhp x) (arrivals_up_to arr_seq x) = \sum_(i <- arrivals_between arr_seq t1 t | another_task_hep_job i j) service_at sched i x
Task: TaskType
H: TaskCost Task
Job: JobType
H0: JobTask Job Task
H1: JobArrival Job
H2: JobCost Job
arr_seq: arrival_sequence Job
H_valid_arrival_sequence: valid_arrival_sequence arr_seq
sched: schedule (processor_state Job)
H_jobs_come_from_arrival_sequence: jobs_come_from_arrival_sequence sched arr_seq
H_jobs_must_arrive_to_execute: jobs_must_arrive_to_execute sched
H_completed_jobs_dont_execute: completed_jobs_dont_execute sched
H3: JLFP_policy Job
H_priority_is_reflexive: reflexive_priorities
H_priority_is_transitive: transitive_priorities
tsk: Task
H_sequential_tasks: sequential_tasks arr_seq sched
H_JLFP_respects_sequential_tasks: policy_respects_sequential_tasks
j: Job
H_j_arrives: arrives_in arr_seq j
H_job_of_tsk: job_of_task tsk j
t1, t: instant
H_quiet_time: quiet_time arr_seq sched j t1
x: nat
Ge: t1 <= x
Le: x < t
jo: Job
Sched_jo: scheduled_at sched jo x
ARRIN: arrives_in arr_seq jo
PRIO: another_task_hep_job jo j = true

has (fun jhp : Job => another_task_hep_job jhp j && receives_service_at sched jhp x) (arrivals_up_to arr_seq x) = \sum_(i <- arrivals_between arr_seq t1 t | another_task_hep_job i j) service_at sched i x
Task: TaskType
H: TaskCost Task
Job: JobType
H0: JobTask Job Task
H1: JobArrival Job
H2: JobCost Job
arr_seq: arrival_sequence Job
H_valid_arrival_sequence: valid_arrival_sequence arr_seq
sched: schedule (processor_state Job)
H_jobs_come_from_arrival_sequence: jobs_come_from_arrival_sequence sched arr_seq
H_jobs_must_arrive_to_execute: jobs_must_arrive_to_execute sched
H_completed_jobs_dont_execute: completed_jobs_dont_execute sched
H3: JLFP_policy Job
H_priority_is_reflexive: reflexive_priorities
H_priority_is_transitive: transitive_priorities
tsk: Task
H_sequential_tasks: sequential_tasks arr_seq sched
H_JLFP_respects_sequential_tasks: policy_respects_sequential_tasks
j: Job
H_j_arrives: arrives_in arr_seq j
H_job_of_tsk: job_of_task tsk j
t1, t: instant
H_quiet_time: quiet_time arr_seq sched j t1
x: nat
Ge: t1 <= x
Le: x < t
jo: Job
Sched_jo: scheduled_at sched jo x
ARRIN: arrives_in arr_seq jo
PRIO: another_task_hep_job jo j = false
has (fun jhp : Job => another_task_hep_job jhp j && receives_service_at sched jhp x) (arrivals_up_to arr_seq x) = \sum_(i <- arrivals_between arr_seq t1 t | another_task_hep_job i j) service_at sched i x
Task: TaskType
H: TaskCost Task
Job: JobType
H0: JobTask Job Task
H1: JobArrival Job
H2: JobCost Job
arr_seq: arrival_sequence Job
H_valid_arrival_sequence: valid_arrival_sequence arr_seq
sched: schedule (processor_state Job)
H_jobs_come_from_arrival_sequence: jobs_come_from_arrival_sequence sched arr_seq
H_jobs_must_arrive_to_execute: jobs_must_arrive_to_execute sched
H_completed_jobs_dont_execute: completed_jobs_dont_execute sched
H3: JLFP_policy Job
H_priority_is_reflexive: reflexive_priorities
H_priority_is_transitive: transitive_priorities
tsk: Task
H_sequential_tasks: sequential_tasks arr_seq sched
H_JLFP_respects_sequential_tasks: policy_respects_sequential_tasks
j: Job
H_j_arrives: arrives_in arr_seq j
H_job_of_tsk: job_of_task tsk j
t1, t: instant
H_quiet_time: quiet_time arr_seq sched j t1
x: nat
Ge: t1 <= x
Le: x < t
jo: Job
Sched_jo: scheduled_at sched jo x
ARRIN: arrives_in arr_seq jo
PRIO: another_task_hep_job jo j = true

has (fun jhp : Job => another_task_hep_job jhp j && receives_service_at sched jhp x) (arrivals_up_to arr_seq x) = \sum_(i <- arrivals_between arr_seq t1 t | another_task_hep_job i j) service_at sched i x
Task: TaskType
H: TaskCost Task
Job: JobType
H0: JobTask Job Task
H1: JobArrival Job
H2: JobCost Job
arr_seq: arrival_sequence Job
H_valid_arrival_sequence: valid_arrival_sequence arr_seq
sched: schedule (processor_state Job)
H_jobs_come_from_arrival_sequence: jobs_come_from_arrival_sequence sched arr_seq
H_jobs_must_arrive_to_execute: jobs_must_arrive_to_execute sched
H_completed_jobs_dont_execute: completed_jobs_dont_execute sched
H3: JLFP_policy Job
H_priority_is_reflexive: reflexive_priorities
H_priority_is_transitive: transitive_priorities
tsk: Task
H_sequential_tasks: sequential_tasks arr_seq sched
H_JLFP_respects_sequential_tasks: policy_respects_sequential_tasks
j: Job
H_j_arrives: arrives_in arr_seq j
H_job_of_tsk: job_of_task tsk j
t1, t: instant
H_quiet_time: quiet_time arr_seq sched j t1
x: nat
Ge: t1 <= x
Le: x < t
jo: Job
Sched_jo: scheduled_at sched jo x
ARRIN: arrives_in arr_seq jo
PRIO: another_task_hep_job jo j = true

has (fun jhp : Job => another_task_hep_job jhp j && receives_service_at sched jhp x) (arrivals_up_to arr_seq x) = true
Task: TaskType
H: TaskCost Task
Job: JobType
H0: JobTask Job Task
H1: JobArrival Job
H2: JobCost Job
arr_seq: arrival_sequence Job
H_valid_arrival_sequence: valid_arrival_sequence arr_seq
sched: schedule (processor_state Job)
H_jobs_come_from_arrival_sequence: jobs_come_from_arrival_sequence sched arr_seq
H_jobs_must_arrive_to_execute: jobs_must_arrive_to_execute sched
H_completed_jobs_dont_execute: completed_jobs_dont_execute sched
H3: JLFP_policy Job
H_priority_is_reflexive: reflexive_priorities
H_priority_is_transitive: transitive_priorities
tsk: Task
H_sequential_tasks: sequential_tasks arr_seq sched
H_JLFP_respects_sequential_tasks: policy_respects_sequential_tasks
j: Job
H_j_arrives: arrives_in arr_seq j
H_job_of_tsk: job_of_task tsk j
t1, t: instant
H_quiet_time: quiet_time arr_seq sched j t1
x: nat
Ge: t1 <= x
Le: x < t
jo: Job
Sched_jo: scheduled_at sched jo x
ARRIN: arrives_in arr_seq jo
PRIO: another_task_hep_job jo j = true
\sum_(i <- arrivals_between arr_seq t1 t | another_task_hep_job i j) service_at sched i x = true
Task: TaskType
H: TaskCost Task
Job: JobType
H0: JobTask Job Task
H1: JobArrival Job
H2: JobCost Job
arr_seq: arrival_sequence Job
H_valid_arrival_sequence: valid_arrival_sequence arr_seq
sched: schedule (processor_state Job)
H_jobs_come_from_arrival_sequence: jobs_come_from_arrival_sequence sched arr_seq
H_jobs_must_arrive_to_execute: jobs_must_arrive_to_execute sched
H_completed_jobs_dont_execute: completed_jobs_dont_execute sched
H3: JLFP_policy Job
H_priority_is_reflexive: reflexive_priorities
H_priority_is_transitive: transitive_priorities
tsk: Task
H_sequential_tasks: sequential_tasks arr_seq sched
H_JLFP_respects_sequential_tasks: policy_respects_sequential_tasks
j: Job
H_j_arrives: arrives_in arr_seq j
H_job_of_tsk: job_of_task tsk j
t1, t: instant
H_quiet_time: quiet_time arr_seq sched j t1
x: nat
Ge: t1 <= x
Le: x < t
jo: Job
Sched_jo: scheduled_at sched jo x
ARRIN: arrives_in arr_seq jo
PRIO: another_task_hep_job jo j = true

has (fun jhp : Job => another_task_hep_job jhp j && receives_service_at sched jhp x) (arrivals_up_to arr_seq x) = true
Task: TaskType
H: TaskCost Task
Job: JobType
H0: JobTask Job Task
H1: JobArrival Job
H2: JobCost Job
arr_seq: arrival_sequence Job
H_valid_arrival_sequence: valid_arrival_sequence arr_seq
sched: schedule (processor_state Job)
H_jobs_come_from_arrival_sequence: jobs_come_from_arrival_sequence sched arr_seq
H_jobs_must_arrive_to_execute: jobs_must_arrive_to_execute sched
H_completed_jobs_dont_execute: completed_jobs_dont_execute sched
H3: JLFP_policy Job
H_priority_is_reflexive: reflexive_priorities
H_priority_is_transitive: transitive_priorities
tsk: Task
H_sequential_tasks: sequential_tasks arr_seq sched
H_JLFP_respects_sequential_tasks: policy_respects_sequential_tasks
j: Job
H_j_arrives: arrives_in arr_seq j
H_job_of_tsk: job_of_task tsk j
t1, t: instant
H_quiet_time: quiet_time arr_seq sched j t1
x: nat
Ge: t1 <= x
Le: x < t
jo: Job
Sched_jo: scheduled_at sched jo x
ARRIN: arrives_in arr_seq jo
PRIO: another_task_hep_job jo j = true

jo \in arrivals_up_to arr_seq x
Task: TaskType
H: TaskCost Task
Job: JobType
H0: JobTask Job Task
H1: JobArrival Job
H2: JobCost Job
arr_seq: arrival_sequence Job
H_valid_arrival_sequence: valid_arrival_sequence arr_seq
sched: schedule (processor_state Job)
H_jobs_come_from_arrival_sequence: jobs_come_from_arrival_sequence sched arr_seq
H_jobs_must_arrive_to_execute: jobs_must_arrive_to_execute sched
H_completed_jobs_dont_execute: completed_jobs_dont_execute sched
H3: JLFP_policy Job
H_priority_is_reflexive: reflexive_priorities
H_priority_is_transitive: transitive_priorities
tsk: Task
H_sequential_tasks: sequential_tasks arr_seq sched
H_JLFP_respects_sequential_tasks: policy_respects_sequential_tasks
j: Job
H_j_arrives: arrives_in arr_seq j
H_job_of_tsk: job_of_task tsk j
t1, t: instant
H_quiet_time: quiet_time arr_seq sched j t1
x: nat
Ge: t1 <= x
Le: x < t
jo: Job
Sched_jo: scheduled_at sched jo x
ARRIN: arrives_in arr_seq jo
PRIO: another_task_hep_job jo j = true
another_task_hep_job jo j && receives_service_at sched jo x
Task: TaskType
H: TaskCost Task
Job: JobType
H0: JobTask Job Task
H1: JobArrival Job
H2: JobCost Job
arr_seq: arrival_sequence Job
H_valid_arrival_sequence: valid_arrival_sequence arr_seq
sched: schedule (processor_state Job)
H_jobs_come_from_arrival_sequence: jobs_come_from_arrival_sequence sched arr_seq
H_jobs_must_arrive_to_execute: jobs_must_arrive_to_execute sched
H_completed_jobs_dont_execute: completed_jobs_dont_execute sched
H3: JLFP_policy Job
H_priority_is_reflexive: reflexive_priorities
H_priority_is_transitive: transitive_priorities
tsk: Task
H_sequential_tasks: sequential_tasks arr_seq sched
H_JLFP_respects_sequential_tasks: policy_respects_sequential_tasks
j: Job
H_j_arrives: arrives_in arr_seq j
H_job_of_tsk: job_of_task tsk j
t1, t: instant
H_quiet_time: quiet_time arr_seq sched j t1
x: nat
Ge: t1 <= x
Le: x < t
jo: Job
Sched_jo: scheduled_at sched jo x
ARRIN: arrives_in arr_seq jo
PRIO: another_task_hep_job jo j = true

jo \in arrivals_up_to arr_seq x
Task: TaskType
H: TaskCost Task
Job: JobType
H0: JobTask Job Task
H1: JobArrival Job
H2: JobCost Job
arr_seq: arrival_sequence Job
H_valid_arrival_sequence: valid_arrival_sequence arr_seq
sched: schedule (processor_state Job)
H_jobs_come_from_arrival_sequence: jobs_come_from_arrival_sequence sched arr_seq
H_jobs_must_arrive_to_execute: jobs_must_arrive_to_execute sched
H_completed_jobs_dont_execute: completed_jobs_dont_execute sched
H3: JLFP_policy Job
H_priority_is_reflexive: reflexive_priorities
H_priority_is_transitive: transitive_priorities
tsk: Task
H_sequential_tasks: sequential_tasks arr_seq sched
H_JLFP_respects_sequential_tasks: policy_respects_sequential_tasks
j: Job
H_j_arrives: arrives_in arr_seq j
H_job_of_tsk: job_of_task tsk j
t1, t: instant
H_quiet_time: quiet_time arr_seq sched j t1
x: nat
Ge: t1 <= x
Le: x < t
jo: Job
Sched_jo: scheduled_at sched jo x
ARRIN: arrives_in arr_seq jo
PRIO: another_task_hep_job jo j = true
another_task_hep_job jo j && receives_service_at sched jo x
Task: TaskType
H: TaskCost Task
Job: JobType
H0: JobTask Job Task
H1: JobArrival Job
H2: JobCost Job
arr_seq: arrival_sequence Job
H_valid_arrival_sequence: valid_arrival_sequence arr_seq
sched: schedule (processor_state Job)
H_jobs_come_from_arrival_sequence: jobs_come_from_arrival_sequence sched arr_seq
H_jobs_must_arrive_to_execute: jobs_must_arrive_to_execute sched
H_completed_jobs_dont_execute: completed_jobs_dont_execute sched
H3: JLFP_policy Job
H_priority_is_reflexive: reflexive_priorities
H_priority_is_transitive: transitive_priorities
tsk: Task
H_sequential_tasks: sequential_tasks arr_seq sched
H_JLFP_respects_sequential_tasks: policy_respects_sequential_tasks
j: Job
H_j_arrives: arrives_in arr_seq j
H_job_of_tsk: job_of_task tsk j
t1, t: instant
H_quiet_time: quiet_time arr_seq sched j t1
x: nat
Ge: t1 <= x
Le: x < t
jo: Job
Sched_jo: scheduled_at sched jo x
ARRIN: arrives_in arr_seq jo
PRIO: another_task_hep_job jo j = true

arrived_between jo 0 x.+1
Task: TaskType
H: TaskCost Task
Job: JobType
H0: JobTask Job Task
H1: JobArrival Job
H2: JobCost Job
arr_seq: arrival_sequence Job
H_valid_arrival_sequence: valid_arrival_sequence arr_seq
sched: schedule (processor_state Job)
H_jobs_come_from_arrival_sequence: jobs_come_from_arrival_sequence sched arr_seq
H_jobs_must_arrive_to_execute: jobs_must_arrive_to_execute sched
H_completed_jobs_dont_execute: completed_jobs_dont_execute sched
H3: JLFP_policy Job
H_priority_is_reflexive: reflexive_priorities
H_priority_is_transitive: transitive_priorities
tsk: Task
H_sequential_tasks: sequential_tasks arr_seq sched
H_JLFP_respects_sequential_tasks: policy_respects_sequential_tasks
j: Job
H_j_arrives: arrives_in arr_seq j
H_job_of_tsk: job_of_task tsk j
t1, t: instant
H_quiet_time: quiet_time arr_seq sched j t1
x: nat
Ge: t1 <= x
Le: x < t
jo: Job
Sched_jo: scheduled_at sched jo x
ARRIN: arrives_in arr_seq jo
PRIO: another_task_hep_job jo j = true
another_task_hep_job jo j && receives_service_at sched jo x
Task: TaskType
H: TaskCost Task
Job: JobType
H0: JobTask Job Task
H1: JobArrival Job
H2: JobCost Job
arr_seq: arrival_sequence Job
H_valid_arrival_sequence: valid_arrival_sequence arr_seq
sched: schedule (processor_state Job)
H_jobs_come_from_arrival_sequence: jobs_come_from_arrival_sequence sched arr_seq
H_jobs_must_arrive_to_execute: jobs_must_arrive_to_execute sched
H_completed_jobs_dont_execute: completed_jobs_dont_execute sched
H3: JLFP_policy Job
H_priority_is_reflexive: reflexive_priorities
H_priority_is_transitive: transitive_priorities
tsk: Task
H_sequential_tasks: sequential_tasks arr_seq sched
H_JLFP_respects_sequential_tasks: policy_respects_sequential_tasks
j: Job
H_j_arrives: arrives_in arr_seq j
H_job_of_tsk: job_of_task tsk j
t1, t: instant
H_quiet_time: quiet_time arr_seq sched j t1
x: nat
Ge: t1 <= x
Le: x < t
jo: Job
Sched_jo: scheduled_at sched jo x
ARRIN: arrives_in arr_seq jo
PRIO: another_task_hep_job jo j = true

another_task_hep_job jo j && receives_service_at sched jo x
Task: TaskType
H: TaskCost Task
Job: JobType
H0: JobTask Job Task
H1: JobArrival Job
H2: JobCost Job
arr_seq: arrival_sequence Job
H_valid_arrival_sequence: valid_arrival_sequence arr_seq
sched: schedule (processor_state Job)
H_jobs_come_from_arrival_sequence: jobs_come_from_arrival_sequence sched arr_seq
H_jobs_must_arrive_to_execute: jobs_must_arrive_to_execute sched
H_completed_jobs_dont_execute: completed_jobs_dont_execute sched
H3: JLFP_policy Job
H_priority_is_reflexive: reflexive_priorities
H_priority_is_transitive: transitive_priorities
tsk: Task
H_sequential_tasks: sequential_tasks arr_seq sched
H_JLFP_respects_sequential_tasks: policy_respects_sequential_tasks
j: Job
H_j_arrives: arrives_in arr_seq j
H_job_of_tsk: job_of_task tsk j
t1, t: instant
H_quiet_time: quiet_time arr_seq sched j t1
x: nat
Ge: t1 <= x
Le: x < t
jo: Job
Sched_jo: scheduled_at sched jo x
ARRIN: arrives_in arr_seq jo
PRIO: another_task_hep_job jo j = true

another_task_hep_job jo j && receives_service_at sched jo x
by rewrite PRIO //= /receives_service_at service_at_is_scheduled_at Sched_jo.
Task: TaskType
H: TaskCost Task
Job: JobType
H0: JobTask Job Task
H1: JobArrival Job
H2: JobCost Job
arr_seq: arrival_sequence Job
H_valid_arrival_sequence: valid_arrival_sequence arr_seq
sched: schedule (processor_state Job)
H_jobs_come_from_arrival_sequence: jobs_come_from_arrival_sequence sched arr_seq
H_jobs_must_arrive_to_execute: jobs_must_arrive_to_execute sched
H_completed_jobs_dont_execute: completed_jobs_dont_execute sched
H3: JLFP_policy Job
H_priority_is_reflexive: reflexive_priorities
H_priority_is_transitive: transitive_priorities
tsk: Task
H_sequential_tasks: sequential_tasks arr_seq sched
H_JLFP_respects_sequential_tasks: policy_respects_sequential_tasks
j: Job
H_j_arrives: arrives_in arr_seq j
H_job_of_tsk: job_of_task tsk j
t1, t: instant
H_quiet_time: quiet_time arr_seq sched j t1
x: nat
Ge: t1 <= x
Le: x < t
jo: Job
Sched_jo: scheduled_at sched jo x
ARRIN: arrives_in arr_seq jo
PRIO: another_task_hep_job jo j = true

\sum_(i <- arrivals_between arr_seq t1 t | another_task_hep_job i j) service_at sched i x = true
Task: TaskType
H: TaskCost Task
Job: JobType
H0: JobTask Job Task
H1: JobArrival Job
H2: JobCost Job
arr_seq: arrival_sequence Job
H_valid_arrival_sequence: valid_arrival_sequence arr_seq
sched: schedule (processor_state Job)
H_jobs_come_from_arrival_sequence: jobs_come_from_arrival_sequence sched arr_seq
H_jobs_must_arrive_to_execute: jobs_must_arrive_to_execute sched
H_completed_jobs_dont_execute: completed_jobs_dont_execute sched
H3: JLFP_policy Job
H_priority_is_reflexive: reflexive_priorities
H_priority_is_transitive: transitive_priorities
tsk: Task
H_sequential_tasks: sequential_tasks arr_seq sched
H_JLFP_respects_sequential_tasks: policy_respects_sequential_tasks
j: Job
H_j_arrives: arrives_in arr_seq j
H_job_of_tsk: job_of_task tsk j
t1, t: instant
H_quiet_time: quiet_time arr_seq sched j t1
x: nat
Ge: t1 <= x
Le: x < t
jo: Job
Sched_jo: scheduled_at sched jo x
ARRIN: arrives_in arr_seq jo
PRIO: another_task_hep_job jo j = true

\sum_(i <- arrivals_between arr_seq t1 t | another_task_hep_job i j) service_at sched i x = true
Task: TaskType
H: TaskCost Task
Job: JobType
H0: JobTask Job Task
H1: JobArrival Job
H2: JobCost Job
arr_seq: arrival_sequence Job
H_valid_arrival_sequence: valid_arrival_sequence arr_seq
sched: schedule (processor_state Job)
H_jobs_come_from_arrival_sequence: jobs_come_from_arrival_sequence sched arr_seq
H_jobs_must_arrive_to_execute: jobs_must_arrive_to_execute sched
H_completed_jobs_dont_execute: completed_jobs_dont_execute sched
H3: JLFP_policy Job
H_priority_is_reflexive: reflexive_priorities
H_priority_is_transitive: transitive_priorities
tsk: Task
H_sequential_tasks: sequential_tasks arr_seq sched
H_JLFP_respects_sequential_tasks: policy_respects_sequential_tasks
j: Job
H_j_arrives: arrives_in arr_seq j
H_job_of_tsk: job_of_task tsk j
t1, t: instant
H_quiet_time: quiet_time arr_seq sched j t1
x: nat
Ge: t1 <= x
Le: x < t
jo: Job
Sched_jo: scheduled_at sched jo x
ARRIN: arrives_in arr_seq jo
PRIO: another_task_hep_job jo j = true

\sum_(i <- arrivals_between arr_seq t1 t | another_task_hep_job i j) service_at sched i x <= true
Task: TaskType
H: TaskCost Task
Job: JobType
H0: JobTask Job Task
H1: JobArrival Job
H2: JobCost Job
arr_seq: arrival_sequence Job
H_valid_arrival_sequence: valid_arrival_sequence arr_seq
sched: schedule (processor_state Job)
H_jobs_come_from_arrival_sequence: jobs_come_from_arrival_sequence sched arr_seq
H_jobs_must_arrive_to_execute: jobs_must_arrive_to_execute sched
H_completed_jobs_dont_execute: completed_jobs_dont_execute sched
H3: JLFP_policy Job
H_priority_is_reflexive: reflexive_priorities
H_priority_is_transitive: transitive_priorities
tsk: Task
H_sequential_tasks: sequential_tasks arr_seq sched
H_JLFP_respects_sequential_tasks: policy_respects_sequential_tasks
j: Job
H_j_arrives: arrives_in arr_seq j
H_job_of_tsk: job_of_task tsk j
t1, t: instant
H_quiet_time: quiet_time arr_seq sched j t1
x: nat
Ge: t1 <= x
Le: x < t
jo: Job
Sched_jo: scheduled_at sched jo x
ARRIN: arrives_in arr_seq jo
PRIO: another_task_hep_job jo j = true
true <= \sum_(i <- arrivals_between arr_seq t1 t | another_task_hep_job i j) service_at sched i x
Task: TaskType
H: TaskCost Task
Job: JobType
H0: JobTask Job Task
H1: JobArrival Job
H2: JobCost Job
arr_seq: arrival_sequence Job
H_valid_arrival_sequence: valid_arrival_sequence arr_seq
sched: schedule (processor_state Job)
H_jobs_come_from_arrival_sequence: jobs_come_from_arrival_sequence sched arr_seq
H_jobs_must_arrive_to_execute: jobs_must_arrive_to_execute sched
H_completed_jobs_dont_execute: completed_jobs_dont_execute sched
H3: JLFP_policy Job
H_priority_is_reflexive: reflexive_priorities
H_priority_is_transitive: transitive_priorities
tsk: Task
H_sequential_tasks: sequential_tasks arr_seq sched
H_JLFP_respects_sequential_tasks: policy_respects_sequential_tasks
j: Job
H_j_arrives: arrives_in arr_seq j
H_job_of_tsk: job_of_task tsk j
t1, t: instant
H_quiet_time: quiet_time arr_seq sched j t1
x: nat
Ge: t1 <= x
Le: x < t
jo: Job
Sched_jo: scheduled_at sched jo x
ARRIN: arrives_in arr_seq jo
PRIO: another_task_hep_job jo j = true

\sum_(i <- arrivals_between arr_seq t1 t | another_task_hep_job i j) service_at sched i x <= true
Task: TaskType
H: TaskCost Task
Job: JobType
H0: JobTask Job Task
H1: JobArrival Job
H2: JobCost Job
arr_seq: arrival_sequence Job
H_valid_arrival_sequence: valid_arrival_sequence arr_seq
sched: schedule (processor_state Job)
H_jobs_come_from_arrival_sequence: jobs_come_from_arrival_sequence sched arr_seq
H_jobs_must_arrive_to_execute: jobs_must_arrive_to_execute sched
H_completed_jobs_dont_execute: completed_jobs_dont_execute sched
H3: JLFP_policy Job
H_priority_is_reflexive: reflexive_priorities
H_priority_is_transitive: transitive_priorities
tsk: Task
H_sequential_tasks: sequential_tasks arr_seq sched
H_JLFP_respects_sequential_tasks: policy_respects_sequential_tasks
j: Job
H_j_arrives: arrives_in arr_seq j
H_job_of_tsk: job_of_task tsk j
t1, t: instant
H_quiet_time: quiet_time arr_seq sched j t1
x: nat
Ge: t1 <= x
Le: x < t
jo: Job
Sched_jo: scheduled_at sched jo x
ARRIN: arrives_in arr_seq jo
PRIO: another_task_hep_job jo j = true
true <= \sum_(i <- arrivals_between arr_seq t1 t | another_task_hep_job i j) service_at sched i x
Task: TaskType
H: TaskCost Task
Job: JobType
H0: JobTask Job Task
H1: JobArrival Job
H2: JobCost Job
arr_seq: arrival_sequence Job
H_valid_arrival_sequence: valid_arrival_sequence arr_seq
sched: schedule (processor_state Job)
H_jobs_come_from_arrival_sequence: jobs_come_from_arrival_sequence sched arr_seq
H_jobs_must_arrive_to_execute: jobs_must_arrive_to_execute sched
H_completed_jobs_dont_execute: completed_jobs_dont_execute sched
H3: JLFP_policy Job
H_priority_is_reflexive: reflexive_priorities
H_priority_is_transitive: transitive_priorities
tsk: Task
H_sequential_tasks: sequential_tasks arr_seq sched
H_JLFP_respects_sequential_tasks: policy_respects_sequential_tasks
j: Job
H_j_arrives: arrives_in arr_seq j
H_job_of_tsk: job_of_task tsk j
t1, t: instant
H_quiet_time: quiet_time arr_seq sched j t1
x: nat
Ge: t1 <= x
Le: x < t
jo: Job
Sched_jo: scheduled_at sched jo x
ARRIN: arrives_in arr_seq jo
PRIO: another_task_hep_job jo j = true

true <= \sum_(i <- arrivals_between arr_seq t1 t | another_task_hep_job i j) service_at sched i x
Task: TaskType
H: TaskCost Task
Job: JobType
H0: JobTask Job Task
H1: JobArrival Job
H2: JobCost Job
arr_seq: arrival_sequence Job
H_valid_arrival_sequence: valid_arrival_sequence arr_seq
sched: schedule (processor_state Job)
H_jobs_come_from_arrival_sequence: jobs_come_from_arrival_sequence sched arr_seq
H_jobs_must_arrive_to_execute: jobs_must_arrive_to_execute sched
H_completed_jobs_dont_execute: completed_jobs_dont_execute sched
H3: JLFP_policy Job
H_priority_is_reflexive: reflexive_priorities
H_priority_is_transitive: transitive_priorities
tsk: Task
H_sequential_tasks: sequential_tasks arr_seq sched
H_JLFP_respects_sequential_tasks: policy_respects_sequential_tasks
j: Job
H_j_arrives: arrives_in arr_seq j
H_job_of_tsk: job_of_task tsk j
t1, t: instant
H_quiet_time: quiet_time arr_seq sched j t1
x: nat
Ge: t1 <= x
Le: x < t
jo: Job
Sched_jo: scheduled_at sched jo x
ARRIN: arrives_in arr_seq jo
PRIO: another_task_hep_job jo j = true

true <= \sum_(i <- arrivals_between arr_seq t1 t | another_task_hep_job i j) service_at sched i x
Task: TaskType
H: TaskCost Task
Job: JobType
H0: JobTask Job Task
H1: JobArrival Job
H2: JobCost Job
arr_seq: arrival_sequence Job
H_valid_arrival_sequence: valid_arrival_sequence arr_seq
sched: schedule (processor_state Job)
H_jobs_come_from_arrival_sequence: jobs_come_from_arrival_sequence sched arr_seq
H_jobs_must_arrive_to_execute: jobs_must_arrive_to_execute sched
H_completed_jobs_dont_execute: completed_jobs_dont_execute sched
H3: JLFP_policy Job
H_priority_is_reflexive: reflexive_priorities
H_priority_is_transitive: transitive_priorities
tsk: Task
H_sequential_tasks: sequential_tasks arr_seq sched
H_JLFP_respects_sequential_tasks: policy_respects_sequential_tasks
j: Job
H_j_arrives: arrives_in arr_seq j
H_job_of_tsk: job_of_task tsk j
t1, t: instant
H_quiet_time: quiet_time arr_seq sched j t1
x: nat
Ge: t1 <= x
Le: x < t
jo: Job
Sched_jo: scheduled_at sched jo x
ARRIN: arrives_in arr_seq jo
PRIO: another_task_hep_job jo j = true

jo \in [seq x <- arrivals_between arr_seq t1 t | another_task_hep_job x j]
Task: TaskType
H: TaskCost Task
Job: JobType
H0: JobTask Job Task
H1: JobArrival Job
H2: JobCost Job
arr_seq: arrival_sequence Job
H_valid_arrival_sequence: valid_arrival_sequence arr_seq
sched: schedule (processor_state Job)
H_jobs_come_from_arrival_sequence: jobs_come_from_arrival_sequence sched arr_seq
H_jobs_must_arrive_to_execute: jobs_must_arrive_to_execute sched
H_completed_jobs_dont_execute: completed_jobs_dont_execute sched
H3: JLFP_policy Job
H_priority_is_reflexive: reflexive_priorities
H_priority_is_transitive: transitive_priorities
tsk: Task
H_sequential_tasks: sequential_tasks arr_seq sched
H_JLFP_respects_sequential_tasks: policy_respects_sequential_tasks
j: Job
H_j_arrives: arrives_in arr_seq j
H_job_of_tsk: job_of_task tsk j
t1, t: instant
H_quiet_time: quiet_time arr_seq sched j t1
x: nat
Ge: t1 <= x
Le: x < t
jo: Job
Sched_jo: scheduled_at sched jo x
ARRIN: arrives_in arr_seq jo
PRIO: another_task_hep_job jo j = true

arrived_between jo t1 t
Task: TaskType
H: TaskCost Task
Job: JobType
H0: JobTask Job Task
H1: JobArrival Job
H2: JobCost Job
arr_seq: arrival_sequence Job
H_valid_arrival_sequence: valid_arrival_sequence arr_seq
sched: schedule (processor_state Job)
H_jobs_come_from_arrival_sequence: jobs_come_from_arrival_sequence sched arr_seq
H_jobs_must_arrive_to_execute: jobs_must_arrive_to_execute sched
H_completed_jobs_dont_execute: completed_jobs_dont_execute sched
H3: JLFP_policy Job
H_priority_is_reflexive: reflexive_priorities
H_priority_is_transitive: transitive_priorities
tsk: Task
H_sequential_tasks: sequential_tasks arr_seq sched
H_JLFP_respects_sequential_tasks: policy_respects_sequential_tasks
j: Job
H_j_arrives: arrives_in arr_seq j
H_job_of_tsk: job_of_task tsk j
t1, t: instant
H_quiet_time: quiet_time arr_seq sched j t1
x: nat
Ge: t1 <= x
Le: x < t
jo: Job
Sched_jo: scheduled_at sched jo x
ARRIN: arrives_in arr_seq jo
PRIO: another_task_hep_job jo j = true
GE: t <= job_arrival jo

False
Task: TaskType
H: TaskCost Task
Job: JobType
H0: JobTask Job Task
H1: JobArrival Job
H2: JobCost Job
arr_seq: arrival_sequence Job
H_valid_arrival_sequence: valid_arrival_sequence arr_seq
sched: schedule (processor_state Job)
H_jobs_come_from_arrival_sequence: jobs_come_from_arrival_sequence sched arr_seq
H_jobs_must_arrive_to_execute: jobs_must_arrive_to_execute sched
H_completed_jobs_dont_execute: completed_jobs_dont_execute sched
H3: JLFP_policy Job
H_priority_is_reflexive: reflexive_priorities
H_priority_is_transitive: transitive_priorities
tsk: Task
H_sequential_tasks: sequential_tasks arr_seq sched
H_JLFP_respects_sequential_tasks: policy_respects_sequential_tasks
j: Job
H_j_arrives: arrives_in arr_seq j
H_job_of_tsk: job_of_task tsk j
t1, t: instant
H_quiet_time: quiet_time arr_seq sched j t1
x: nat
Ge: t1 <= x
Le: x < t
jo: Job
Sched_jo: scheduled_at sched jo x
ARRIN: arrives_in arr_seq jo
PRIO: another_task_hep_job jo j = true
LT: job_arrival jo < t1
False
Task: TaskType
H: TaskCost Task
Job: JobType
H0: JobTask Job Task
H1: JobArrival Job
H2: JobCost Job
arr_seq: arrival_sequence Job
H_valid_arrival_sequence: valid_arrival_sequence arr_seq
sched: schedule (processor_state Job)
H_jobs_come_from_arrival_sequence: jobs_come_from_arrival_sequence sched arr_seq
H_jobs_must_arrive_to_execute: jobs_must_arrive_to_execute sched
H_completed_jobs_dont_execute: completed_jobs_dont_execute sched
H3: JLFP_policy Job
H_priority_is_reflexive: reflexive_priorities
H_priority_is_transitive: transitive_priorities
tsk: Task
H_sequential_tasks: sequential_tasks arr_seq sched
H_JLFP_respects_sequential_tasks: policy_respects_sequential_tasks
j: Job
H_j_arrives: arrives_in arr_seq j
H_job_of_tsk: job_of_task tsk j
t1, t: instant
H_quiet_time: quiet_time arr_seq sched j t1
x: nat
Ge: t1 <= x
Le: x < t
jo: Job
Sched_jo: scheduled_at sched jo x
ARRIN: arrives_in arr_seq jo
PRIO: another_task_hep_job jo j = true
GE: t <= job_arrival jo

False
Task: TaskType
H: TaskCost Task
Job: JobType
H0: JobTask Job Task
H1: JobArrival Job
H2: JobCost Job
arr_seq: arrival_sequence Job
H_valid_arrival_sequence: valid_arrival_sequence arr_seq
sched: schedule (processor_state Job)
H_jobs_come_from_arrival_sequence: jobs_come_from_arrival_sequence sched arr_seq
H_jobs_must_arrive_to_execute: jobs_must_arrive_to_execute sched
H_completed_jobs_dont_execute: completed_jobs_dont_execute sched
H3: JLFP_policy Job
H_priority_is_reflexive: reflexive_priorities
H_priority_is_transitive: transitive_priorities
tsk: Task
H_sequential_tasks: sequential_tasks arr_seq sched
H_JLFP_respects_sequential_tasks: policy_respects_sequential_tasks
j: Job
H_j_arrives: arrives_in arr_seq j
H_job_of_tsk: job_of_task tsk j
t1, t: instant
H_quiet_time: quiet_time arr_seq sched j t1
x: nat
Ge: t1 <= x
Le: x < t
jo: Job
Sched_jo: scheduled_at sched jo x
ARRIN: arrives_in arr_seq jo
PRIO: another_task_hep_job jo j = true
LT: job_arrival jo < t1
False
Task: TaskType
H: TaskCost Task
Job: JobType
H0: JobTask Job Task
H1: JobArrival Job
H2: JobCost Job
arr_seq: arrival_sequence Job
H_valid_arrival_sequence: valid_arrival_sequence arr_seq
sched: schedule (processor_state Job)
H_jobs_come_from_arrival_sequence: jobs_come_from_arrival_sequence sched arr_seq
H_jobs_must_arrive_to_execute: jobs_must_arrive_to_execute sched
H_completed_jobs_dont_execute: completed_jobs_dont_execute sched
H3: JLFP_policy Job
H_priority_is_reflexive: reflexive_priorities
H_priority_is_transitive: transitive_priorities
tsk: Task
H_sequential_tasks: sequential_tasks arr_seq sched
H_JLFP_respects_sequential_tasks: policy_respects_sequential_tasks
j: Job
H_j_arrives: arrives_in arr_seq j
H_job_of_tsk: job_of_task tsk j
t1, t: instant
H_quiet_time: quiet_time arr_seq sched j t1
x: nat
Ge: t1 <= x
Le: x < t
jo: Job
Sched_jo: scheduled_at sched jo x
ARRIN: arrives_in arr_seq jo
PRIO: another_task_hep_job jo j = true
LT: job_arrival jo < t1

False
Task: TaskType
H: TaskCost Task
Job: JobType
H0: JobTask Job Task
H1: JobArrival Job
H2: JobCost Job
arr_seq: arrival_sequence Job
H_valid_arrival_sequence: valid_arrival_sequence arr_seq
sched: schedule (processor_state Job)
H_jobs_come_from_arrival_sequence: jobs_come_from_arrival_sequence sched arr_seq
H_jobs_must_arrive_to_execute: jobs_must_arrive_to_execute sched
H_completed_jobs_dont_execute: completed_jobs_dont_execute sched
H3: JLFP_policy Job
H_priority_is_reflexive: reflexive_priorities
H_priority_is_transitive: transitive_priorities
tsk: Task
H_sequential_tasks: sequential_tasks arr_seq sched
H_JLFP_respects_sequential_tasks: policy_respects_sequential_tasks
j: Job
H_j_arrives: arrives_in arr_seq j
H_job_of_tsk: job_of_task tsk j
t1, t: instant
H_quiet_time: quiet_time arr_seq sched j t1
x: nat
Ge: t1 <= x
Le: x < t
jo: Job
Sched_jo: scheduled_at sched jo x
ARRIN: arrives_in arr_seq jo
PRIO: another_task_hep_job jo j = true
LT: job_arrival jo < t1

False
Task: TaskType
H: TaskCost Task
Job: JobType
H0: JobTask Job Task
H1: JobArrival Job
H2: JobCost Job
arr_seq: arrival_sequence Job
H_valid_arrival_sequence: valid_arrival_sequence arr_seq
sched: schedule (processor_state Job)
H_jobs_come_from_arrival_sequence: jobs_come_from_arrival_sequence sched arr_seq
H_jobs_must_arrive_to_execute: jobs_must_arrive_to_execute sched
H_completed_jobs_dont_execute: completed_jobs_dont_execute sched
H3: JLFP_policy Job
H_priority_is_reflexive: reflexive_priorities
H_priority_is_transitive: transitive_priorities
tsk: Task
H_sequential_tasks: sequential_tasks arr_seq sched
H_JLFP_respects_sequential_tasks: policy_respects_sequential_tasks
j: Job
H_j_arrives: arrives_in arr_seq j
H_job_of_tsk: job_of_task tsk j
t1, t: instant
H_quiet_time: quiet_time arr_seq sched j t1
x: nat
Ge: t1 <= x
Le: x < t
jo: Job
ARRIN: arrives_in arr_seq jo
PRIO: another_task_hep_job jo j = true
LT: job_arrival jo < t1

~~ scheduled_at sched jo x
Task: TaskType
H: TaskCost Task
Job: JobType
H0: JobTask Job Task
H1: JobArrival Job
H2: JobCost Job
arr_seq: arrival_sequence Job
H_valid_arrival_sequence: valid_arrival_sequence arr_seq
sched: schedule (processor_state Job)
H_jobs_come_from_arrival_sequence: jobs_come_from_arrival_sequence sched arr_seq
H_jobs_must_arrive_to_execute: jobs_must_arrive_to_execute sched
H_completed_jobs_dont_execute: completed_jobs_dont_execute sched
H3: JLFP_policy Job
H_priority_is_reflexive: reflexive_priorities
H_priority_is_transitive: transitive_priorities
tsk: Task
H_sequential_tasks: sequential_tasks arr_seq sched
H_JLFP_respects_sequential_tasks: policy_respects_sequential_tasks
j: Job
H_j_arrives: arrives_in arr_seq j
H_job_of_tsk: job_of_task tsk j
t1, t: instant
H_quiet_time: quiet_time arr_seq sched j t1
x: nat
Ge: t1 <= x
Le: x < t
jo: Job
ARRIN: arrives_in arr_seq jo
PRIO: another_task_hep_job jo j = true
LT: job_arrival jo < t1

hep_job jo j
by move: PRIO => /andP [PRIO _]. }
Task: TaskType
H: TaskCost Task
Job: JobType
H0: JobTask Job Task
H1: JobArrival Job
H2: JobCost Job
arr_seq: arrival_sequence Job
H_valid_arrival_sequence: valid_arrival_sequence arr_seq
sched: schedule (processor_state Job)
H_jobs_come_from_arrival_sequence: jobs_come_from_arrival_sequence sched arr_seq
H_jobs_must_arrive_to_execute: jobs_must_arrive_to_execute sched
H_completed_jobs_dont_execute: completed_jobs_dont_execute sched
H3: JLFP_policy Job
H_priority_is_reflexive: reflexive_priorities
H_priority_is_transitive: transitive_priorities
tsk: Task
H_sequential_tasks: sequential_tasks arr_seq sched
H_JLFP_respects_sequential_tasks: policy_respects_sequential_tasks
j: Job
H_j_arrives: arrives_in arr_seq j
H_job_of_tsk: job_of_task tsk j
t1, t: instant
H_quiet_time: quiet_time arr_seq sched j t1
x: nat
Ge: t1 <= x
Le: x < t
jo: Job
Sched_jo: scheduled_at sched jo x
ARRIN: arrives_in arr_seq jo
PRIO: another_task_hep_job jo j = false

has (fun jhp : Job => another_task_hep_job jhp j && receives_service_at sched jhp x) (arrivals_up_to arr_seq x) = \sum_(i <- arrivals_between arr_seq t1 t | another_task_hep_job i j) service_at sched i x
Task: TaskType
H: TaskCost Task
Job: JobType
H0: JobTask Job Task
H1: JobArrival Job
H2: JobCost Job
arr_seq: arrival_sequence Job
H_valid_arrival_sequence: valid_arrival_sequence arr_seq
sched: schedule (processor_state Job)
H_jobs_come_from_arrival_sequence: jobs_come_from_arrival_sequence sched arr_seq
H_jobs_must_arrive_to_execute: jobs_must_arrive_to_execute sched
H_completed_jobs_dont_execute: completed_jobs_dont_execute sched
H3: JLFP_policy Job
H_priority_is_reflexive: reflexive_priorities
H_priority_is_transitive: transitive_priorities
tsk: Task
H_sequential_tasks: sequential_tasks arr_seq sched
H_JLFP_respects_sequential_tasks: policy_respects_sequential_tasks
j: Job
H_j_arrives: arrives_in arr_seq j
H_job_of_tsk: job_of_task tsk j
t1, t: instant
H_quiet_time: quiet_time arr_seq sched j t1
x: nat
Ge: t1 <= x
Le: x < t
jo: Job
Sched_jo: scheduled_at sched jo x
ARRIN: arrives_in arr_seq jo
PRIO: another_task_hep_job jo j = false

has (fun jhp : Job => another_task_hep_job jhp j && receives_service_at sched jhp x) (arrivals_up_to arr_seq x) = \sum_(i <- arrivals_between arr_seq t1 t | another_task_hep_job i j) service_at sched i x
Task: TaskType
H: TaskCost Task
Job: JobType
H0: JobTask Job Task
H1: JobArrival Job
H2: JobCost Job
arr_seq: arrival_sequence Job
H_valid_arrival_sequence: valid_arrival_sequence arr_seq
sched: schedule (processor_state Job)
H_jobs_come_from_arrival_sequence: jobs_come_from_arrival_sequence sched arr_seq
H_jobs_must_arrive_to_execute: jobs_must_arrive_to_execute sched
H_completed_jobs_dont_execute: completed_jobs_dont_execute sched
H3: JLFP_policy Job
H_priority_is_reflexive: reflexive_priorities
H_priority_is_transitive: transitive_priorities
tsk: Task
H_sequential_tasks: sequential_tasks arr_seq sched
H_JLFP_respects_sequential_tasks: policy_respects_sequential_tasks
j: Job
H_j_arrives: arrives_in arr_seq j
H_job_of_tsk: job_of_task tsk j
t1, t: instant
H_quiet_time: quiet_time arr_seq sched j t1
x: nat
Ge: t1 <= x
Le: x < t
jo: Job
Sched_jo: scheduled_at sched jo x
ARRIN: arrives_in arr_seq jo
PRIO: another_task_hep_job jo j = false

\sum_(i <- arrivals_between arr_seq t1 t | another_task_hep_job i j) service_at sched i x = false
Task: TaskType
H: TaskCost Task
Job: JobType
H0: JobTask Job Task
H1: JobArrival Job
H2: JobCost Job
arr_seq: arrival_sequence Job
H_valid_arrival_sequence: valid_arrival_sequence arr_seq
sched: schedule (processor_state Job)
H_jobs_come_from_arrival_sequence: jobs_come_from_arrival_sequence sched arr_seq
H_jobs_must_arrive_to_execute: jobs_must_arrive_to_execute sched
H_completed_jobs_dont_execute: completed_jobs_dont_execute sched
H3: JLFP_policy Job
H_priority_is_reflexive: reflexive_priorities
H_priority_is_transitive: transitive_priorities
tsk: Task
H_sequential_tasks: sequential_tasks arr_seq sched
H_JLFP_respects_sequential_tasks: policy_respects_sequential_tasks
j: Job
H_j_arrives: arrives_in arr_seq j
H_job_of_tsk: job_of_task tsk j
t1, t: instant
H_quiet_time: quiet_time arr_seq sched j t1
x: nat
Ge: t1 <= x
Le: x < t
jo: Job
Sched_jo: scheduled_at sched jo x
ARRIN: arrives_in arr_seq jo
PRIO: another_task_hep_job jo j = false
{in arrivals_up_to arr_seq x, (fun jhp : Job => another_task_hep_job jhp j && receives_service_at sched jhp x) =1 pred0}
Task: TaskType
H: TaskCost Task
Job: JobType
H0: JobTask Job Task
H1: JobArrival Job
H2: JobCost Job
arr_seq: arrival_sequence Job
H_valid_arrival_sequence: valid_arrival_sequence arr_seq
sched: schedule (processor_state Job)
H_jobs_come_from_arrival_sequence: jobs_come_from_arrival_sequence sched arr_seq
H_jobs_must_arrive_to_execute: jobs_must_arrive_to_execute sched
H_completed_jobs_dont_execute: completed_jobs_dont_execute sched
H3: JLFP_policy Job
H_priority_is_reflexive: reflexive_priorities
H_priority_is_transitive: transitive_priorities
tsk: Task
H_sequential_tasks: sequential_tasks arr_seq sched
H_JLFP_respects_sequential_tasks: policy_respects_sequential_tasks
j: Job
H_j_arrives: arrives_in arr_seq j
H_job_of_tsk: job_of_task tsk j
t1, t: instant
H_quiet_time: quiet_time arr_seq sched j t1
x: nat
Ge: t1 <= x
Le: x < t
jo: Job
Sched_jo: scheduled_at sched jo x
ARRIN: arrives_in arr_seq jo
PRIO: another_task_hep_job jo j = false

\sum_(i <- arrivals_between arr_seq t1 t | another_task_hep_job i j) service_at sched i x = false
Task: TaskType
H: TaskCost Task
Job: JobType
H0: JobTask Job Task
H1: JobArrival Job
H2: JobCost Job
arr_seq: arrival_sequence Job
H_valid_arrival_sequence: valid_arrival_sequence arr_seq
sched: schedule (processor_state Job)
H_jobs_come_from_arrival_sequence: jobs_come_from_arrival_sequence sched arr_seq
H_jobs_must_arrive_to_execute: jobs_must_arrive_to_execute sched
H_completed_jobs_dont_execute: completed_jobs_dont_execute sched
H3: JLFP_policy Job
H_priority_is_reflexive: reflexive_priorities
H_priority_is_transitive: transitive_priorities
tsk: Task
H_sequential_tasks: sequential_tasks arr_seq sched
H_JLFP_respects_sequential_tasks: policy_respects_sequential_tasks
j: Job
H_j_arrives: arrives_in arr_seq j
H_job_of_tsk: job_of_task tsk j
t1, t: instant
H_quiet_time: quiet_time arr_seq sched j t1
x: nat
Ge: t1 <= x
Le: x < t
jo: Job
Sched_jo: scheduled_at sched jo x
ARRIN: arrives_in arr_seq jo
PRIO: another_task_hep_job jo j = false
{in arrivals_up_to arr_seq x, (fun jhp : Job => another_task_hep_job jhp j && receives_service_at sched jhp x) =1 pred0}
Task: TaskType
H: TaskCost Task
Job: JobType
H0: JobTask Job Task
H1: JobArrival Job
H2: JobCost Job
arr_seq: arrival_sequence Job
H_valid_arrival_sequence: valid_arrival_sequence arr_seq
sched: schedule (processor_state Job)
H_jobs_come_from_arrival_sequence: jobs_come_from_arrival_sequence sched arr_seq
H_jobs_must_arrive_to_execute: jobs_must_arrive_to_execute sched
H_completed_jobs_dont_execute: completed_jobs_dont_execute sched
H3: JLFP_policy Job
H_priority_is_reflexive: reflexive_priorities
H_priority_is_transitive: transitive_priorities
tsk: Task
H_sequential_tasks: sequential_tasks arr_seq sched
H_JLFP_respects_sequential_tasks: policy_respects_sequential_tasks
j: Job
H_j_arrives: arrives_in arr_seq j
H_job_of_tsk: job_of_task tsk j
t1, t: instant
H_quiet_time: quiet_time arr_seq sched j t1
x: nat
Ge: t1 <= x
Le: x < t
jo: Job
Sched_jo: scheduled_at sched jo x
ARRIN: arrives_in arr_seq jo
PRIO: another_task_hep_job jo j = false
j': Job
AHEP: another_task_hep_job j' j
SCHED: scheduled_at sched j' x

False
Task: TaskType
H: TaskCost Task
Job: JobType
H0: JobTask Job Task
H1: JobArrival Job
H2: JobCost Job
arr_seq: arrival_sequence Job
H_valid_arrival_sequence: valid_arrival_sequence arr_seq
sched: schedule (processor_state Job)
H_jobs_come_from_arrival_sequence: jobs_come_from_arrival_sequence sched arr_seq
H_jobs_must_arrive_to_execute: jobs_must_arrive_to_execute sched
H_completed_jobs_dont_execute: completed_jobs_dont_execute sched
H3: JLFP_policy Job
H_priority_is_reflexive: reflexive_priorities
H_priority_is_transitive: transitive_priorities
tsk: Task
H_sequential_tasks: sequential_tasks arr_seq sched
H_JLFP_respects_sequential_tasks: policy_respects_sequential_tasks
j: Job
H_j_arrives: arrives_in arr_seq j
H_job_of_tsk: job_of_task tsk j
t1, t: instant
H_quiet_time: quiet_time arr_seq sched j t1
x: nat
Ge: t1 <= x
Le: x < t
jo: Job
Sched_jo: scheduled_at sched jo x
ARRIN: arrives_in arr_seq jo
PRIO: another_task_hep_job jo j = false
{in arrivals_up_to arr_seq x, (fun jhp : Job => another_task_hep_job jhp j && receives_service_at sched jhp x) =1 pred0}
Task: TaskType
H: TaskCost Task
Job: JobType
H0: JobTask Job Task
H1: JobArrival Job
H2: JobCost Job
arr_seq: arrival_sequence Job
H_valid_arrival_sequence: valid_arrival_sequence arr_seq
sched: schedule (processor_state Job)
H_jobs_come_from_arrival_sequence: jobs_come_from_arrival_sequence sched arr_seq
H_jobs_must_arrive_to_execute: jobs_must_arrive_to_execute sched
H_completed_jobs_dont_execute: completed_jobs_dont_execute sched
H3: JLFP_policy Job
H_priority_is_reflexive: reflexive_priorities
H_priority_is_transitive: transitive_priorities
tsk: Task
H_sequential_tasks: sequential_tasks arr_seq sched
H_JLFP_respects_sequential_tasks: policy_respects_sequential_tasks
j: Job
H_j_arrives: arrives_in arr_seq j
H_job_of_tsk: job_of_task tsk j
t1, t: instant
H_quiet_time: quiet_time arr_seq sched j t1
x: nat
Ge: t1 <= x
Le: x < t
jo: Job
Sched_jo: scheduled_at sched jo x
ARRIN: arrives_in arr_seq jo
PRIO: another_task_hep_job jo j = false
j': Job
AHEP: another_task_hep_job j' j
SCHED: scheduled_at sched j' x

jo = j'
Task: TaskType
H: TaskCost Task
Job: JobType
H0: JobTask Job Task
H1: JobArrival Job
H2: JobCost Job
arr_seq: arrival_sequence Job
H_valid_arrival_sequence: valid_arrival_sequence arr_seq
sched: schedule (processor_state Job)
H_jobs_come_from_arrival_sequence: jobs_come_from_arrival_sequence sched arr_seq
H_jobs_must_arrive_to_execute: jobs_must_arrive_to_execute sched
H_completed_jobs_dont_execute: completed_jobs_dont_execute sched
H3: JLFP_policy Job
H_priority_is_reflexive: reflexive_priorities
H_priority_is_transitive: transitive_priorities
tsk: Task
H_sequential_tasks: sequential_tasks arr_seq sched
H_JLFP_respects_sequential_tasks: policy_respects_sequential_tasks
j: Job
H_j_arrives: arrives_in arr_seq j
H_job_of_tsk: job_of_task tsk j
t1, t: instant
H_quiet_time: quiet_time arr_seq sched j t1
x: nat
Ge: t1 <= x
Le: x < t
jo: Job
Sched_jo: scheduled_at sched jo x
ARRIN: arrives_in arr_seq jo
PRIO: another_task_hep_job jo j = false
{in arrivals_up_to arr_seq x, (fun jhp : Job => another_task_hep_job jhp j && receives_service_at sched jhp x) =1 pred0}
Task: TaskType
H: TaskCost Task
Job: JobType
H0: JobTask Job Task
H1: JobArrival Job
H2: JobCost Job
arr_seq: arrival_sequence Job
H_valid_arrival_sequence: valid_arrival_sequence arr_seq
sched: schedule (processor_state Job)
H_jobs_come_from_arrival_sequence: jobs_come_from_arrival_sequence sched arr_seq
H_jobs_must_arrive_to_execute: jobs_must_arrive_to_execute sched
H_completed_jobs_dont_execute: completed_jobs_dont_execute sched
H3: JLFP_policy Job
H_priority_is_reflexive: reflexive_priorities
H_priority_is_transitive: transitive_priorities
tsk: Task
H_sequential_tasks: sequential_tasks arr_seq sched
H_JLFP_respects_sequential_tasks: policy_respects_sequential_tasks
j: Job
H_j_arrives: arrives_in arr_seq j
H_job_of_tsk: job_of_task tsk j
t1, t: instant
H_quiet_time: quiet_time arr_seq sched j t1
x: nat
Ge: t1 <= x
Le: x < t
jo: Job
Sched_jo: scheduled_at sched jo x
ARRIN: arrives_in arr_seq jo
PRIO: another_task_hep_job jo j = false

{in arrivals_up_to arr_seq x, (fun jhp : Job => another_task_hep_job jhp j && receives_service_at sched jhp x) =1 pred0}
Task: TaskType
H: TaskCost Task
Job: JobType
H0: JobTask Job Task
H1: JobArrival Job
H2: JobCost Job
arr_seq: arrival_sequence Job
H_valid_arrival_sequence: valid_arrival_sequence arr_seq
sched: schedule (processor_state Job)
H_jobs_come_from_arrival_sequence: jobs_come_from_arrival_sequence sched arr_seq
H_jobs_must_arrive_to_execute: jobs_must_arrive_to_execute sched
H_completed_jobs_dont_execute: completed_jobs_dont_execute sched
H3: JLFP_policy Job
H_priority_is_reflexive: reflexive_priorities
H_priority_is_transitive: transitive_priorities
tsk: Task
H_sequential_tasks: sequential_tasks arr_seq sched
H_JLFP_respects_sequential_tasks: policy_respects_sequential_tasks
j: Job
H_j_arrives: arrives_in arr_seq j
H_job_of_tsk: job_of_task tsk j
t1, t: instant
H_quiet_time: quiet_time arr_seq sched j t1
x: nat
Ge: t1 <= x
Le: x < t
jo: Job
Sched_jo: scheduled_at sched jo x
ARRIN: arrives_in arr_seq jo
PRIO: another_task_hep_job jo j = false

{in arrivals_up_to arr_seq x, (fun jhp : Job => another_task_hep_job jhp j && receives_service_at sched jhp x) =1 pred0}
Task: TaskType
H: TaskCost Task
Job: JobType
H0: JobTask Job Task
H1: JobArrival Job
H2: JobCost Job
arr_seq: arrival_sequence Job
H_valid_arrival_sequence: valid_arrival_sequence arr_seq
sched: schedule (processor_state Job)
H_jobs_come_from_arrival_sequence: jobs_come_from_arrival_sequence sched arr_seq
H_jobs_must_arrive_to_execute: jobs_must_arrive_to_execute sched
H_completed_jobs_dont_execute: completed_jobs_dont_execute sched
H3: JLFP_policy Job
H_priority_is_reflexive: reflexive_priorities
H_priority_is_transitive: transitive_priorities
tsk: Task
H_sequential_tasks: sequential_tasks arr_seq sched
H_JLFP_respects_sequential_tasks: policy_respects_sequential_tasks
j: Job
H_j_arrives: arrives_in arr_seq j
H_job_of_tsk: job_of_task tsk j
t1, t: instant
H_quiet_time: quiet_time arr_seq sched j t1
x: nat
Ge: t1 <= x
Le: x < t
jo: Job
Sched_jo: scheduled_at sched jo x
ARRIN: arrives_in arr_seq jo
PRIO: another_task_hep_job jo j = false
j': Job
IN: j' \in arrivals_up_to arr_seq x

another_task_hep_job j' j && receives_service_at sched j' x == false
Task: TaskType
H: TaskCost Task
Job: JobType
H0: JobTask Job Task
H1: JobArrival Job
H2: JobCost Job
arr_seq: arrival_sequence Job
H_valid_arrival_sequence: valid_arrival_sequence arr_seq
sched: schedule (processor_state Job)
H_jobs_come_from_arrival_sequence: jobs_come_from_arrival_sequence sched arr_seq
H_jobs_must_arrive_to_execute: jobs_must_arrive_to_execute sched
H_completed_jobs_dont_execute: completed_jobs_dont_execute sched
H3: JLFP_policy Job
H_priority_is_reflexive: reflexive_priorities
H_priority_is_transitive: transitive_priorities
tsk: Task
H_sequential_tasks: sequential_tasks arr_seq sched
H_JLFP_respects_sequential_tasks: policy_respects_sequential_tasks
j: Job
H_j_arrives: arrives_in arr_seq j
H_job_of_tsk: job_of_task tsk j
t1, t: instant
H_quiet_time: quiet_time arr_seq sched j t1
x: nat
Ge: t1 <= x
Le: x < t
jo: Job
Sched_jo: scheduled_at sched jo x
ARRIN: arrives_in arr_seq jo
PRIO: another_task_hep_job jo j = false
j': Job
IN: j' \in arrivals_up_to arr_seq x
SCHED: receives_service_at sched j' x

~~ another_task_hep_job j' j
Task: TaskType
H: TaskCost Task
Job: JobType
H0: JobTask Job Task
H1: JobArrival Job
H2: JobCost Job
arr_seq: arrival_sequence Job
H_valid_arrival_sequence: valid_arrival_sequence arr_seq
sched: schedule (processor_state Job)
H_jobs_come_from_arrival_sequence: jobs_come_from_arrival_sequence sched arr_seq
H_jobs_must_arrive_to_execute: jobs_must_arrive_to_execute sched
H_completed_jobs_dont_execute: completed_jobs_dont_execute sched
H3: JLFP_policy Job
H_priority_is_reflexive: reflexive_priorities
H_priority_is_transitive: transitive_priorities
tsk: Task
H_sequential_tasks: sequential_tasks arr_seq sched
H_JLFP_respects_sequential_tasks: policy_respects_sequential_tasks
j: Job
H_j_arrives: arrives_in arr_seq j
H_job_of_tsk: job_of_task tsk j
t1, t: instant
H_quiet_time: quiet_time arr_seq sched j t1
x: nat
Ge: t1 <= x
Le: x < t
jo: Job
Sched_jo: scheduled_at sched jo x
ARRIN: arrives_in arr_seq jo
PRIO: another_task_hep_job jo j = false
j': Job
IN: j' \in arrivals_up_to arr_seq x
SCHED: scheduled_at sched j' x

~~ another_task_hep_job j' j
Task: TaskType
H: TaskCost Task
Job: JobType
H0: JobTask Job Task
H1: JobArrival Job
H2: JobCost Job
arr_seq: arrival_sequence Job
H_valid_arrival_sequence: valid_arrival_sequence arr_seq
sched: schedule (processor_state Job)
H_jobs_come_from_arrival_sequence: jobs_come_from_arrival_sequence sched arr_seq
H_jobs_must_arrive_to_execute: jobs_must_arrive_to_execute sched
H_completed_jobs_dont_execute: completed_jobs_dont_execute sched
H3: JLFP_policy Job
H_priority_is_reflexive: reflexive_priorities
H_priority_is_transitive: transitive_priorities
tsk: Task
H_sequential_tasks: sequential_tasks arr_seq sched
H_JLFP_respects_sequential_tasks: policy_respects_sequential_tasks
j: Job
H_j_arrives: arrives_in arr_seq j
H_job_of_tsk: job_of_task tsk j
t1, t: instant
H_quiet_time: quiet_time arr_seq sched j t1
x: nat
Ge: t1 <= x
Le: x < t
jo: Job
Sched_jo: scheduled_at sched jo x
ARRIN: arrives_in arr_seq jo
PRIO: another_task_hep_job jo j = false
j': Job
IN: j' \in arrivals_up_to arr_seq x
SCHED: scheduled_at sched j' x

jo = j'
by eapply ideal_proc_model_is_a_uniprocessor_model; rt_eauto. } } Qed. End InstantiatedServiceEquivalences. (** In this section we prove that the abstract definition of busy interval is equivalent to the conventional, concrete definition of busy interval for JLFP scheduling. *) Section BusyIntervalEquivalence. (** In order to avoid confusion, we denote the notion of a quiet time in the _classical_ sense as [quiet_time_cl], and the notion of quiet time in the _abstract_ sense as [quiet_time_ab]. *) Let quiet_time_cl := busy_interval.quiet_time arr_seq sched. Let quiet_time_ab := definitions.quiet_time sched. (** Same for the two notions of a busy interval prefix ... *) Let busy_interval_prefix_cl := busy_interval.busy_interval_prefix arr_seq sched. Let busy_interval_prefix_ab := definitions.busy_interval_prefix sched. (** ... and the two notions of a busy interval. *) Let busy_interval_cl := busy_interval.busy_interval arr_seq sched. Let busy_interval_ab := definitions.busy_interval sched. (** Consider any job j of [tsk]. *) Variable j : Job. Hypothesis H_j_arrives : arrives_in arr_seq j. Hypothesis H_job_cost_positive : job_cost_positive j. (** To show the equivalence of the notions of busy intervals, we first show that the notions of quiet time are also equivalent. *) (** First, we show that the classical notion of quiet time implies the abstract notion of quiet time. *)
Task: TaskType
H: TaskCost Task
Job: JobType
H0: JobTask Job Task
H1: JobArrival Job
H2: JobCost Job
arr_seq: arrival_sequence Job
H_valid_arrival_sequence: valid_arrival_sequence arr_seq
sched: schedule (processor_state Job)
H_jobs_come_from_arrival_sequence: jobs_come_from_arrival_sequence sched arr_seq
H_jobs_must_arrive_to_execute: jobs_must_arrive_to_execute sched
H_completed_jobs_dont_execute: completed_jobs_dont_execute sched
H3: JLFP_policy Job
H_priority_is_reflexive: reflexive_priorities
H_priority_is_transitive: transitive_priorities
tsk: Task
H_sequential_tasks: sequential_tasks arr_seq sched
H_JLFP_respects_sequential_tasks: policy_respects_sequential_tasks
quiet_time_cl:= quiet_time arr_seq sched: Job -> instant -> Prop
quiet_time_ab:= definitions.quiet_time sched: Job -> instant -> Prop
busy_interval_prefix_cl:= busy_interval_prefix arr_seq sched: Job -> instant -> instant -> Prop
busy_interval_prefix_ab:= definitions.busy_interval_prefix sched: Job -> instant -> instant -> Prop
busy_interval_cl:= busy_interval arr_seq sched: Job -> instant -> instant -> Prop
busy_interval_ab:= definitions.busy_interval sched: Job -> instant -> instant -> Prop
j: Job
H_j_arrives: arrives_in arr_seq j
H_job_cost_positive: job_cost_positive j

forall t : instant, quiet_time_cl j t -> quiet_time_ab j t
Task: TaskType
H: TaskCost Task
Job: JobType
H0: JobTask Job Task
H1: JobArrival Job
H2: JobCost Job
arr_seq: arrival_sequence Job
H_valid_arrival_sequence: valid_arrival_sequence arr_seq
sched: schedule (processor_state Job)
H_jobs_come_from_arrival_sequence: jobs_come_from_arrival_sequence sched arr_seq
H_jobs_must_arrive_to_execute: jobs_must_arrive_to_execute sched
H_completed_jobs_dont_execute: completed_jobs_dont_execute sched
H3: JLFP_policy Job
H_priority_is_reflexive: reflexive_priorities
H_priority_is_transitive: transitive_priorities
tsk: Task
H_sequential_tasks: sequential_tasks arr_seq sched
H_JLFP_respects_sequential_tasks: policy_respects_sequential_tasks
quiet_time_cl:= quiet_time arr_seq sched: Job -> instant -> Prop
quiet_time_ab:= definitions.quiet_time sched: Job -> instant -> Prop
busy_interval_prefix_cl:= busy_interval_prefix arr_seq sched: Job -> instant -> instant -> Prop
busy_interval_prefix_ab:= definitions.busy_interval_prefix sched: Job -> instant -> instant -> Prop
busy_interval_cl:= busy_interval arr_seq sched: Job -> instant -> instant -> Prop
busy_interval_ab:= definitions.busy_interval sched: Job -> instant -> instant -> Prop
j: Job
H_j_arrives: arrives_in arr_seq j
H_job_cost_positive: job_cost_positive j

forall t : instant, quiet_time_cl j t -> quiet_time_ab j t
Task: TaskType
H: TaskCost Task
Job: JobType
H0: JobTask Job Task
H1: JobArrival Job
H2: JobCost Job
arr_seq: arrival_sequence Job
H_valid_arrival_sequence: valid_arrival_sequence arr_seq
sched: schedule (processor_state Job)
H_jobs_come_from_arrival_sequence: jobs_come_from_arrival_sequence sched arr_seq
H_jobs_must_arrive_to_execute: jobs_must_arrive_to_execute sched
H_completed_jobs_dont_execute: completed_jobs_dont_execute sched
H3: JLFP_policy Job
H_priority_is_reflexive: reflexive_priorities
H_priority_is_transitive: transitive_priorities
tsk: Task
H_sequential_tasks: sequential_tasks arr_seq sched
quiet_time_cl:= quiet_time arr_seq sched: Job -> instant -> Prop
quiet_time_ab:= definitions.quiet_time sched: Job -> instant -> Prop
busy_interval_prefix_cl:= busy_interval_prefix arr_seq sched: Job -> instant -> instant -> Prop
busy_interval_prefix_ab:= definitions.busy_interval_prefix sched: Job -> instant -> instant -> Prop
busy_interval_cl:= busy_interval arr_seq sched: Job -> instant -> instant -> Prop
busy_interval_ab:= definitions.busy_interval sched: Job -> instant -> instant -> Prop
j: Job
H_j_arrives: arrives_in arr_seq j
H_job_cost_positive: job_cost_positive j

forall t : instant, quiet_time_cl j t -> quiet_time_ab j t
Task: TaskType
H: TaskCost Task
Job: JobType
H0: JobTask Job Task
H1: JobArrival Job
H2: JobCost Job
arr_seq: arrival_sequence Job
H_valid_arrival_sequence: valid_arrival_sequence arr_seq
sched: schedule (processor_state Job)
H_jobs_come_from_arrival_sequence: jobs_come_from_arrival_sequence sched arr_seq
H_jobs_must_arrive_to_execute: jobs_must_arrive_to_execute sched
H_completed_jobs_dont_execute: completed_jobs_dont_execute sched
H3: JLFP_policy Job
H_priority_is_reflexive: reflexive_priorities
H_priority_is_transitive: transitive_priorities
tsk: Task
H_sequential_tasks: sequential_tasks arr_seq sched
quiet_time_cl:= quiet_time arr_seq sched: Job -> instant -> Prop
quiet_time_ab:= definitions.quiet_time sched: Job -> instant -> Prop
busy_interval_prefix_cl:= busy_interval_prefix arr_seq sched: Job -> instant -> instant -> Prop
busy_interval_prefix_ab:= definitions.busy_interval_prefix sched: Job -> instant -> instant -> Prop
busy_interval_cl:= busy_interval arr_seq sched: Job -> instant -> instant -> Prop
busy_interval_ab:= definitions.busy_interval sched: Job -> instant -> instant -> Prop
j: Job
H_j_arrives: arrives_in arr_seq j
H_job_cost_positive: job_cost_positive j

forall j : Job, quiet_time_cl j 0
Task: TaskType
H: TaskCost Task
Job: JobType
H0: JobTask Job Task
H1: JobArrival Job
H2: JobCost Job
arr_seq: arrival_sequence Job
H_valid_arrival_sequence: valid_arrival_sequence arr_seq
sched: schedule (processor_state Job)
H_jobs_come_from_arrival_sequence: jobs_come_from_arrival_sequence sched arr_seq
H_jobs_must_arrive_to_execute: jobs_must_arrive_to_execute sched
H_completed_jobs_dont_execute: completed_jobs_dont_execute sched
H3: JLFP_policy Job
H_priority_is_reflexive: reflexive_priorities
H_priority_is_transitive: transitive_priorities
tsk: Task
H_sequential_tasks: sequential_tasks arr_seq sched
quiet_time_cl:= quiet_time arr_seq sched: Job -> instant -> Prop
quiet_time_ab:= definitions.quiet_time sched: Job -> instant -> Prop
busy_interval_prefix_cl:= busy_interval_prefix arr_seq sched: Job -> instant -> instant -> Prop
busy_interval_prefix_ab:= definitions.busy_interval_prefix sched: Job -> instant -> instant -> Prop
busy_interval_cl:= busy_interval arr_seq sched: Job -> instant -> instant -> Prop
busy_interval_ab:= definitions.busy_interval sched: Job -> instant -> instant -> Prop
j: Job
H_j_arrives: arrives_in arr_seq j
H_job_cost_positive: job_cost_positive j
zero_is_quiet_time: forall j : Job, quiet_time_cl j 0
forall t : instant, quiet_time_cl j t -> quiet_time_ab j t
Task: TaskType
H: TaskCost Task
Job: JobType
H0: JobTask Job Task
H1: JobArrival Job
H2: JobCost Job
arr_seq: arrival_sequence Job
H_valid_arrival_sequence: valid_arrival_sequence arr_seq
sched: schedule (processor_state Job)
H_jobs_come_from_arrival_sequence: jobs_come_from_arrival_sequence sched arr_seq
H_jobs_must_arrive_to_execute: jobs_must_arrive_to_execute sched
H_completed_jobs_dont_execute: completed_jobs_dont_execute sched
H3: JLFP_policy Job
H_priority_is_reflexive: reflexive_priorities
H_priority_is_transitive: transitive_priorities
tsk: Task
H_sequential_tasks: sequential_tasks arr_seq sched
quiet_time_cl:= quiet_time arr_seq sched: Job -> instant -> Prop
quiet_time_ab:= definitions.quiet_time sched: Job -> instant -> Prop
busy_interval_prefix_cl:= busy_interval_prefix arr_seq sched: Job -> instant -> instant -> Prop
busy_interval_prefix_ab:= definitions.busy_interval_prefix sched: Job -> instant -> instant -> Prop
busy_interval_cl:= busy_interval arr_seq sched: Job -> instant -> instant -> Prop
busy_interval_ab:= definitions.busy_interval sched: Job -> instant -> instant -> Prop
j: Job
H_j_arrives: arrives_in arr_seq j
H_job_cost_positive: job_cost_positive j

forall j : Job, quiet_time_cl j 0
by move => jhp ARR HP AB; move: AB; rewrite /arrived_before ltn0.
Task: TaskType
H: TaskCost Task
Job: JobType
H0: JobTask Job Task
H1: JobArrival Job
H2: JobCost Job
arr_seq: arrival_sequence Job
H_valid_arrival_sequence: valid_arrival_sequence arr_seq
sched: schedule (processor_state Job)
H_jobs_come_from_arrival_sequence: jobs_come_from_arrival_sequence sched arr_seq
H_jobs_must_arrive_to_execute: jobs_must_arrive_to_execute sched
H_completed_jobs_dont_execute: completed_jobs_dont_execute sched
H3: JLFP_policy Job
H_priority_is_reflexive: reflexive_priorities
H_priority_is_transitive: transitive_priorities
tsk: Task
H_sequential_tasks: sequential_tasks arr_seq sched
quiet_time_cl:= quiet_time arr_seq sched: Job -> instant -> Prop
quiet_time_ab:= definitions.quiet_time sched: Job -> instant -> Prop
busy_interval_prefix_cl:= busy_interval_prefix arr_seq sched: Job -> instant -> instant -> Prop
busy_interval_prefix_ab:= definitions.busy_interval_prefix sched: Job -> instant -> instant -> Prop
busy_interval_cl:= busy_interval arr_seq sched: Job -> instant -> instant -> Prop
busy_interval_ab:= definitions.busy_interval sched: Job -> instant -> instant -> Prop
j: Job
H_j_arrives: arrives_in arr_seq j
H_job_cost_positive: job_cost_positive j
zero_is_quiet_time: forall j : Job, quiet_time_cl j 0

forall t : instant, quiet_time_cl j t -> quiet_time_ab j t
Task: TaskType
H: TaskCost Task
Job: JobType
H0: JobTask Job Task
H1: JobArrival Job
H2: JobCost Job
arr_seq: arrival_sequence Job
H_valid_arrival_sequence: valid_arrival_sequence arr_seq
sched: schedule (processor_state Job)
H_jobs_come_from_arrival_sequence: jobs_come_from_arrival_sequence sched arr_seq
H_jobs_must_arrive_to_execute: jobs_must_arrive_to_execute sched
H_completed_jobs_dont_execute: completed_jobs_dont_execute sched
H3: JLFP_policy Job
H_priority_is_reflexive: reflexive_priorities
H_priority_is_transitive: transitive_priorities
tsk: Task
H_sequential_tasks: sequential_tasks arr_seq sched
quiet_time_cl:= quiet_time arr_seq sched: Job -> instant -> Prop
quiet_time_ab:= definitions.quiet_time sched: Job -> instant -> Prop
busy_interval_prefix_cl:= busy_interval_prefix arr_seq sched: Job -> instant -> instant -> Prop
busy_interval_prefix_ab:= definitions.busy_interval_prefix sched: Job -> instant -> instant -> Prop
busy_interval_cl:= busy_interval arr_seq sched: Job -> instant -> instant -> Prop
busy_interval_ab:= definitions.busy_interval sched: Job -> instant -> instant -> Prop
j: Job
H_j_arrives: arrives_in arr_seq j
H_job_cost_positive: job_cost_positive j
zero_is_quiet_time: forall j : Job, quiet_time_cl j 0
t: instant
QT: quiet_time_cl j t

~~ pending_earlier_and_at sched j t
Task: TaskType
H: TaskCost Task
Job: JobType
H0: JobTask Job Task
H1: JobArrival Job
H2: JobCost Job
arr_seq: arrival_sequence Job
H_valid_arrival_sequence: valid_arrival_sequence arr_seq
sched: schedule (processor_state Job)
H_jobs_come_from_arrival_sequence: jobs_come_from_arrival_sequence sched arr_seq
H_jobs_must_arrive_to_execute: jobs_must_arrive_to_execute sched
H_completed_jobs_dont_execute: completed_jobs_dont_execute sched
H3: JLFP_policy Job
H_priority_is_reflexive: reflexive_priorities
H_priority_is_transitive: transitive_priorities
tsk: Task
H_sequential_tasks: sequential_tasks arr_seq sched
quiet_time_cl:= quiet_time arr_seq sched: Job -> instant -> Prop
quiet_time_ab:= definitions.quiet_time sched: Job -> instant -> Prop
busy_interval_prefix_cl:= busy_interval_prefix arr_seq sched: Job -> instant -> instant -> Prop
busy_interval_prefix_ab:= definitions.busy_interval_prefix sched: Job -> instant -> instant -> Prop
busy_interval_cl:= busy_interval arr_seq sched: Job -> instant -> instant -> Prop
busy_interval_ab:= definitions.busy_interval sched: Job -> instant -> instant -> Prop
j: Job
H_j_arrives: arrives_in arr_seq j
H_job_cost_positive: job_cost_positive j
zero_is_quiet_time: forall j : Job, quiet_time_cl j 0
t: instant
QT: quiet_time_cl j t
cumulative_interference j 0 t = cumulative_interfering_workload j 0 t
Task: TaskType
H: TaskCost Task
Job: JobType
H0: JobTask Job Task
H1: JobArrival Job
H2: JobCost Job
arr_seq: arrival_sequence Job
H_valid_arrival_sequence: valid_arrival_sequence arr_seq
sched: schedule (processor_state Job)
H_jobs_come_from_arrival_sequence: jobs_come_from_arrival_sequence sched arr_seq
H_jobs_must_arrive_to_execute: jobs_must_arrive_to_execute sched
H_completed_jobs_dont_execute: completed_jobs_dont_execute sched
H3: JLFP_policy Job
H_priority_is_reflexive: reflexive_priorities
H_priority_is_transitive: transitive_priorities
tsk: Task
H_sequential_tasks: sequential_tasks arr_seq sched
quiet_time_cl:= quiet_time arr_seq sched: Job -> instant -> Prop
quiet_time_ab:= definitions.quiet_time sched: Job -> instant -> Prop
busy_interval_prefix_cl:= busy_interval_prefix arr_seq sched: Job -> instant -> instant -> Prop
busy_interval_prefix_ab:= definitions.busy_interval_prefix sched: Job -> instant -> instant -> Prop
busy_interval_cl:= busy_interval arr_seq sched: Job -> instant -> instant -> Prop
busy_interval_ab:= definitions.busy_interval sched: Job -> instant -> instant -> Prop
j: Job
H_j_arrives: arrives_in arr_seq j
H_job_cost_positive: job_cost_positive j
zero_is_quiet_time: forall j : Job, quiet_time_cl j 0
t: instant
QT: quiet_time_cl j t

~~ pending_earlier_and_at sched j t
Task: TaskType
H: TaskCost Task
Job: JobType
H0: JobTask Job Task
H1: JobArrival Job
H2: JobCost Job
arr_seq: arrival_sequence Job
H_valid_arrival_sequence: valid_arrival_sequence arr_seq
sched: schedule (processor_state Job)
H_jobs_come_from_arrival_sequence: jobs_come_from_arrival_sequence sched arr_seq
H_jobs_must_arrive_to_execute: jobs_must_arrive_to_execute sched
H_completed_jobs_dont_execute: completed_jobs_dont_execute sched
H3: JLFP_policy Job
H_priority_is_reflexive: reflexive_priorities
H_priority_is_transitive: transitive_priorities
tsk: Task
H_sequential_tasks: sequential_tasks arr_seq sched
quiet_time_cl:= quiet_time arr_seq sched: Job -> instant -> Prop
quiet_time_ab:= definitions.quiet_time sched: Job -> instant -> Prop
busy_interval_prefix_cl:= busy_interval_prefix arr_seq sched: Job -> instant -> instant -> Prop
busy_interval_prefix_ab:= definitions.busy_interval_prefix sched: Job -> instant -> instant -> Prop
busy_interval_cl:= busy_interval arr_seq sched: Job -> instant -> instant -> Prop
busy_interval_ab:= definitions.busy_interval sched: Job -> instant -> instant -> Prop
j: Job
H_j_arrives: arrives_in arr_seq j
H_job_cost_positive: job_cost_positive j
zero_is_quiet_time: forall j : Job, quiet_time_cl j 0
t: instant
QT: quiet_time_cl j t

~~ arrived_before j t \/ completed_by sched j t
Task: TaskType
H: TaskCost Task
Job: JobType
H0: JobTask Job Task
H1: JobArrival Job
H2: JobCost Job
arr_seq: arrival_sequence Job
H_valid_arrival_sequence: valid_arrival_sequence arr_seq
sched: schedule (processor_state Job)
H_jobs_come_from_arrival_sequence: jobs_come_from_arrival_sequence sched arr_seq
H_jobs_must_arrive_to_execute: jobs_must_arrive_to_execute sched
H_completed_jobs_dont_execute: completed_jobs_dont_execute sched
H3: JLFP_policy Job
H_priority_is_reflexive: reflexive_priorities
H_priority_is_transitive: transitive_priorities
tsk: Task
H_sequential_tasks: sequential_tasks arr_seq sched
quiet_time_cl:= quiet_time arr_seq sched: Job -> instant -> Prop
quiet_time_ab:= definitions.quiet_time sched: Job -> instant -> Prop
busy_interval_prefix_cl:= busy_interval_prefix arr_seq sched: Job -> instant -> instant -> Prop
busy_interval_prefix_ab:= definitions.busy_interval_prefix sched: Job -> instant -> instant -> Prop
busy_interval_cl:= busy_interval arr_seq sched: Job -> instant -> instant -> Prop
busy_interval_ab:= definitions.busy_interval sched: Job -> instant -> instant -> Prop
j: Job
H_j_arrives: arrives_in arr_seq j
H_job_cost_positive: job_cost_positive j
zero_is_quiet_time: forall j : Job, quiet_time_cl j 0
t: instant
QT: quiet_time_cl j t
ARR: arrived_before j t = true

hep_job j j
by apply H_priority_is_reflexive with (t := 0).
Task: TaskType
H: TaskCost Task
Job: JobType
H0: JobTask Job Task
H1: JobArrival Job
H2: JobCost Job
arr_seq: arrival_sequence Job
H_valid_arrival_sequence: valid_arrival_sequence arr_seq
sched: schedule (processor_state Job)
H_jobs_come_from_arrival_sequence: jobs_come_from_arrival_sequence sched arr_seq
H_jobs_must_arrive_to_execute: jobs_must_arrive_to_execute sched
H_completed_jobs_dont_execute: completed_jobs_dont_execute sched
H3: JLFP_policy Job
H_priority_is_reflexive: reflexive_priorities
H_priority_is_transitive: transitive_priorities
tsk: Task
H_sequential_tasks: sequential_tasks arr_seq sched
quiet_time_cl:= quiet_time arr_seq sched: Job -> instant -> Prop
quiet_time_ab:= definitions.quiet_time sched: Job -> instant -> Prop
busy_interval_prefix_cl:= busy_interval_prefix arr_seq sched: Job -> instant -> instant -> Prop
busy_interval_prefix_ab:= definitions.busy_interval_prefix sched: Job -> instant -> instant -> Prop
busy_interval_cl:= busy_interval arr_seq sched: Job -> instant -> instant -> Prop
busy_interval_ab:= definitions.busy_interval sched: Job -> instant -> instant -> Prop
j: Job
H_j_arrives: arrives_in arr_seq j
H_job_cost_positive: job_cost_positive j
zero_is_quiet_time: forall j : Job, quiet_time_cl j 0
t: instant
QT: quiet_time_cl j t

cumulative_interference j 0 t = cumulative_interfering_workload j 0 t
Task: TaskType
H: TaskCost Task
Job: JobType
H0: JobTask Job Task
H1: JobArrival Job
H2: JobCost Job
arr_seq: arrival_sequence Job
H_valid_arrival_sequence: valid_arrival_sequence arr_seq
sched: schedule (processor_state Job)
H_jobs_come_from_arrival_sequence: jobs_come_from_arrival_sequence sched arr_seq
H_jobs_must_arrive_to_execute: jobs_must_arrive_to_execute sched
H_completed_jobs_dont_execute: completed_jobs_dont_execute sched
H3: JLFP_policy Job
H_priority_is_reflexive: reflexive_priorities
H_priority_is_transitive: transitive_priorities
tsk: Task
H_sequential_tasks: sequential_tasks arr_seq sched
quiet_time_cl:= quiet_time arr_seq sched: Job -> instant -> Prop
quiet_time_ab:= definitions.quiet_time sched: Job -> instant -> Prop
busy_interval_prefix_cl:= busy_interval_prefix arr_seq sched: Job -> instant -> instant -> Prop
busy_interval_prefix_ab:= definitions.busy_interval_prefix sched: Job -> instant -> instant -> Prop
busy_interval_cl:= busy_interval arr_seq sched: Job -> instant -> instant -> Prop
busy_interval_ab:= definitions.busy_interval sched: Job -> instant -> instant -> Prop
j: Job
H_j_arrives: arrives_in arr_seq j
H_job_cost_positive: job_cost_positive j
zero_is_quiet_time: forall j : Job, quiet_time_cl j 0
t: instant
QT: quiet_time_cl j t

cumulative_interference j 0 t = cumulative_interfering_workload j 0 t
Task: TaskType
H: TaskCost Task
Job: JobType
H0: JobTask Job Task
H1: JobArrival Job
H2: JobCost Job
arr_seq: arrival_sequence Job
H_valid_arrival_sequence: valid_arrival_sequence arr_seq
sched: schedule (processor_state Job)
H_jobs_come_from_arrival_sequence: jobs_come_from_arrival_sequence sched arr_seq
H_jobs_must_arrive_to_execute: jobs_must_arrive_to_execute sched
H_completed_jobs_dont_execute: completed_jobs_dont_execute sched
H3: JLFP_policy Job
H_priority_is_reflexive: reflexive_priorities
H_priority_is_transitive: transitive_priorities
tsk: Task
H_sequential_tasks: sequential_tasks arr_seq sched
quiet_time_cl:= quiet_time arr_seq sched: Job -> instant -> Prop
quiet_time_ab:= definitions.quiet_time sched: Job -> instant -> Prop
busy_interval_prefix_cl:= busy_interval_prefix arr_seq sched: Job -> instant -> instant -> Prop
busy_interval_prefix_ab:= definitions.busy_interval_prefix sched: Job -> instant -> instant -> Prop
busy_interval_cl:= busy_interval arr_seq sched: Job -> instant -> instant -> Prop
busy_interval_ab:= definitions.busy_interval sched: Job -> instant -> instant -> Prop
j: Job
H_j_arrives: arrives_in arr_seq j
H_job_cost_positive: job_cost_positive j
zero_is_quiet_time: forall j : Job, quiet_time_cl j 0
t: instant
QT: quiet_time_cl j t

cumulative_another_hep_job_interference j 0 t == cumulative_other_hep_jobs_interfering_workload j 0 t
Task: TaskType
H: TaskCost Task
Job: JobType
H0: JobTask Job Task
H1: JobArrival Job
H2: JobCost Job
arr_seq: arrival_sequence Job
H_valid_arrival_sequence: valid_arrival_sequence arr_seq
sched: schedule (processor_state Job)
H_jobs_come_from_arrival_sequence: jobs_come_from_arrival_sequence sched arr_seq
H_jobs_must_arrive_to_execute: jobs_must_arrive_to_execute sched
H_completed_jobs_dont_execute: completed_jobs_dont_execute sched
H3: JLFP_policy Job
H_priority_is_reflexive: reflexive_priorities
H_priority_is_transitive: transitive_priorities
tsk: Task
H_sequential_tasks: sequential_tasks arr_seq sched
quiet_time_cl:= quiet_time arr_seq sched: Job -> instant -> Prop
quiet_time_ab:= definitions.quiet_time sched: Job -> instant -> Prop
busy_interval_prefix_cl:= busy_interval_prefix arr_seq sched: Job -> instant -> instant -> Prop
busy_interval_prefix_ab:= definitions.busy_interval_prefix sched: Job -> instant -> instant -> Prop
busy_interval_cl:= busy_interval arr_seq sched: Job -> instant -> instant -> Prop
busy_interval_ab:= definitions.busy_interval sched: Job -> instant -> instant -> Prop
j: Job
H_j_arrives: arrives_in arr_seq j
H_job_cost_positive: job_cost_positive j
zero_is_quiet_time: forall j : Job, quiet_time_cl j 0
t: instant
QT: quiet_time_cl j t

quiet_time arr_seq sched j 0
Task: TaskType
H: TaskCost Task
Job: JobType
H0: JobTask Job Task
H1: JobArrival Job
H2: JobCost Job
arr_seq: arrival_sequence Job
H_valid_arrival_sequence: valid_arrival_sequence arr_seq
sched: schedule (processor_state Job)
H_jobs_come_from_arrival_sequence: jobs_come_from_arrival_sequence sched arr_seq
H_jobs_must_arrive_to_execute: jobs_must_arrive_to_execute sched
H_completed_jobs_dont_execute: completed_jobs_dont_execute sched
H3: JLFP_policy Job
H_priority_is_reflexive: reflexive_priorities
H_priority_is_transitive: transitive_priorities
tsk: Task
H_sequential_tasks: sequential_tasks arr_seq sched
quiet_time_cl:= quiet_time arr_seq sched: Job -> instant -> Prop
quiet_time_ab:= definitions.quiet_time sched: Job -> instant -> Prop
busy_interval_prefix_cl:= busy_interval_prefix arr_seq sched: Job -> instant -> instant -> Prop
busy_interval_prefix_ab:= definitions.busy_interval_prefix sched: Job -> instant -> instant -> Prop
busy_interval_cl:= busy_interval arr_seq sched: Job -> instant -> instant -> Prop
busy_interval_ab:= definitions.busy_interval sched: Job -> instant -> instant -> Prop
j: Job
H_j_arrives: arrives_in arr_seq j
H_job_cost_positive: job_cost_positive j
zero_is_quiet_time: forall j : Job, quiet_time_cl j 0
t: instant
QT: quiet_time_cl j t
service_of_another_hep_jobs j 0 t == cumulative_other_hep_jobs_interfering_workload j 0 t
Task: TaskType
H: TaskCost Task
Job: JobType
H0: JobTask Job Task
H1: JobArrival Job
H2: JobCost Job
arr_seq: arrival_sequence Job
H_valid_arrival_sequence: valid_arrival_sequence arr_seq
sched: schedule (processor_state Job)
H_jobs_come_from_arrival_sequence: jobs_come_from_arrival_sequence sched arr_seq
H_jobs_must_arrive_to_execute: jobs_must_arrive_to_execute sched
H_completed_jobs_dont_execute: completed_jobs_dont_execute sched
H3: JLFP_policy Job
H_priority_is_reflexive: reflexive_priorities
H_priority_is_transitive: transitive_priorities
tsk: Task
H_sequential_tasks: sequential_tasks arr_seq sched
quiet_time_cl:= quiet_time arr_seq sched: Job -> instant -> Prop
quiet_time_ab:= definitions.quiet_time sched: Job -> instant -> Prop
busy_interval_prefix_cl:= busy_interval_prefix arr_seq sched: Job -> instant -> instant -> Prop
busy_interval_prefix_ab:= definitions.busy_interval_prefix sched: Job -> instant -> instant -> Prop
busy_interval_cl:= busy_interval arr_seq sched: Job -> instant -> instant -> Prop
busy_interval_ab:= definitions.busy_interval sched: Job -> instant -> instant -> Prop
j: Job
H_j_arrives: arrives_in arr_seq j
H_job_cost_positive: job_cost_positive j
zero_is_quiet_time: forall j : Job, quiet_time_cl j 0
t: instant
QT: quiet_time_cl j t

quiet_time arr_seq sched j 0
by move => ? _ _ ; unfold arrived_before; lia.
Task: TaskType
H: TaskCost Task
Job: JobType
H0: JobTask Job Task
H1: JobArrival Job
H2: JobCost Job
arr_seq: arrival_sequence Job
H_valid_arrival_sequence: valid_arrival_sequence arr_seq
sched: schedule (processor_state Job)
H_jobs_come_from_arrival_sequence: jobs_come_from_arrival_sequence sched arr_seq
H_jobs_must_arrive_to_execute: jobs_must_arrive_to_execute sched
H_completed_jobs_dont_execute: completed_jobs_dont_execute sched
H3: JLFP_policy Job
H_priority_is_reflexive: reflexive_priorities
H_priority_is_transitive: transitive_priorities
tsk: Task
H_sequential_tasks: sequential_tasks arr_seq sched
quiet_time_cl:= quiet_time arr_seq sched: Job -> instant -> Prop
quiet_time_ab:= definitions.quiet_time sched: Job -> instant -> Prop
busy_interval_prefix_cl:= busy_interval_prefix arr_seq sched: Job -> instant -> instant -> Prop
busy_interval_prefix_ab:= definitions.busy_interval_prefix sched: Job -> instant -> instant -> Prop
busy_interval_cl:= busy_interval arr_seq sched: Job -> instant -> instant -> Prop
busy_interval_ab:= definitions.busy_interval sched: Job -> instant -> instant -> Prop
j: Job
H_j_arrives: arrives_in arr_seq j
H_job_cost_positive: job_cost_positive j
zero_is_quiet_time: forall j : Job, quiet_time_cl j 0
t: instant
QT: quiet_time_cl j t

service_of_another_hep_jobs j 0 t == cumulative_other_hep_jobs_interfering_workload j 0 t
Task: TaskType
H: TaskCost Task
Job: JobType
H0: JobTask Job Task
H1: JobArrival Job
H2: JobCost Job
arr_seq: arrival_sequence Job
H_valid_arrival_sequence: valid_arrival_sequence arr_seq
sched: schedule (processor_state Job)
H_jobs_come_from_arrival_sequence: jobs_come_from_arrival_sequence sched arr_seq
H_jobs_must_arrive_to_execute: jobs_must_arrive_to_execute sched
H_completed_jobs_dont_execute: completed_jobs_dont_execute sched
H3: JLFP_policy Job
H_priority_is_reflexive: reflexive_priorities
H_priority_is_transitive: transitive_priorities
tsk: Task
H_sequential_tasks: sequential_tasks arr_seq sched
quiet_time_cl:= quiet_time arr_seq sched: Job -> instant -> Prop
quiet_time_ab:= definitions.quiet_time sched: Job -> instant -> Prop
busy_interval_prefix_cl:= busy_interval_prefix arr_seq sched: Job -> instant -> instant -> Prop
busy_interval_prefix_ab:= definitions.busy_interval_prefix sched: Job -> instant -> instant -> Prop
busy_interval_cl:= busy_interval arr_seq sched: Job -> instant -> instant -> Prop
busy_interval_ab:= definitions.busy_interval sched: Job -> instant -> instant -> Prop
j: Job
H_j_arrives: arrives_in arr_seq j
H_job_cost_positive: job_cost_positive j
zero_is_quiet_time: forall j : Job, quiet_time_cl j 0
t: instant
QT: quiet_time_cl j t

workload_of_another_hep_jobs j 0 t = service_of_another_hep_jobs j 0 t
Task: TaskType
H: TaskCost Task
Job: JobType
H0: JobTask Job Task
H1: JobArrival Job
H2: JobCost Job
arr_seq: arrival_sequence Job
H_valid_arrival_sequence: valid_arrival_sequence arr_seq
sched: schedule (processor_state Job)
H_jobs_come_from_arrival_sequence: jobs_come_from_arrival_sequence sched arr_seq
H_jobs_must_arrive_to_execute: jobs_must_arrive_to_execute sched
H_completed_jobs_dont_execute: completed_jobs_dont_execute sched
H3: JLFP_policy Job
H_priority_is_reflexive: reflexive_priorities
H_priority_is_transitive: transitive_priorities
tsk: Task
H_sequential_tasks: sequential_tasks arr_seq sched
quiet_time_cl:= quiet_time arr_seq sched: Job -> instant -> Prop
quiet_time_ab:= definitions.quiet_time sched: Job -> instant -> Prop
busy_interval_prefix_cl:= busy_interval_prefix arr_seq sched: Job -> instant -> instant -> Prop
busy_interval_prefix_ab:= definitions.busy_interval_prefix sched: Job -> instant -> instant -> Prop
busy_interval_cl:= busy_interval arr_seq sched: Job -> instant -> instant -> Prop
busy_interval_ab:= definitions.busy_interval sched: Job -> instant -> instant -> Prop
j: Job
H_j_arrives: arrives_in arr_seq j
H_job_cost_positive: job_cost_positive j
zero_is_quiet_time: forall j : Job, quiet_time_cl j 0
t: instant
QT: quiet_time_cl j t

forall j0 : Job, j0 \in arrivals_between arr_seq 0 t -> another_hep_job j0 j -> completed_by sched j0 t
Task: TaskType
H: TaskCost Task
Job: JobType
H0: JobTask Job Task
H1: JobArrival Job
H2: JobCost Job
arr_seq: arrival_sequence Job
H_valid_arrival_sequence: valid_arrival_sequence arr_seq
sched: schedule (processor_state Job)
H_jobs_come_from_arrival_sequence: jobs_come_from_arrival_sequence sched arr_seq
H_jobs_must_arrive_to_execute: jobs_must_arrive_to_execute sched
H_completed_jobs_dont_execute: completed_jobs_dont_execute sched
H3: JLFP_policy Job
H_priority_is_reflexive: reflexive_priorities
H_priority_is_transitive: transitive_priorities
tsk: Task
H_sequential_tasks: sequential_tasks arr_seq sched
quiet_time_cl:= quiet_time arr_seq sched: Job -> instant -> Prop
quiet_time_ab:= definitions.quiet_time sched: Job -> instant -> Prop
busy_interval_prefix_cl:= busy_interval_prefix arr_seq sched: Job -> instant -> instant -> Prop
busy_interval_prefix_ab:= definitions.busy_interval_prefix sched: Job -> instant -> instant -> Prop
busy_interval_cl:= busy_interval arr_seq sched: Job -> instant -> instant -> Prop
busy_interval_ab:= definitions.busy_interval sched: Job -> instant -> instant -> Prop
j: Job
H_j_arrives: arrives_in arr_seq j
H_job_cost_positive: job_cost_positive j
zero_is_quiet_time: forall j : Job, quiet_time_cl j 0
t: instant
QT: quiet_time_cl j t
j0: Job
IN: j0 \in arrivals_between arr_seq 0 t
HEP: another_hep_job j0 j

arrives_in arr_seq j0
Task: TaskType
H: TaskCost Task
Job: JobType
H0: JobTask Job Task
H1: JobArrival Job
H2: JobCost Job
arr_seq: arrival_sequence Job
H_valid_arrival_sequence: valid_arrival_sequence arr_seq
sched: schedule (processor_state Job)
H_jobs_come_from_arrival_sequence: jobs_come_from_arrival_sequence sched arr_seq
H_jobs_must_arrive_to_execute: jobs_must_arrive_to_execute sched
H_completed_jobs_dont_execute: completed_jobs_dont_execute sched
H3: JLFP_policy Job
H_priority_is_reflexive: reflexive_priorities
H_priority_is_transitive: transitive_priorities
tsk: Task
H_sequential_tasks: sequential_tasks arr_seq sched
quiet_time_cl:= quiet_time arr_seq sched: Job -> instant -> Prop
quiet_time_ab:= definitions.quiet_time sched: Job -> instant -> Prop
busy_interval_prefix_cl:= busy_interval_prefix arr_seq sched: Job -> instant -> instant -> Prop
busy_interval_prefix_ab:= definitions.busy_interval_prefix sched: Job -> instant -> instant -> Prop
busy_interval_cl:= busy_interval arr_seq sched: Job -> instant -> instant -> Prop
busy_interval_ab:= definitions.busy_interval sched: Job -> instant -> instant -> Prop
j: Job
H_j_arrives: arrives_in arr_seq j
H_job_cost_positive: job_cost_positive j
zero_is_quiet_time: forall j : Job, quiet_time_cl j 0
t: instant
QT: quiet_time_cl j t
j0: Job
IN: j0 \in arrivals_between arr_seq 0 t
HEP: another_hep_job j0 j
hep_job j0 j
Task: TaskType
H: TaskCost Task
Job: JobType
H0: JobTask Job Task
H1: JobArrival Job
H2: JobCost Job
arr_seq: arrival_sequence Job
H_valid_arrival_sequence: valid_arrival_sequence arr_seq
sched: schedule (processor_state Job)
H_jobs_come_from_arrival_sequence: jobs_come_from_arrival_sequence sched arr_seq
H_jobs_must_arrive_to_execute: jobs_must_arrive_to_execute sched
H_completed_jobs_dont_execute: completed_jobs_dont_execute sched
H3: JLFP_policy Job
H_priority_is_reflexive: reflexive_priorities
H_priority_is_transitive: transitive_priorities
tsk: Task
H_sequential_tasks: sequential_tasks arr_seq sched
quiet_time_cl:= quiet_time arr_seq sched: Job -> instant -> Prop
quiet_time_ab:= definitions.quiet_time sched: Job -> instant -> Prop
busy_interval_prefix_cl:= busy_interval_prefix arr_seq sched: Job -> instant -> instant -> Prop
busy_interval_prefix_ab:= definitions.busy_interval_prefix sched: Job -> instant -> instant -> Prop
busy_interval_cl:= busy_interval arr_seq sched: Job -> instant -> instant -> Prop
busy_interval_ab:= definitions.busy_interval sched: Job -> instant -> instant -> Prop
j: Job
H_j_arrives: arrives_in arr_seq j
H_job_cost_positive: job_cost_positive j
zero_is_quiet_time: forall j : Job, quiet_time_cl j 0
t: instant
QT: quiet_time_cl j t
j0: Job
IN: j0 \in arrivals_between arr_seq 0 t
HEP: another_hep_job j0 j
arrived_before j0 t
Task: TaskType
H: TaskCost Task
Job: JobType
H0: JobTask Job Task
H1: JobArrival Job
H2: JobCost Job
arr_seq: arrival_sequence Job
H_valid_arrival_sequence: valid_arrival_sequence arr_seq
sched: schedule (processor_state Job)
H_jobs_come_from_arrival_sequence: jobs_come_from_arrival_sequence sched arr_seq
H_jobs_must_arrive_to_execute: jobs_must_arrive_to_execute sched
H_completed_jobs_dont_execute: completed_jobs_dont_execute sched
H3: JLFP_policy Job
H_priority_is_reflexive: reflexive_priorities
H_priority_is_transitive: transitive_priorities
tsk: Task
H_sequential_tasks: sequential_tasks arr_seq sched
quiet_time_cl:= quiet_time arr_seq sched: Job -> instant -> Prop
quiet_time_ab:= definitions.quiet_time sched: Job -> instant -> Prop
busy_interval_prefix_cl:= busy_interval_prefix arr_seq sched: Job -> instant -> instant -> Prop
busy_interval_prefix_ab:= definitions.busy_interval_prefix sched: Job -> instant -> instant -> Prop
busy_interval_cl:= busy_interval arr_seq sched: Job -> instant -> instant -> Prop
busy_interval_ab:= definitions.busy_interval sched: Job -> instant -> instant -> Prop
j: Job
H_j_arrives: arrives_in arr_seq j
H_job_cost_positive: job_cost_positive j
zero_is_quiet_time: forall j : Job, quiet_time_cl j 0
t: instant
QT: quiet_time_cl j t
j0: Job
IN: j0 \in arrivals_between arr_seq 0 t
HEP: another_hep_job j0 j

arrives_in arr_seq j0
Task: TaskType
H: TaskCost Task
Job: JobType
H0: JobTask Job Task
H1: JobArrival Job
H2: JobCost Job
arr_seq: arrival_sequence Job
H_valid_arrival_sequence: valid_arrival_sequence arr_seq
sched: schedule (processor_state Job)
H_jobs_come_from_arrival_sequence: jobs_come_from_arrival_sequence sched arr_seq
H_jobs_must_arrive_to_execute: jobs_must_arrive_to_execute sched
H_completed_jobs_dont_execute: completed_jobs_dont_execute sched
H3: JLFP_policy Job
H_priority_is_reflexive: reflexive_priorities
H_priority_is_transitive: transitive_priorities
tsk: Task
H_sequential_tasks: sequential_tasks arr_seq sched
quiet_time_cl:= quiet_time arr_seq sched: Job -> instant -> Prop
quiet_time_ab:= definitions.quiet_time sched: Job -> instant -> Prop
busy_interval_prefix_cl:= busy_interval_prefix arr_seq sched: Job -> instant -> instant -> Prop
busy_interval_prefix_ab:= definitions.busy_interval_prefix sched: Job -> instant -> instant -> Prop
busy_interval_cl:= busy_interval arr_seq sched: Job -> instant -> instant -> Prop
busy_interval_ab:= definitions.busy_interval sched: Job -> instant -> instant -> Prop
j: Job
H_j_arrives: arrives_in arr_seq j
H_job_cost_positive: job_cost_positive j
zero_is_quiet_time: forall j : Job, quiet_time_cl j 0
t: instant
QT: quiet_time_cl j t
j0: Job
IN: j0 \in arrivals_between arr_seq 0 t
HEP: another_hep_job j0 j
hep_job j0 j
Task: TaskType
H: TaskCost Task
Job: JobType
H0: JobTask Job Task
H1: JobArrival Job
H2: JobCost Job
arr_seq: arrival_sequence Job
H_valid_arrival_sequence: valid_arrival_sequence arr_seq
sched: schedule (processor_state Job)
H_jobs_come_from_arrival_sequence: jobs_come_from_arrival_sequence sched arr_seq
H_jobs_must_arrive_to_execute: jobs_must_arrive_to_execute sched
H_completed_jobs_dont_execute: completed_jobs_dont_execute sched
H3: JLFP_policy Job
H_priority_is_reflexive: reflexive_priorities
H_priority_is_transitive: transitive_priorities
tsk: Task
H_sequential_tasks: sequential_tasks arr_seq sched
quiet_time_cl:= quiet_time arr_seq sched: Job -> instant -> Prop
quiet_time_ab:= definitions.quiet_time sched: Job -> instant -> Prop
busy_interval_prefix_cl:= busy_interval_prefix arr_seq sched: Job -> instant -> instant -> Prop
busy_interval_prefix_ab:= definitions.busy_interval_prefix sched: Job -> instant -> instant -> Prop
busy_interval_cl:= busy_interval arr_seq sched: Job -> instant -> instant -> Prop
busy_interval_ab:= definitions.busy_interval sched: Job -> instant -> instant -> Prop
j: Job
H_j_arrives: arrives_in arr_seq j
H_job_cost_positive: job_cost_positive j
zero_is_quiet_time: forall j : Job, quiet_time_cl j 0
t: instant
QT: quiet_time_cl j t
j0: Job
IN: j0 \in arrivals_between arr_seq 0 t
HEP: another_hep_job j0 j
arrived_before j0 t
Task: TaskType
H: TaskCost Task
Job: JobType
H0: JobTask Job Task
H1: JobArrival Job
H2: JobCost Job
arr_seq: arrival_sequence Job
H_valid_arrival_sequence: valid_arrival_sequence arr_seq
sched: schedule (processor_state Job)
H_jobs_come_from_arrival_sequence: jobs_come_from_arrival_sequence sched arr_seq
H_jobs_must_arrive_to_execute: jobs_must_arrive_to_execute sched
H_completed_jobs_dont_execute: completed_jobs_dont_execute sched
H3: JLFP_policy Job
H_priority_is_reflexive: reflexive_priorities
H_priority_is_transitive: transitive_priorities
tsk: Task
H_sequential_tasks: sequential_tasks arr_seq sched
quiet_time_cl:= quiet_time arr_seq sched: Job -> instant -> Prop
quiet_time_ab:= definitions.quiet_time sched: Job -> instant -> Prop
busy_interval_prefix_cl:= busy_interval_prefix arr_seq sched: Job -> instant -> instant -> Prop
busy_interval_prefix_ab:= definitions.busy_interval_prefix sched: Job -> instant -> instant -> Prop
busy_interval_cl:= busy_interval arr_seq sched: Job -> instant -> instant -> Prop
busy_interval_ab:= definitions.busy_interval sched: Job -> instant -> instant -> Prop
j: Job
H_j_arrives: arrives_in arr_seq j
H_job_cost_positive: job_cost_positive j
zero_is_quiet_time: forall j : Job, quiet_time_cl j 0
t: instant
QT: quiet_time_cl j t
j0: Job
IN: j0 \in arrivals_between arr_seq 0 t
HEP: another_hep_job j0 j

hep_job j0 j
Task: TaskType
H: TaskCost Task
Job: JobType
H0: JobTask Job Task
H1: JobArrival Job
H2: JobCost Job
arr_seq: arrival_sequence Job
H_valid_arrival_sequence: valid_arrival_sequence arr_seq
sched: schedule (processor_state Job)
H_jobs_come_from_arrival_sequence: jobs_come_from_arrival_sequence sched arr_seq
H_jobs_must_arrive_to_execute: jobs_must_arrive_to_execute sched
H_completed_jobs_dont_execute: completed_jobs_dont_execute sched
H3: JLFP_policy Job
H_priority_is_reflexive: reflexive_priorities
H_priority_is_transitive: transitive_priorities
tsk: Task
H_sequential_tasks: sequential_tasks arr_seq sched
quiet_time_cl:= quiet_time arr_seq sched: Job -> instant -> Prop
quiet_time_ab:= definitions.quiet_time sched: Job -> instant -> Prop
busy_interval_prefix_cl:= busy_interval_prefix arr_seq sched: Job -> instant -> instant -> Prop
busy_interval_prefix_ab:= definitions.busy_interval_prefix sched: Job -> instant -> instant -> Prop
busy_interval_cl:= busy_interval arr_seq sched: Job -> instant -> instant -> Prop
busy_interval_ab:= definitions.busy_interval sched: Job -> instant -> instant -> Prop
j: Job
H_j_arrives: arrives_in arr_seq j
H_job_cost_positive: job_cost_positive j
zero_is_quiet_time: forall j : Job, quiet_time_cl j 0
t: instant
QT: quiet_time_cl j t
j0: Job
IN: j0 \in arrivals_between arr_seq 0 t
HEP: another_hep_job j0 j
arrived_before j0 t
Task: TaskType
H: TaskCost Task
Job: JobType
H0: JobTask Job Task
H1: JobArrival Job
H2: JobCost Job
arr_seq: arrival_sequence Job
H_valid_arrival_sequence: valid_arrival_sequence arr_seq
sched: schedule (processor_state Job)
H_jobs_come_from_arrival_sequence: jobs_come_from_arrival_sequence sched arr_seq
H_jobs_must_arrive_to_execute: jobs_must_arrive_to_execute sched
H_completed_jobs_dont_execute: completed_jobs_dont_execute sched
H3: JLFP_policy Job
H_priority_is_reflexive: reflexive_priorities
H_priority_is_transitive: transitive_priorities
tsk: Task
H_sequential_tasks: sequential_tasks arr_seq sched
quiet_time_cl:= quiet_time arr_seq sched: Job -> instant -> Prop
quiet_time_ab:= definitions.quiet_time sched: Job -> instant -> Prop
busy_interval_prefix_cl:= busy_interval_prefix arr_seq sched: Job -> instant -> instant -> Prop
busy_interval_prefix_ab:= definitions.busy_interval_prefix sched: Job -> instant -> instant -> Prop
busy_interval_cl:= busy_interval arr_seq sched: Job -> instant -> instant -> Prop
busy_interval_ab:= definitions.busy_interval sched: Job -> instant -> instant -> Prop
j: Job
H_j_arrives: arrives_in arr_seq j
H_job_cost_positive: job_cost_positive j
zero_is_quiet_time: forall j : Job, quiet_time_cl j 0
t: instant
QT: quiet_time_cl j t
j0: Job
IN: j0 \in arrivals_between arr_seq 0 t
HEP: another_hep_job j0 j

hep_job j0 j
Task: TaskType
H: TaskCost Task
Job: JobType
H0: JobTask Job Task
H1: JobArrival Job
H2: JobCost Job
arr_seq: arrival_sequence Job
H_valid_arrival_sequence: valid_arrival_sequence arr_seq
sched: schedule (processor_state Job)
H_jobs_come_from_arrival_sequence: jobs_come_from_arrival_sequence sched arr_seq
H_jobs_must_arrive_to_execute: jobs_must_arrive_to_execute sched
H_completed_jobs_dont_execute: completed_jobs_dont_execute sched
H3: JLFP_policy Job
H_priority_is_reflexive: reflexive_priorities
H_priority_is_transitive: transitive_priorities
tsk: Task
H_sequential_tasks: sequential_tasks arr_seq sched
quiet_time_cl:= quiet_time arr_seq sched: Job -> instant -> Prop
quiet_time_ab:= definitions.quiet_time sched: Job -> instant -> Prop
busy_interval_prefix_cl:= busy_interval_prefix arr_seq sched: Job -> instant -> instant -> Prop
busy_interval_prefix_ab:= definitions.busy_interval_prefix sched: Job -> instant -> instant -> Prop
busy_interval_cl:= busy_interval arr_seq sched: Job -> instant -> instant -> Prop
busy_interval_ab:= definitions.busy_interval sched: Job -> instant -> instant -> Prop
j: Job
H_j_arrives: arrives_in arr_seq j
H_job_cost_positive: job_cost_positive j
zero_is_quiet_time: forall j : Job, quiet_time_cl j 0
t: instant
QT: quiet_time_cl j t
j0: Job
IN: j0 \in arrivals_between arr_seq 0 t
HEP: another_hep_job j0 j
arrived_before j0 t
Task: TaskType
H: TaskCost Task
Job: JobType
H0: JobTask Job Task
H1: JobArrival Job
H2: JobCost Job
arr_seq: arrival_sequence Job
H_valid_arrival_sequence: valid_arrival_sequence arr_seq
sched: schedule (processor_state Job)
H_jobs_come_from_arrival_sequence: jobs_come_from_arrival_sequence sched arr_seq
H_jobs_must_arrive_to_execute: jobs_must_arrive_to_execute sched
H_completed_jobs_dont_execute: completed_jobs_dont_execute sched
H3: JLFP_policy Job
H_priority_is_reflexive: reflexive_priorities
H_priority_is_transitive: transitive_priorities
tsk: Task
H_sequential_tasks: sequential_tasks arr_seq sched
quiet_time_cl:= quiet_time arr_seq sched: Job -> instant -> Prop
quiet_time_ab:= definitions.quiet_time sched: Job -> instant -> Prop
busy_interval_prefix_cl:= busy_interval_prefix arr_seq sched: Job -> instant -> instant -> Prop
busy_interval_prefix_ab:= definitions.busy_interval_prefix sched: Job -> instant -> instant -> Prop
busy_interval_cl:= busy_interval arr_seq sched: Job -> instant -> instant -> Prop
busy_interval_ab:= definitions.busy_interval sched: Job -> instant -> instant -> Prop
j: Job
H_j_arrives: arrives_in arr_seq j
H_job_cost_positive: job_cost_positive j
zero_is_quiet_time: forall j : Job, quiet_time_cl j 0
t: instant
QT: quiet_time_cl j t
j0: Job
IN: j0 \in arrivals_between arr_seq 0 t
HEP: another_hep_job j0 j

arrived_before j0 t
Task: TaskType
H: TaskCost Task
Job: JobType
H0: JobTask Job Task
H1: JobArrival Job
H2: JobCost Job
arr_seq: arrival_sequence Job
H_valid_arrival_sequence: valid_arrival_sequence arr_seq
sched: schedule (processor_state Job)
H_jobs_come_from_arrival_sequence: jobs_come_from_arrival_sequence sched arr_seq
H_jobs_must_arrive_to_execute: jobs_must_arrive_to_execute sched
H_completed_jobs_dont_execute: completed_jobs_dont_execute sched
H3: JLFP_policy Job
H_priority_is_reflexive: reflexive_priorities
H_priority_is_transitive: transitive_priorities
tsk: Task
H_sequential_tasks: sequential_tasks arr_seq sched
quiet_time_cl:= quiet_time arr_seq sched: Job -> instant -> Prop
quiet_time_ab:= definitions.quiet_time sched: Job -> instant -> Prop
busy_interval_prefix_cl:= busy_interval_prefix arr_seq sched: Job -> instant -> instant -> Prop
busy_interval_prefix_ab:= definitions.busy_interval_prefix sched: Job -> instant -> instant -> Prop
busy_interval_cl:= busy_interval arr_seq sched: Job -> instant -> instant -> Prop
busy_interval_ab:= definitions.busy_interval sched: Job -> instant -> instant -> Prop
j: Job
H_j_arrives: arrives_in arr_seq j
H_job_cost_positive: job_cost_positive j
zero_is_quiet_time: forall j : Job, quiet_time_cl j 0
t: instant
QT: quiet_time_cl j t
j0: Job
IN: j0 \in arrivals_between arr_seq 0 t
HEP: another_hep_job j0 j

arrived_before j0 t
by apply in_arrivals_implies_arrived_between in IN; rt_eauto. } Qed. (** And vice versa, the abstract notion of quiet time implies the classical notion of quiet time. *)
Task: TaskType
H: TaskCost Task
Job: JobType
H0: JobTask Job Task
H1: JobArrival Job
H2: JobCost Job
arr_seq: arrival_sequence Job
H_valid_arrival_sequence: valid_arrival_sequence arr_seq
sched: schedule (processor_state Job)
H_jobs_come_from_arrival_sequence: jobs_come_from_arrival_sequence sched arr_seq
H_jobs_must_arrive_to_execute: jobs_must_arrive_to_execute sched
H_completed_jobs_dont_execute: completed_jobs_dont_execute sched
H3: JLFP_policy Job
H_priority_is_reflexive: reflexive_priorities
H_priority_is_transitive: transitive_priorities
tsk: Task
H_sequential_tasks: sequential_tasks arr_seq sched
H_JLFP_respects_sequential_tasks: policy_respects_sequential_tasks
quiet_time_cl:= quiet_time arr_seq sched: Job -> instant -> Prop
quiet_time_ab:= definitions.quiet_time sched: Job -> instant -> Prop
busy_interval_prefix_cl:= busy_interval_prefix arr_seq sched: Job -> instant -> instant -> Prop
busy_interval_prefix_ab:= definitions.busy_interval_prefix sched: Job -> instant -> instant -> Prop
busy_interval_cl:= busy_interval arr_seq sched: Job -> instant -> instant -> Prop
busy_interval_ab:= definitions.busy_interval sched: Job -> instant -> instant -> Prop
j: Job
H_j_arrives: arrives_in arr_seq j
H_job_cost_positive: job_cost_positive j

forall t : instant, quiet_time_ab j t -> quiet_time_cl j t
Task: TaskType
H: TaskCost Task
Job: JobType
H0: JobTask Job Task
H1: JobArrival Job
H2: JobCost Job
arr_seq: arrival_sequence Job
H_valid_arrival_sequence: valid_arrival_sequence arr_seq
sched: schedule (processor_state Job)
H_jobs_come_from_arrival_sequence: jobs_come_from_arrival_sequence sched arr_seq
H_jobs_must_arrive_to_execute: jobs_must_arrive_to_execute sched
H_completed_jobs_dont_execute: completed_jobs_dont_execute sched
H3: JLFP_policy Job
H_priority_is_reflexive: reflexive_priorities
H_priority_is_transitive: transitive_priorities
tsk: Task
H_sequential_tasks: sequential_tasks arr_seq sched
H_JLFP_respects_sequential_tasks: policy_respects_sequential_tasks
quiet_time_cl:= quiet_time arr_seq sched: Job -> instant -> Prop
quiet_time_ab:= definitions.quiet_time sched: Job -> instant -> Prop
busy_interval_prefix_cl:= busy_interval_prefix arr_seq sched: Job -> instant -> instant -> Prop
busy_interval_prefix_ab:= definitions.busy_interval_prefix sched: Job -> instant -> instant -> Prop
busy_interval_cl:= busy_interval arr_seq sched: Job -> instant -> instant -> Prop
busy_interval_ab:= definitions.busy_interval sched: Job -> instant -> instant -> Prop
j: Job
H_j_arrives: arrives_in arr_seq j
H_job_cost_positive: job_cost_positive j

forall t : instant, quiet_time_ab j t -> quiet_time_cl j t
Task: TaskType
H: TaskCost Task
Job: JobType
H0: JobTask Job Task
H1: JobArrival Job
H2: JobCost Job
arr_seq: arrival_sequence Job
H_valid_arrival_sequence: valid_arrival_sequence arr_seq
sched: schedule (processor_state Job)
H_jobs_come_from_arrival_sequence: jobs_come_from_arrival_sequence sched arr_seq
H_jobs_must_arrive_to_execute: jobs_must_arrive_to_execute sched
H_completed_jobs_dont_execute: completed_jobs_dont_execute sched
H3: JLFP_policy Job
H_priority_is_reflexive: reflexive_priorities
H_priority_is_transitive: transitive_priorities
tsk: Task
H_sequential_tasks: sequential_tasks arr_seq sched
quiet_time_cl:= quiet_time arr_seq sched: Job -> instant -> Prop
quiet_time_ab:= definitions.quiet_time sched: Job -> instant -> Prop
busy_interval_prefix_cl:= busy_interval_prefix arr_seq sched: Job -> instant -> instant -> Prop
busy_interval_prefix_ab:= definitions.busy_interval_prefix sched: Job -> instant -> instant -> Prop
busy_interval_cl:= busy_interval arr_seq sched: Job -> instant -> instant -> Prop
busy_interval_ab:= definitions.busy_interval sched: Job -> instant -> instant -> Prop
j: Job
H_j_arrives: arrives_in arr_seq j
H_job_cost_positive: job_cost_positive j

forall t : instant, quiet_time_ab j t -> quiet_time_cl j t
Task: TaskType
H: TaskCost Task
Job: JobType
H0: JobTask Job Task
H1: JobArrival Job
H2: JobCost Job
arr_seq: arrival_sequence Job
H_valid_arrival_sequence: valid_arrival_sequence arr_seq
sched: schedule (processor_state Job)
H_jobs_come_from_arrival_sequence: jobs_come_from_arrival_sequence sched arr_seq
H_jobs_must_arrive_to_execute: jobs_must_arrive_to_execute sched
H_completed_jobs_dont_execute: completed_jobs_dont_execute sched
H3: JLFP_policy Job
H_priority_is_reflexive: reflexive_priorities
H_priority_is_transitive: transitive_priorities
tsk: Task
H_sequential_tasks: sequential_tasks arr_seq sched
quiet_time_cl:= quiet_time arr_seq sched: Job -> instant -> Prop
quiet_time_ab:= definitions.quiet_time sched: Job -> instant -> Prop
busy_interval_prefix_cl:= busy_interval_prefix arr_seq sched: Job -> instant -> instant -> Prop
busy_interval_prefix_ab:= definitions.busy_interval_prefix sched: Job -> instant -> instant -> Prop
busy_interval_cl:= busy_interval arr_seq sched: Job -> instant -> instant -> Prop
busy_interval_ab:= definitions.busy_interval sched: Job -> instant -> instant -> Prop
j: Job
H_j_arrives: arrives_in arr_seq j
H_job_cost_positive: job_cost_positive j

forall j : Job, quiet_time_cl j 0
Task: TaskType
H: TaskCost Task
Job: JobType
H0: JobTask Job Task
H1: JobArrival Job
H2: JobCost Job
arr_seq: arrival_sequence Job
H_valid_arrival_sequence: valid_arrival_sequence arr_seq
sched: schedule (processor_state Job)
H_jobs_come_from_arrival_sequence: jobs_come_from_arrival_sequence sched arr_seq
H_jobs_must_arrive_to_execute: jobs_must_arrive_to_execute sched
H_completed_jobs_dont_execute: completed_jobs_dont_execute sched
H3: JLFP_policy Job
H_priority_is_reflexive: reflexive_priorities
H_priority_is_transitive: transitive_priorities
tsk: Task
H_sequential_tasks: sequential_tasks arr_seq sched
quiet_time_cl:= quiet_time arr_seq sched: Job -> instant -> Prop
quiet_time_ab:= definitions.quiet_time sched: Job -> instant -> Prop
busy_interval_prefix_cl:= busy_interval_prefix arr_seq sched: Job -> instant -> instant -> Prop
busy_interval_prefix_ab:= definitions.busy_interval_prefix sched: Job -> instant -> instant -> Prop
busy_interval_cl:= busy_interval arr_seq sched: Job -> instant -> instant -> Prop
busy_interval_ab:= definitions.busy_interval sched: Job -> instant -> instant -> Prop
j: Job
H_j_arrives: arrives_in arr_seq j
H_job_cost_positive: job_cost_positive j
zero_is_quiet_time: forall j : Job, quiet_time_cl j 0
forall t : instant, quiet_time_ab j t -> quiet_time_cl j t
Task: TaskType
H: TaskCost Task
Job: JobType
H0: JobTask Job Task
H1: JobArrival Job
H2: JobCost Job
arr_seq: arrival_sequence Job
H_valid_arrival_sequence: valid_arrival_sequence arr_seq
sched: schedule (processor_state Job)
H_jobs_come_from_arrival_sequence: jobs_come_from_arrival_sequence sched arr_seq
H_jobs_must_arrive_to_execute: jobs_must_arrive_to_execute sched
H_completed_jobs_dont_execute: completed_jobs_dont_execute sched
H3: JLFP_policy Job
H_priority_is_reflexive: reflexive_priorities
H_priority_is_transitive: transitive_priorities
tsk: Task
H_sequential_tasks: sequential_tasks arr_seq sched
quiet_time_cl:= quiet_time arr_seq sched: Job -> instant -> Prop
quiet_time_ab:= definitions.quiet_time sched: Job -> instant -> Prop
busy_interval_prefix_cl:= busy_interval_prefix arr_seq sched: Job -> instant -> instant -> Prop
busy_interval_prefix_ab:= definitions.busy_interval_prefix sched: Job -> instant -> instant -> Prop
busy_interval_cl:= busy_interval arr_seq sched: Job -> instant -> instant -> Prop
busy_interval_ab:= definitions.busy_interval sched: Job -> instant -> instant -> Prop
j: Job
H_j_arrives: arrives_in arr_seq j
H_job_cost_positive: job_cost_positive j

forall j : Job, quiet_time_cl j 0
by move => jhp ARR HP AB; move: AB; rewrite /arrived_before ltn0.
Task: TaskType
H: TaskCost Task
Job: JobType
H0: JobTask Job Task
H1: JobArrival Job
H2: JobCost Job
arr_seq: arrival_sequence Job
H_valid_arrival_sequence: valid_arrival_sequence arr_seq
sched: schedule (processor_state Job)
H_jobs_come_from_arrival_sequence: jobs_come_from_arrival_sequence sched arr_seq
H_jobs_must_arrive_to_execute: jobs_must_arrive_to_execute sched
H_completed_jobs_dont_execute: completed_jobs_dont_execute sched
H3: JLFP_policy Job
H_priority_is_reflexive: reflexive_priorities
H_priority_is_transitive: transitive_priorities
tsk: Task
H_sequential_tasks: sequential_tasks arr_seq sched
quiet_time_cl:= quiet_time arr_seq sched: Job -> instant -> Prop
quiet_time_ab:= definitions.quiet_time sched: Job -> instant -> Prop
busy_interval_prefix_cl:= busy_interval_prefix arr_seq sched: Job -> instant -> instant -> Prop
busy_interval_prefix_ab:= definitions.busy_interval_prefix sched: Job -> instant -> instant -> Prop
busy_interval_cl:= busy_interval arr_seq sched: Job -> instant -> instant -> Prop
busy_interval_ab:= definitions.busy_interval sched: Job -> instant -> instant -> Prop
j: Job
H_j_arrives: arrives_in arr_seq j
H_job_cost_positive: job_cost_positive j
zero_is_quiet_time: forall j : Job, quiet_time_cl j 0

forall t : instant, quiet_time_ab j t -> quiet_time_cl j t
Task: TaskType
H: TaskCost Task
Job: JobType
H0: JobTask Job Task
H1: JobArrival Job
H2: JobCost Job
arr_seq: arrival_sequence Job
H_valid_arrival_sequence: valid_arrival_sequence arr_seq
sched: schedule (processor_state Job)
H_jobs_come_from_arrival_sequence: jobs_come_from_arrival_sequence sched arr_seq
H_jobs_must_arrive_to_execute: jobs_must_arrive_to_execute sched
H_completed_jobs_dont_execute: completed_jobs_dont_execute sched
H3: JLFP_policy Job
H_priority_is_reflexive: reflexive_priorities
H_priority_is_transitive: transitive_priorities
tsk: Task
H_sequential_tasks: sequential_tasks arr_seq sched
quiet_time_cl:= quiet_time arr_seq sched: Job -> instant -> Prop
quiet_time_ab:= definitions.quiet_time sched: Job -> instant -> Prop
busy_interval_prefix_cl:= busy_interval_prefix arr_seq sched: Job -> instant -> instant -> Prop
busy_interval_prefix_ab:= definitions.busy_interval_prefix sched: Job -> instant -> instant -> Prop
busy_interval_cl:= busy_interval arr_seq sched: Job -> instant -> instant -> Prop
busy_interval_ab:= definitions.busy_interval sched: Job -> instant -> instant -> Prop
j: Job
H_j_arrives: arrives_in arr_seq j
H_job_cost_positive: job_cost_positive j
zero_is_quiet_time: forall j : Job, quiet_time_cl j 0
t: instant
T0: cumulative_interference j 0 t = cumulative_interfering_workload j 0 t
T1: ~~ pending_earlier_and_at sched j t
jhp: Job
ARR: arrives_in arr_seq jhp
HP: hep_job jhp j
ARB: arrived_before jhp t

completed_by sched jhp t
Task: TaskType
H: TaskCost Task
Job: JobType
H0: JobTask Job Task
H1: JobArrival Job
H2: JobCost Job
arr_seq: arrival_sequence Job
H_valid_arrival_sequence: valid_arrival_sequence arr_seq
sched: schedule (processor_state Job)
H_jobs_come_from_arrival_sequence: jobs_come_from_arrival_sequence sched arr_seq
H_jobs_must_arrive_to_execute: jobs_must_arrive_to_execute sched
H_completed_jobs_dont_execute: completed_jobs_dont_execute sched
H3: JLFP_policy Job
H_priority_is_reflexive: reflexive_priorities
H_priority_is_transitive: transitive_priorities
tsk: Task
H_sequential_tasks: sequential_tasks arr_seq sched
quiet_time_cl:= quiet_time arr_seq sched: Job -> instant -> Prop
quiet_time_ab:= definitions.quiet_time sched: Job -> instant -> Prop
busy_interval_prefix_cl:= busy_interval_prefix arr_seq sched: Job -> instant -> instant -> Prop
busy_interval_prefix_ab:= definitions.busy_interval_prefix sched: Job -> instant -> instant -> Prop
busy_interval_cl:= busy_interval arr_seq sched: Job -> instant -> instant -> Prop
busy_interval_ab:= definitions.busy_interval sched: Job -> instant -> instant -> Prop
j: Job
H_j_arrives: arrives_in arr_seq j
H_job_cost_positive: job_cost_positive j
zero_is_quiet_time: forall j : Job, quiet_time_cl j 0
t: instant
T0: cumulative_interference j 0 t = cumulative_interfering_workload j 0 t
T1: ~~ pending_earlier_and_at sched j t
jhp: Job
ARR: arrives_in arr_seq jhp
HP: hep_job jhp j
ARB: arrived_before jhp t

workload_of_jobs (hep_job^~ j) (arrivals_between arr_seq 0 t) = service_of_jobs sched (hep_job^~ j) (arrivals_between arr_seq 0 t) 0 t
Task: TaskType
H: TaskCost Task
Job: JobType
H0: JobTask Job Task
H1: JobArrival Job
H2: JobCost Job
arr_seq: arrival_sequence Job
H_valid_arrival_sequence: valid_arrival_sequence arr_seq
sched: schedule (processor_state Job)
H_jobs_come_from_arrival_sequence: jobs_come_from_arrival_sequence sched arr_seq
H_jobs_must_arrive_to_execute: jobs_must_arrive_to_execute sched
H_completed_jobs_dont_execute: completed_jobs_dont_execute sched
H3: JLFP_policy Job
H_priority_is_reflexive: reflexive_priorities
H_priority_is_transitive: transitive_priorities
tsk: Task
H_sequential_tasks: sequential_tasks arr_seq sched
quiet_time_cl:= quiet_time arr_seq sched: Job -> instant -> Prop
quiet_time_ab:= definitions.quiet_time sched: Job -> instant -> Prop
busy_interval_prefix_cl:= busy_interval_prefix arr_seq sched: Job -> instant -> instant -> Prop
busy_interval_prefix_ab:= definitions.busy_interval_prefix sched: Job -> instant -> instant -> Prop
busy_interval_cl:= busy_interval arr_seq sched: Job -> instant -> instant -> Prop
busy_interval_ab:= definitions.busy_interval sched: Job -> instant -> instant -> Prop
j: Job
H_j_arrives: arrives_in arr_seq j
H_job_cost_positive: job_cost_positive j
zero_is_quiet_time: forall j : Job, quiet_time_cl j 0
t: instant
T0: cumulative_interference j 0 t = cumulative_interfering_workload j 0 t
T1: ~~ pending_earlier_and_at sched j t
jhp: Job
ARR: arrives_in arr_seq jhp
HP: hep_job jhp j
ARB: arrived_before jhp t

workload_of_jobs (hep_job^~ j) (arrivals_between arr_seq 0 t) = service_of_jobs sched (fun j0 : Job => hep_job j0 j && (j0 != j)) (arrivals_between arr_seq 0 t) 0 t + service_of_jobs sched (fun j0 : Job => hep_job j0 j && ~~ (j0 != j)) (arrivals_between arr_seq 0 t) 0 t
Task: TaskType
H: TaskCost Task
Job: JobType
H0: JobTask Job Task
H1: JobArrival Job
H2: JobCost Job
arr_seq: arrival_sequence Job
H_valid_arrival_sequence: valid_arrival_sequence arr_seq
sched: schedule (processor_state Job)
H_jobs_come_from_arrival_sequence: jobs_come_from_arrival_sequence sched arr_seq
H_jobs_must_arrive_to_execute: jobs_must_arrive_to_execute sched
H_completed_jobs_dont_execute: completed_jobs_dont_execute sched
H3: JLFP_policy Job
H_priority_is_reflexive: reflexive_priorities
H_priority_is_transitive: transitive_priorities
tsk: Task
H_sequential_tasks: sequential_tasks arr_seq sched
quiet_time_cl:= quiet_time arr_seq sched: Job -> instant -> Prop
quiet_time_ab:= definitions.quiet_time sched: Job -> instant -> Prop
busy_interval_prefix_cl:= busy_interval_prefix arr_seq sched: Job -> instant -> instant -> Prop
busy_interval_prefix_ab:= definitions.busy_interval_prefix sched: Job -> instant -> instant -> Prop
busy_interval_cl:= busy_interval arr_seq sched: Job -> instant -> instant -> Prop
busy_interval_ab:= definitions.busy_interval sched: Job -> instant -> instant -> Prop
j: Job
H_j_arrives: arrives_in arr_seq j
H_job_cost_positive: job_cost_positive j
zero_is_quiet_time: forall j : Job, quiet_time_cl j 0
t: instant
T0: cumulative_interference j 0 t = cumulative_interfering_workload j 0 t
T1: ~~ pending_earlier_and_at sched j t
jhp: Job
ARR: arrives_in arr_seq jhp
HP: hep_job jhp j
ARB: arrived_before jhp t

workload_of_jobs (fun j0 : Job => hep_job j0 j && (j0 != j)) (arrivals_between arr_seq 0 t) + workload_of_jobs (fun j0 : Job => hep_job j0 j && ~~ (j0 != j)) (arrivals_between arr_seq 0 t) = service_of_jobs sched (fun j0 : Job => hep_job j0 j && (j0 != j)) (arrivals_between arr_seq 0 t) 0 t + service_of_jobs sched (fun j0 : Job => hep_job j0 j && ~~ (j0 != j)) (arrivals_between arr_seq 0 t) 0 t
Task: TaskType
H: TaskCost Task
Job: JobType
H0: JobTask Job Task
H1: JobArrival Job
H2: JobCost Job
arr_seq: arrival_sequence Job
H_valid_arrival_sequence: valid_arrival_sequence arr_seq
sched: schedule (processor_state Job)
H_jobs_come_from_arrival_sequence: jobs_come_from_arrival_sequence sched arr_seq
H_jobs_must_arrive_to_execute: jobs_must_arrive_to_execute sched
H_completed_jobs_dont_execute: completed_jobs_dont_execute sched
H3: JLFP_policy Job
H_priority_is_reflexive: reflexive_priorities
H_priority_is_transitive: transitive_priorities
tsk: Task
H_sequential_tasks: sequential_tasks arr_seq sched
quiet_time_cl:= quiet_time arr_seq sched: Job -> instant -> Prop
quiet_time_ab:= definitions.quiet_time sched: Job -> instant -> Prop
busy_interval_prefix_cl:= busy_interval_prefix arr_seq sched: Job -> instant -> instant -> Prop
busy_interval_prefix_ab:= definitions.busy_interval_prefix sched: Job -> instant -> instant -> Prop
busy_interval_cl:= busy_interval arr_seq sched: Job -> instant -> instant -> Prop
busy_interval_ab:= definitions.busy_interval sched: Job -> instant -> instant -> Prop
j: Job
H_j_arrives: arrives_in arr_seq j
H_job_cost_positive: job_cost_positive j
zero_is_quiet_time: forall j : Job, quiet_time_cl j 0
t: instant
T0: cumulative_interference j 0 t = cumulative_interfering_workload j 0 t
T1: ~~ pending_earlier_and_at sched j t
jhp: Job
ARR: arrives_in arr_seq jhp
HP: hep_job jhp j
ARB: arrived_before jhp t

workload_of_jobs (another_hep_job^~ j) (arrivals_between arr_seq 0 t) + workload_of_jobs (fun j0 : Job => hep_job j0 j && ~~ (j0 != j)) (arrivals_between arr_seq 0 t) = service_of_jobs sched (another_hep_job^~ j) (arrivals_between arr_seq 0 t) 0 t + service_of_jobs sched (fun j0 : Job => hep_job j0 j && ~~ (j0 != j)) (arrivals_between arr_seq 0 t) 0 t
Task: TaskType
H: TaskCost Task
Job: JobType
H0: JobTask Job Task
H1: JobArrival Job
H2: JobCost Job
arr_seq: arrival_sequence Job
H_valid_arrival_sequence: valid_arrival_sequence arr_seq
sched: schedule (processor_state Job)
H_jobs_come_from_arrival_sequence: jobs_come_from_arrival_sequence sched arr_seq
H_jobs_must_arrive_to_execute: jobs_must_arrive_to_execute sched
H_completed_jobs_dont_execute: completed_jobs_dont_execute sched
H3: JLFP_policy Job
H_priority_is_reflexive: reflexive_priorities
H_priority_is_transitive: transitive_priorities
tsk: Task
H_sequential_tasks: sequential_tasks arr_seq sched
quiet_time_cl:= quiet_time arr_seq sched: Job -> instant -> Prop
quiet_time_ab:= definitions.quiet_time sched: Job -> instant -> Prop
busy_interval_prefix_cl:= busy_interval_prefix arr_seq sched: Job -> instant -> instant -> Prop
busy_interval_prefix_ab:= definitions.busy_interval_prefix sched: Job -> instant -> instant -> Prop
busy_interval_cl:= busy_interval arr_seq sched: Job -> instant -> instant -> Prop
busy_interval_ab:= definitions.busy_interval sched: Job -> instant -> instant -> Prop
j: Job
H_j_arrives: arrives_in arr_seq j
H_job_cost_positive: job_cost_positive j
zero_is_quiet_time: forall j : Job, quiet_time_cl j 0
t: instant
T0: cumulative_interference j 0 t = cumulative_interfering_workload j 0 t
T1: ~~ pending_earlier_and_at sched j t
jhp: Job
ARR: arrives_in arr_seq jhp
HP: hep_job jhp j
ARB: arrived_before jhp t

workload_of_jobs (another_hep_job^~ j) (arrivals_between arr_seq 0 t) + workload_of_jobs (fun j0 : Job => hep_job j0 j && ~~ (j0 != j)) (arrivals_between arr_seq 0 t) = cumulative_another_hep_job_interference j 0 t + service_of_jobs sched (fun j0 : Job => hep_job j0 j && ~~ (j0 != j)) (arrivals_between arr_seq 0 t) 0 t
Task: TaskType
H: TaskCost Task
Job: JobType
H0: JobTask Job Task
H1: JobArrival Job
H2: JobCost Job
arr_seq: arrival_sequence Job
H_valid_arrival_sequence: valid_arrival_sequence arr_seq
sched: schedule (processor_state Job)
H_jobs_come_from_arrival_sequence: jobs_come_from_arrival_sequence sched arr_seq
H_jobs_must_arrive_to_execute: jobs_must_arrive_to_execute sched
H_completed_jobs_dont_execute: completed_jobs_dont_execute sched
H3: JLFP_policy Job
H_priority_is_reflexive: reflexive_priorities
H_priority_is_transitive: transitive_priorities
tsk: Task
H_sequential_tasks: sequential_tasks arr_seq sched
quiet_time_cl:= quiet_time arr_seq sched: Job -> instant -> Prop
quiet_time_ab:= definitions.quiet_time sched: Job -> instant -> Prop
busy_interval_prefix_cl:= busy_interval_prefix arr_seq sched: Job -> instant -> instant -> Prop
busy_interval_prefix_ab:= definitions.busy_interval_prefix sched: Job -> instant -> instant -> Prop
busy_interval_cl:= busy_interval arr_seq sched: Job -> instant -> instant -> Prop
busy_interval_ab:= definitions.busy_interval sched: Job -> instant -> instant -> Prop
j: Job
H_j_arrives: arrives_in arr_seq j
H_job_cost_positive: job_cost_positive j
zero_is_quiet_time: forall j : Job, quiet_time_cl j 0
t: instant
T0: cumulative_interference j 0 t = cumulative_interfering_workload j 0 t
T1: ~~ pending_earlier_and_at sched j t
jhp: Job
ARR: arrives_in arr_seq jhp
HP: hep_job jhp j
ARB: arrived_before jhp t
quiet_time arr_seq sched j 0
Task: TaskType
H: TaskCost Task
Job: JobType
H0: JobTask Job Task
H1: JobArrival Job
H2: JobCost Job
arr_seq: arrival_sequence Job
H_valid_arrival_sequence: valid_arrival_sequence arr_seq
sched: schedule (processor_state Job)
H_jobs_come_from_arrival_sequence: jobs_come_from_arrival_sequence sched arr_seq
H_jobs_must_arrive_to_execute: jobs_must_arrive_to_execute sched
H_completed_jobs_dont_execute: completed_jobs_dont_execute sched
H3: JLFP_policy Job
H_priority_is_reflexive: reflexive_priorities
H_priority_is_transitive: transitive_priorities
tsk: Task
H_sequential_tasks: sequential_tasks arr_seq sched
quiet_time_cl:= quiet_time arr_seq sched: Job -> instant -> Prop
quiet_time_ab:= definitions.quiet_time sched: Job -> instant -> Prop
busy_interval_prefix_cl:= busy_interval_prefix arr_seq sched: Job -> instant -> instant -> Prop
busy_interval_prefix_ab:= definitions.busy_interval_prefix sched: Job -> instant -> instant -> Prop
busy_interval_cl:= busy_interval arr_seq sched: Job -> instant -> instant -> Prop
busy_interval_ab:= definitions.busy_interval sched: Job -> instant -> instant -> Prop
j: Job
H_j_arrives: arrives_in arr_seq j
H_job_cost_positive: job_cost_positive j
zero_is_quiet_time: forall j : Job, quiet_time_cl j 0
t: instant
T0: cumulative_interference j 0 t = cumulative_interfering_workload j 0 t
T1: ~~ pending_earlier_and_at sched j t
jhp: Job
ARR: arrives_in arr_seq jhp
HP: hep_job jhp j
ARB: arrived_before jhp t

cumulative_other_hep_jobs_interfering_workload j 0 t + workload_of_jobs (fun j0 : Job => hep_job j0 j && ~~ (j0 != j)) (arrivals_between arr_seq 0 t) = cumulative_another_hep_job_interference j 0 t + service_of_jobs sched (fun j0 : Job => hep_job j0 j && ~~ (j0 != j)) (arrivals_between arr_seq 0 t) 0 t
Task: TaskType
H: TaskCost Task
Job: JobType
H0: JobTask Job Task
H1: JobArrival Job
H2: JobCost Job
arr_seq: arrival_sequence Job
H_valid_arrival_sequence: valid_arrival_sequence arr_seq
sched: schedule (processor_state Job)
H_jobs_come_from_arrival_sequence: jobs_come_from_arrival_sequence sched arr_seq
H_jobs_must_arrive_to_execute: jobs_must_arrive_to_execute sched
H_completed_jobs_dont_execute: completed_jobs_dont_execute sched
H3: JLFP_policy Job
H_priority_is_reflexive: reflexive_priorities
H_priority_is_transitive: transitive_priorities
tsk: Task
H_sequential_tasks: sequential_tasks arr_seq sched
quiet_time_cl:= quiet_time arr_seq sched: Job -> instant -> Prop
quiet_time_ab:= definitions.quiet_time sched: Job -> instant -> Prop
busy_interval_prefix_cl:= busy_interval_prefix arr_seq sched: Job -> instant -> instant -> Prop
busy_interval_prefix_ab:= definitions.busy_interval_prefix sched: Job -> instant -> instant -> Prop
busy_interval_cl:= busy_interval arr_seq sched: Job -> instant -> instant -> Prop
busy_interval_ab:= definitions.busy_interval sched: Job -> instant -> instant -> Prop
j: Job
H_j_arrives: arrives_in arr_seq j
H_job_cost_positive: job_cost_positive j
zero_is_quiet_time: forall j : Job, quiet_time_cl j 0
t: instant
T0: cumulative_interference j 0 t = cumulative_interfering_workload j 0 t
T1: ~~ pending_earlier_and_at sched j t
jhp: Job
ARR: arrives_in arr_seq jhp
HP: hep_job jhp j
ARB: arrived_before jhp t
quiet_time arr_seq sched j 0
Task: TaskType
H: TaskCost Task
Job: JobType
H0: JobTask Job Task
H1: JobArrival Job
H2: JobCost Job
arr_seq: arrival_sequence Job
H_valid_arrival_sequence: valid_arrival_sequence arr_seq
sched: schedule (processor_state Job)
H_jobs_come_from_arrival_sequence: jobs_come_from_arrival_sequence sched arr_seq
H_jobs_must_arrive_to_execute: jobs_must_arrive_to_execute sched
H_completed_jobs_dont_execute: completed_jobs_dont_execute sched
H3: JLFP_policy Job
H_priority_is_reflexive: reflexive_priorities
H_priority_is_transitive: transitive_priorities
tsk: Task
H_sequential_tasks: sequential_tasks arr_seq sched
quiet_time_cl:= quiet_time arr_seq sched: Job -> instant -> Prop
quiet_time_ab:= definitions.quiet_time sched: Job -> instant -> Prop
busy_interval_prefix_cl:= busy_interval_prefix arr_seq sched: Job -> instant -> instant -> Prop
busy_interval_prefix_ab:= definitions.busy_interval_prefix sched: Job -> instant -> instant -> Prop
busy_interval_cl:= busy_interval arr_seq sched: Job -> instant -> instant -> Prop
busy_interval_ab:= definitions.busy_interval sched: Job -> instant -> instant -> Prop
j: Job
H_j_arrives: arrives_in arr_seq j
H_job_cost_positive: job_cost_positive j
zero_is_quiet_time: forall j : Job, quiet_time_cl j 0
t: instant
T0: cumulative_interference j 0 t = cumulative_interfering_workload j 0 t
jhp: Job
ARR: arrives_in arr_seq jhp
HP: hep_job jhp j
ARB: arrived_before jhp t
NA: ~~ arrived_before j t

cumulative_other_hep_jobs_interfering_workload j 0 t + workload_of_jobs (fun j0 : Job => hep_job j0 j && ~~ (j0 != j)) (arrivals_between arr_seq 0 t) = cumulative_another_hep_job_interference j 0 t + service_of_jobs sched (fun j0 : Job => hep_job j0 j && ~~ (j0 != j)) (arrivals_between arr_seq 0 t) 0 t
Task: TaskType
H: TaskCost Task
Job: JobType
H0: JobTask Job Task
H1: JobArrival Job
H2: JobCost Job
arr_seq: arrival_sequence Job
H_valid_arrival_sequence: valid_arrival_sequence arr_seq
sched: schedule (processor_state Job)
H_jobs_come_from_arrival_sequence: jobs_come_from_arrival_sequence sched arr_seq
H_jobs_must_arrive_to_execute: jobs_must_arrive_to_execute sched
H_completed_jobs_dont_execute: completed_jobs_dont_execute sched
H3: JLFP_policy Job
H_priority_is_reflexive: reflexive_priorities
H_priority_is_transitive: transitive_priorities
tsk: Task
H_sequential_tasks: sequential_tasks arr_seq sched
quiet_time_cl:= quiet_time arr_seq sched: Job -> instant -> Prop
quiet_time_ab:= definitions.quiet_time sched: Job -> instant -> Prop
busy_interval_prefix_cl:= busy_interval_prefix arr_seq sched: Job -> instant -> instant -> Prop
busy_interval_prefix_ab:= definitions.busy_interval_prefix sched: Job -> instant -> instant -> Prop
busy_interval_cl:= busy_interval arr_seq sched: Job -> instant -> instant -> Prop
busy_interval_ab:= definitions.busy_interval sched: Job -> instant -> instant -> Prop
j: Job
H_j_arrives: arrives_in arr_seq j
H_job_cost_positive: job_cost_positive j
zero_is_quiet_time: forall j : Job, quiet_time_cl j 0
t: instant
T0: cumulative_interference j 0 t = cumulative_interfering_workload j 0 t
jhp: Job
ARR: arrives_in arr_seq jhp
HP: hep_job jhp j
ARB: arrived_before jhp t
COMP: completed_by sched j t
cumulative_other_hep_jobs_interfering_workload j 0 t + workload_of_jobs (fun j0 : Job => hep_job j0 j && ~~ (j0 != j)) (arrivals_between arr_seq 0 t) = cumulative_another_hep_job_interference j 0 t + service_of_jobs sched (fun j0 : Job => hep_job j0 j && ~~ (j0 != j)) (arrivals_between arr_seq 0 t) 0 t
Task: TaskType
H: TaskCost Task
Job: JobType
H0: JobTask Job Task
H1: JobArrival Job
H2: JobCost Job
arr_seq: arrival_sequence Job
H_valid_arrival_sequence: valid_arrival_sequence arr_seq
sched: schedule (processor_state Job)
H_jobs_come_from_arrival_sequence: jobs_come_from_arrival_sequence sched arr_seq
H_jobs_must_arrive_to_execute: jobs_must_arrive_to_execute sched
H_completed_jobs_dont_execute: completed_jobs_dont_execute sched
H3: JLFP_policy Job
H_priority_is_reflexive: reflexive_priorities
H_priority_is_transitive: transitive_priorities
tsk: Task
H_sequential_tasks: sequential_tasks arr_seq sched
quiet_time_cl:= quiet_time arr_seq sched: Job -> instant -> Prop
quiet_time_ab:= definitions.quiet_time sched: Job -> instant -> Prop
busy_interval_prefix_cl:= busy_interval_prefix arr_seq sched: Job -> instant -> instant -> Prop
busy_interval_prefix_ab:= definitions.busy_interval_prefix sched: Job -> instant -> instant -> Prop
busy_interval_cl:= busy_interval arr_seq sched: Job -> instant -> instant -> Prop
busy_interval_ab:= definitions.busy_interval sched: Job -> instant -> instant -> Prop
j: Job
H_j_arrives: arrives_in arr_seq j
H_job_cost_positive: job_cost_positive j
zero_is_quiet_time: forall j : Job, quiet_time_cl j 0
t: instant
T0: cumulative_interference j 0 t = cumulative_interfering_workload j 0 t
T1: ~~ pending_earlier_and_at sched j t
jhp: Job
ARR: arrives_in arr_seq jhp
HP: hep_job jhp j
ARB: arrived_before jhp t
quiet_time arr_seq sched j 0
Task: TaskType
H: TaskCost Task
Job: JobType
H0: JobTask Job Task
H1: JobArrival Job
H2: JobCost Job
arr_seq: arrival_sequence Job
H_valid_arrival_sequence: valid_arrival_sequence arr_seq
sched: schedule (processor_state Job)
H_jobs_come_from_arrival_sequence: jobs_come_from_arrival_sequence sched arr_seq
H_jobs_must_arrive_to_execute: jobs_must_arrive_to_execute sched
H_completed_jobs_dont_execute: completed_jobs_dont_execute sched
H3: JLFP_policy Job
H_priority_is_reflexive: reflexive_priorities
H_priority_is_transitive: transitive_priorities
tsk: Task
H_sequential_tasks: sequential_tasks arr_seq sched
quiet_time_cl:= quiet_time arr_seq sched: Job -> instant -> Prop
quiet_time_ab:= definitions.quiet_time sched: Job -> instant -> Prop
busy_interval_prefix_cl:= busy_interval_prefix arr_seq sched: Job -> instant -> instant -> Prop
busy_interval_prefix_ab:= definitions.busy_interval_prefix sched: Job -> instant -> instant -> Prop
busy_interval_cl:= busy_interval arr_seq sched: Job -> instant -> instant -> Prop
busy_interval_ab:= definitions.busy_interval sched: Job -> instant -> instant -> Prop
j: Job
H_j_arrives: arrives_in arr_seq j
H_job_cost_positive: job_cost_positive j
zero_is_quiet_time: forall j : Job, quiet_time_cl j 0
t: instant
T0: cumulative_interference j 0 t = cumulative_interfering_workload j 0 t
jhp: Job
ARR: arrives_in arr_seq jhp
HP: hep_job jhp j
ARB: arrived_before jhp t
NA: ~~ arrived_before j t

cumulative_other_hep_jobs_interfering_workload j 0 t + workload_of_jobs (fun j0 : Job => hep_job j0 j && ~~ (j0 != j)) (arrivals_between arr_seq 0 t) = cumulative_another_hep_job_interference j 0 t + service_of_jobs sched (fun j0 : Job => hep_job j0 j && ~~ (j0 != j)) (arrivals_between arr_seq 0 t) 0 t
Task: TaskType
H: TaskCost Task
Job: JobType
H0: JobTask Job Task
H1: JobArrival Job
H2: JobCost Job
arr_seq: arrival_sequence Job
H_valid_arrival_sequence: valid_arrival_sequence arr_seq
sched: schedule (processor_state Job)
H_jobs_come_from_arrival_sequence: jobs_come_from_arrival_sequence sched arr_seq
H_jobs_must_arrive_to_execute: jobs_must_arrive_to_execute sched
H_completed_jobs_dont_execute: completed_jobs_dont_execute sched
H3: JLFP_policy Job
H_priority_is_reflexive: reflexive_priorities
H_priority_is_transitive: transitive_priorities
tsk: Task
H_sequential_tasks: sequential_tasks arr_seq sched
quiet_time_cl:= quiet_time arr_seq sched: Job -> instant -> Prop
quiet_time_ab:= definitions.quiet_time sched: Job -> instant -> Prop
busy_interval_prefix_cl:= busy_interval_prefix arr_seq sched: Job -> instant -> instant -> Prop
busy_interval_prefix_ab:= definitions.busy_interval_prefix sched: Job -> instant -> instant -> Prop
busy_interval_cl:= busy_interval arr_seq sched: Job -> instant -> instant -> Prop
busy_interval_ab:= definitions.busy_interval sched: Job -> instant -> instant -> Prop
j: Job
H_j_arrives: arrives_in arr_seq j
H_job_cost_positive: job_cost_positive j
zero_is_quiet_time: forall j : Job, quiet_time_cl j 0
t: instant
T0: cumulative_interference j 0 t = cumulative_interfering_workload j 0 t
jhp: Job
ARR: arrives_in arr_seq jhp
HP: hep_job jhp j
ARB: arrived_before jhp t
NA: ~~ arrived_before j t

{in arrivals_between arr_seq 0 t, (fun j__copy : Job => hep_job j__copy j && ~~ (j__copy != j)) =1 pred0}
Task: TaskType
H: TaskCost Task
Job: JobType
H0: JobTask Job Task
H1: JobArrival Job
H2: JobCost Job
arr_seq: arrival_sequence Job
H_valid_arrival_sequence: valid_arrival_sequence arr_seq
sched: schedule (processor_state Job)
H_jobs_come_from_arrival_sequence: jobs_come_from_arrival_sequence sched arr_seq
H_jobs_must_arrive_to_execute: jobs_must_arrive_to_execute sched
H_completed_jobs_dont_execute: completed_jobs_dont_execute sched
H3: JLFP_policy Job
H_priority_is_reflexive: reflexive_priorities
H_priority_is_transitive: transitive_priorities
tsk: Task
H_sequential_tasks: sequential_tasks arr_seq sched
quiet_time_cl:= quiet_time arr_seq sched: Job -> instant -> Prop
quiet_time_ab:= definitions.quiet_time sched: Job -> instant -> Prop
busy_interval_prefix_cl:= busy_interval_prefix arr_seq sched: Job -> instant -> instant -> Prop
busy_interval_prefix_ab:= definitions.busy_interval_prefix sched: Job -> instant -> instant -> Prop
busy_interval_cl:= busy_interval arr_seq sched: Job -> instant -> instant -> Prop
busy_interval_ab:= definitions.busy_interval sched: Job -> instant -> instant -> Prop
j: Job
H_j_arrives: arrives_in arr_seq j
H_job_cost_positive: job_cost_positive j
zero_is_quiet_time: forall j : Job, quiet_time_cl j 0
t: instant
T0: cumulative_interference j 0 t = cumulative_interfering_workload j 0 t
jhp: Job
ARR: arrives_in arr_seq jhp
HP: hep_job jhp j
ARB: arrived_before jhp t
NA: ~~ arrived_before j t
PRED__eq: {in arrivals_between arr_seq 0 t, (fun j__copy : Job => hep_job j__copy j && ~~ (j__copy != j)) =1 pred0}
cumulative_other_hep_jobs_interfering_workload j 0 t + workload_of_jobs (fun j0 : Job => hep_job j0 j && ~~ (j0 != j)) (arrivals_between arr_seq 0 t) = cumulative_another_hep_job_interference j 0 t + service_of_jobs sched (fun j0 : Job => hep_job j0 j && ~~ (j0 != j)) (arrivals_between arr_seq 0 t) 0 t
Task: TaskType
H: TaskCost Task
Job: JobType
H0: JobTask Job Task
H1: JobArrival Job
H2: JobCost Job
arr_seq: arrival_sequence Job
H_valid_arrival_sequence: valid_arrival_sequence arr_seq
sched: schedule (processor_state Job)
H_jobs_come_from_arrival_sequence: jobs_come_from_arrival_sequence sched arr_seq
H_jobs_must_arrive_to_execute: jobs_must_arrive_to_execute sched
H_completed_jobs_dont_execute: completed_jobs_dont_execute sched
H3: JLFP_policy Job
H_priority_is_reflexive: reflexive_priorities
H_priority_is_transitive: transitive_priorities
tsk: Task
H_sequential_tasks: sequential_tasks arr_seq sched
quiet_time_cl:= quiet_time arr_seq sched: Job -> instant -> Prop
quiet_time_ab:= definitions.quiet_time sched: Job -> instant -> Prop
busy_interval_prefix_cl:= busy_interval_prefix arr_seq sched: Job -> instant -> instant -> Prop
busy_interval_prefix_ab:= definitions.busy_interval_prefix sched: Job -> instant -> instant -> Prop
busy_interval_cl:= busy_interval arr_seq sched: Job -> instant -> instant -> Prop
busy_interval_ab:= definitions.busy_interval sched: Job -> instant -> instant -> Prop
j: Job
H_j_arrives: arrives_in arr_seq j
H_job_cost_positive: job_cost_positive j
zero_is_quiet_time: forall j : Job, quiet_time_cl j 0
t: instant
T0: cumulative_interference j 0 t = cumulative_interfering_workload j 0 t
jhp: Job
ARR: arrives_in arr_seq jhp
HP: hep_job jhp j
ARB: arrived_before jhp t
NA: ~~ arrived_before j t

{in arrivals_between arr_seq 0 t, (fun j__copy : Job => hep_job j__copy j && ~~ (j__copy != j)) =1 pred0}
Task: TaskType
H: TaskCost Task
Job: JobType
H0: JobTask Job Task
H1: JobArrival Job
H2: JobCost Job
arr_seq: arrival_sequence Job
H_valid_arrival_sequence: valid_arrival_sequence arr_seq
sched: schedule (processor_state Job)
H_jobs_come_from_arrival_sequence: jobs_come_from_arrival_sequence sched arr_seq
H_jobs_must_arrive_to_execute: jobs_must_arrive_to_execute sched
H_completed_jobs_dont_execute: completed_jobs_dont_execute sched
H3: JLFP_policy Job
H_priority_is_reflexive: reflexive_priorities
H_priority_is_transitive: transitive_priorities
tsk: Task
H_sequential_tasks: sequential_tasks arr_seq sched
quiet_time_cl:= quiet_time arr_seq sched: Job -> instant -> Prop
quiet_time_ab:= definitions.quiet_time sched: Job -> instant -> Prop
busy_interval_prefix_cl:= busy_interval_prefix arr_seq sched: Job -> instant -> instant -> Prop
busy_interval_prefix_ab:= definitions.busy_interval_prefix sched: Job -> instant -> instant -> Prop
busy_interval_cl:= busy_interval arr_seq sched: Job -> instant -> instant -> Prop
busy_interval_ab:= definitions.busy_interval sched: Job -> instant -> instant -> Prop
j: Job
H_j_arrives: arrives_in arr_seq j
H_job_cost_positive: job_cost_positive j
zero_is_quiet_time: forall j : Job, quiet_time_cl j 0
t: instant
T0: cumulative_interference j 0 t = cumulative_interfering_workload j 0 t
jhp: Job
ARR: arrives_in arr_seq jhp
HP: hep_job jhp j
ARB: arrived_before jhp t
NA: ~~ arrived_before j t
j__copy: Job
IN: j__copy \in arrivals_between arr_seq 0 t

~~ (hep_job j__copy j && ~~ (j__copy != j))
Task: TaskType
H: TaskCost Task
Job: JobType
H0: JobTask Job Task
H1: JobArrival Job
H2: JobCost Job
arr_seq: arrival_sequence Job
H_valid_arrival_sequence: valid_arrival_sequence arr_seq
sched: schedule (processor_state Job)
H_jobs_come_from_arrival_sequence: jobs_come_from_arrival_sequence sched arr_seq
H_jobs_must_arrive_to_execute: jobs_must_arrive_to_execute sched
H_completed_jobs_dont_execute: completed_jobs_dont_execute sched
H3: JLFP_policy Job
H_priority_is_reflexive: reflexive_priorities
H_priority_is_transitive: transitive_priorities
tsk: Task
H_sequential_tasks: sequential_tasks arr_seq sched
quiet_time_cl:= quiet_time arr_seq sched: Job -> instant -> Prop
quiet_time_ab:= definitions.quiet_time sched: Job -> instant -> Prop
busy_interval_prefix_cl:= busy_interval_prefix arr_seq sched: Job -> instant -> instant -> Prop
busy_interval_prefix_ab:= definitions.busy_interval_prefix sched: Job -> instant -> instant -> Prop
busy_interval_cl:= busy_interval arr_seq sched: Job -> instant -> instant -> Prop
busy_interval_ab:= definitions.busy_interval sched: Job -> instant -> instant -> Prop
j: Job
H_j_arrives: arrives_in arr_seq j
H_job_cost_positive: job_cost_positive j
zero_is_quiet_time: forall j : Job, quiet_time_cl j 0
t: instant
T0: cumulative_interference j 0 t = cumulative_interfering_workload j 0 t
jhp: Job
ARR: arrives_in arr_seq jhp
HP: hep_job jhp j
ARB: arrived_before jhp t
NA: ~~ arrived_before j t
IN: j \in arrivals_between arr_seq 0 t

False
Task: TaskType
H: TaskCost Task
Job: JobType
H0: JobTask Job Task
H1: JobArrival Job
H2: JobCost Job
arr_seq: arrival_sequence Job
H_valid_arrival_sequence: valid_arrival_sequence arr_seq
sched: schedule (processor_state Job)
H_jobs_come_from_arrival_sequence: jobs_come_from_arrival_sequence sched arr_seq
H_jobs_must_arrive_to_execute: jobs_must_arrive_to_execute sched
H_completed_jobs_dont_execute: completed_jobs_dont_execute sched
H3: JLFP_policy Job
H_priority_is_reflexive: reflexive_priorities
H_priority_is_transitive: transitive_priorities
tsk: Task
H_sequential_tasks: sequential_tasks arr_seq sched
quiet_time_cl:= quiet_time arr_seq sched: Job -> instant -> Prop
quiet_time_ab:= definitions.quiet_time sched: Job -> instant -> Prop
busy_interval_prefix_cl:= busy_interval_prefix arr_seq sched: Job -> instant -> instant -> Prop
busy_interval_prefix_ab:= definitions.busy_interval_prefix sched: Job -> instant -> instant -> Prop
busy_interval_cl:= busy_interval arr_seq sched: Job -> instant -> instant -> Prop
busy_interval_ab:= definitions.busy_interval sched: Job -> instant -> instant -> Prop
j: Job
H_j_arrives: arrives_in arr_seq j
H_job_cost_positive: job_cost_positive j
zero_is_quiet_time: forall j : Job, quiet_time_cl j 0
t: instant
T0: cumulative_interference j 0 t = cumulative_interfering_workload j 0 t
jhp: Job
ARR: arrives_in arr_seq jhp
HP: hep_job jhp j
ARB: arrived_before jhp t
IN: j \in arrivals_between arr_seq 0 t

arrived_before j t
by apply in_arrivals_implies_arrived_between in IN; rt_eauto.
Task: TaskType
H: TaskCost Task
Job: JobType
H0: JobTask Job Task
H1: JobArrival Job
H2: JobCost Job
arr_seq: arrival_sequence Job
H_valid_arrival_sequence: valid_arrival_sequence arr_seq
sched: schedule (processor_state Job)
H_jobs_come_from_arrival_sequence: jobs_come_from_arrival_sequence sched arr_seq
H_jobs_must_arrive_to_execute: jobs_must_arrive_to_execute sched
H_completed_jobs_dont_execute: completed_jobs_dont_execute sched
H3: JLFP_policy Job
H_priority_is_reflexive: reflexive_priorities
H_priority_is_transitive: transitive_priorities
tsk: Task
H_sequential_tasks: sequential_tasks arr_seq sched
quiet_time_cl:= quiet_time arr_seq sched: Job -> instant -> Prop
quiet_time_ab:= definitions.quiet_time sched: Job -> instant -> Prop
busy_interval_prefix_cl:= busy_interval_prefix arr_seq sched: Job -> instant -> instant -> Prop
busy_interval_prefix_ab:= definitions.busy_interval_prefix sched: Job -> instant -> instant -> Prop
busy_interval_cl:= busy_interval arr_seq sched: Job -> instant -> instant -> Prop
busy_interval_ab:= definitions.busy_interval sched: Job -> instant -> instant -> Prop
j: Job
H_j_arrives: arrives_in arr_seq j
H_job_cost_positive: job_cost_positive j
zero_is_quiet_time: forall j : Job, quiet_time_cl j 0
t: instant
T0: cumulative_interference j 0 t = cumulative_interfering_workload j 0 t
jhp: Job
ARR: arrives_in arr_seq jhp
HP: hep_job jhp j
ARB: arrived_before jhp t
NA: ~~ arrived_before j t
PRED__eq: {in arrivals_between arr_seq 0 t, (fun j__copy : Job => hep_job j__copy j && ~~ (j__copy != j)) =1 pred0}

cumulative_other_hep_jobs_interfering_workload j 0 t + workload_of_jobs (fun j0 : Job => hep_job j0 j && ~~ (j0 != j)) (arrivals_between arr_seq 0 t) = cumulative_another_hep_job_interference j 0 t + service_of_jobs sched (fun j0 : Job => hep_job j0 j && ~~ (j0 != j)) (arrivals_between arr_seq 0 t) 0 t
Task: TaskType
H: TaskCost Task
Job: JobType
H0: JobTask Job Task
H1: JobArrival Job
H2: JobCost Job
arr_seq: arrival_sequence Job
H_valid_arrival_sequence: valid_arrival_sequence arr_seq
sched: schedule (processor_state Job)
H_jobs_come_from_arrival_sequence: jobs_come_from_arrival_sequence sched arr_seq
H_jobs_must_arrive_to_execute: jobs_must_arrive_to_execute sched
H_completed_jobs_dont_execute: completed_jobs_dont_execute sched
H3: JLFP_policy Job
H_priority_is_reflexive: reflexive_priorities
H_priority_is_transitive: transitive_priorities
tsk: Task
H_sequential_tasks: sequential_tasks arr_seq sched
quiet_time_cl:= quiet_time arr_seq sched: Job -> instant -> Prop
quiet_time_ab:= definitions.quiet_time sched: Job -> instant -> Prop
busy_interval_prefix_cl:= busy_interval_prefix arr_seq sched: Job -> instant -> instant -> Prop
busy_interval_prefix_ab:= definitions.busy_interval_prefix sched: Job -> instant -> instant -> Prop
busy_interval_cl:= busy_interval arr_seq sched: Job -> instant -> instant -> Prop
busy_interval_ab:= definitions.busy_interval sched: Job -> instant -> instant -> Prop
j: Job
H_j_arrives: arrives_in arr_seq j
H_job_cost_positive: job_cost_positive j
zero_is_quiet_time: forall j : Job, quiet_time_cl j 0
t: instant
T0: cumulative_interference j 0 t = cumulative_interfering_workload j 0 t
jhp: Job
ARR: arrives_in arr_seq jhp
HP: hep_job jhp j
ARB: arrived_before jhp t
NA: ~~ arrived_before j t
PRED__eq: {in arrivals_between arr_seq 0 t, (fun j__copy : Job => hep_job j__copy j && ~~ (j__copy != j)) =1 pred0}

cumulative_other_hep_jobs_interfering_workload j 0 t + workload_of_jobs (fun j0 : Job => hep_job j0 j && ~~ (j0 != j)) (arrivals_between arr_seq 0 t) = cumulative_another_hep_job_interference j 0 t + service_of_jobs sched pred0 (arrivals_between arr_seq 0 t) 0 t
Task: TaskType
H: TaskCost Task
Job: JobType
H0: JobTask Job Task
H1: JobArrival Job
H2: JobCost Job
arr_seq: arrival_sequence Job
H_valid_arrival_sequence: valid_arrival_sequence arr_seq
sched: schedule (processor_state Job)
H_jobs_come_from_arrival_sequence: jobs_come_from_arrival_sequence sched arr_seq
H_jobs_must_arrive_to_execute: jobs_must_arrive_to_execute sched
H_completed_jobs_dont_execute: completed_jobs_dont_execute sched
H3: JLFP_policy Job
H_priority_is_reflexive: reflexive_priorities
H_priority_is_transitive: transitive_priorities
tsk: Task
H_sequential_tasks: sequential_tasks arr_seq sched
quiet_time_cl:= quiet_time arr_seq sched: Job -> instant -> Prop
quiet_time_ab:= definitions.quiet_time sched: Job -> instant -> Prop
busy_interval_prefix_cl:= busy_interval_prefix arr_seq sched: Job -> instant -> instant -> Prop
busy_interval_prefix_ab:= definitions.busy_interval_prefix sched: Job -> instant -> instant -> Prop
busy_interval_cl:= busy_interval arr_seq sched: Job -> instant -> instant -> Prop
busy_interval_ab:= definitions.busy_interval sched: Job -> instant -> instant -> Prop
j: Job
H_j_arrives: arrives_in arr_seq j
H_job_cost_positive: job_cost_positive j
zero_is_quiet_time: forall j : Job, quiet_time_cl j 0
t: instant
T0: cumulative_interference j 0 t = cumulative_interfering_workload j 0 t
jhp: Job
ARR: arrives_in arr_seq jhp
HP: hep_job jhp j
ARB: arrived_before jhp t
NA: ~~ arrived_before j t
PRED__eq: {in arrivals_between arr_seq 0 t, (fun j__copy : Job => hep_job j__copy j && ~~ (j__copy != j)) =1 pred0}

cumulative_other_hep_jobs_interfering_workload j 0 t + workload_of_jobs pred0 (arrivals_between arr_seq 0 t) = cumulative_another_hep_job_interference j 0 t + service_of_jobs sched pred0 (arrivals_between arr_seq 0 t) 0 t
Task: TaskType
H: TaskCost Task
Job: JobType
H0: JobTask Job Task
H1: JobArrival Job
H2: JobCost Job
arr_seq: arrival_sequence Job
H_valid_arrival_sequence: valid_arrival_sequence arr_seq
sched: schedule (processor_state Job)
H_jobs_come_from_arrival_sequence: jobs_come_from_arrival_sequence sched arr_seq
H_jobs_must_arrive_to_execute: jobs_must_arrive_to_execute sched
H_completed_jobs_dont_execute: completed_jobs_dont_execute sched
H3: JLFP_policy Job
H_priority_is_reflexive: reflexive_priorities
H_priority_is_transitive: transitive_priorities
tsk: Task
H_sequential_tasks: sequential_tasks arr_seq sched
quiet_time_cl:= quiet_time arr_seq sched: Job -> instant -> Prop
quiet_time_ab:= definitions.quiet_time sched: Job -> instant -> Prop
busy_interval_prefix_cl:= busy_interval_prefix arr_seq sched: Job -> instant -> instant -> Prop
busy_interval_prefix_ab:= definitions.busy_interval_prefix sched: Job -> instant -> instant -> Prop
busy_interval_cl:= busy_interval arr_seq sched: Job -> instant -> instant -> Prop
busy_interval_ab:= definitions.busy_interval sched: Job -> instant -> instant -> Prop
j: Job
H_j_arrives: arrives_in arr_seq j
H_job_cost_positive: job_cost_positive j
zero_is_quiet_time: forall j : Job, quiet_time_cl j 0
t: instant
jhp: Job
ARR: arrives_in arr_seq jhp
HP: hep_job jhp j
ARB: arrived_before jhp t
NA: ~~ arrived_before j t
PRED__eq: {in arrivals_between arr_seq 0 t, (fun j__copy : Job => hep_job j__copy j && ~~ (j__copy != j)) =1 pred0}
EQ: cumulative_another_hep_job_interference j 0 t = cumulative_other_hep_jobs_interfering_workload j 0 t

cumulative_other_hep_jobs_interfering_workload j 0 t + workload_of_jobs pred0 (arrivals_between arr_seq 0 t) = cumulative_another_hep_job_interference j 0 t + service_of_jobs sched pred0 (arrivals_between arr_seq 0 t) 0 t
Task: TaskType
H: TaskCost Task
Job: JobType
H0: JobTask Job Task
H1: JobArrival Job
H2: JobCost Job
arr_seq: arrival_sequence Job
H_valid_arrival_sequence: valid_arrival_sequence arr_seq
sched: schedule (processor_state Job)
H_jobs_come_from_arrival_sequence: jobs_come_from_arrival_sequence sched arr_seq
H_jobs_must_arrive_to_execute: jobs_must_arrive_to_execute sched
H_completed_jobs_dont_execute: completed_jobs_dont_execute sched
H3: JLFP_policy Job
H_priority_is_reflexive: reflexive_priorities
H_priority_is_transitive: transitive_priorities
tsk: Task
H_sequential_tasks: sequential_tasks arr_seq sched
quiet_time_cl:= quiet_time arr_seq sched: Job -> instant -> Prop
quiet_time_ab:= definitions.quiet_time sched: Job -> instant -> Prop
busy_interval_prefix_cl:= busy_interval_prefix arr_seq sched: Job -> instant -> instant -> Prop
busy_interval_prefix_ab:= definitions.busy_interval_prefix sched: Job -> instant -> instant -> Prop
busy_interval_cl:= busy_interval arr_seq sched: Job -> instant -> instant -> Prop
busy_interval_ab:= definitions.busy_interval sched: Job -> instant -> instant -> Prop
j: Job
H_j_arrives: arrives_in arr_seq j
H_job_cost_positive: job_cost_positive j
zero_is_quiet_time: forall j : Job, quiet_time_cl j 0
t: instant
jhp: Job
ARR: arrives_in arr_seq jhp
HP: hep_job jhp j
ARB: arrived_before jhp t
NA: ~~ arrived_before j t
PRED__eq: {in arrivals_between arr_seq 0 t, (fun j__copy : Job => hep_job j__copy j && ~~ (j__copy != j)) =1 pred0}

workload_of_jobs pred0 (arrivals_between arr_seq 0 t) == service_of_jobs sched pred0 (arrivals_between arr_seq 0 t) 0 t
by erewrite workload_of_jobs_pred0, service_of_jobs_pred0.
Task: TaskType
H: TaskCost Task
Job: JobType
H0: JobTask Job Task
H1: JobArrival Job
H2: JobCost Job
arr_seq: arrival_sequence Job
H_valid_arrival_sequence: valid_arrival_sequence arr_seq
sched: schedule (processor_state Job)
H_jobs_come_from_arrival_sequence: jobs_come_from_arrival_sequence sched arr_seq
H_jobs_must_arrive_to_execute: jobs_must_arrive_to_execute sched
H_completed_jobs_dont_execute: completed_jobs_dont_execute sched
H3: JLFP_policy Job
H_priority_is_reflexive: reflexive_priorities
H_priority_is_transitive: transitive_priorities
tsk: Task
H_sequential_tasks: sequential_tasks arr_seq sched
quiet_time_cl:= quiet_time arr_seq sched: Job -> instant -> Prop
quiet_time_ab:= definitions.quiet_time sched: Job -> instant -> Prop
busy_interval_prefix_cl:= busy_interval_prefix arr_seq sched: Job -> instant -> instant -> Prop
busy_interval_prefix_ab:= definitions.busy_interval_prefix sched: Job -> instant -> instant -> Prop
busy_interval_cl:= busy_interval arr_seq sched: Job -> instant -> instant -> Prop
busy_interval_ab:= definitions.busy_interval sched: Job -> instant -> instant -> Prop
j: Job
H_j_arrives: arrives_in arr_seq j
H_job_cost_positive: job_cost_positive j
zero_is_quiet_time: forall j : Job, quiet_time_cl j 0
t: instant
T0: cumulative_interference j 0 t = cumulative_interfering_workload j 0 t
jhp: Job
ARR: arrives_in arr_seq jhp
HP: hep_job jhp j
ARB: arrived_before jhp t
COMP: completed_by sched j t

cumulative_other_hep_jobs_interfering_workload j 0 t + workload_of_jobs (fun j0 : Job => hep_job j0 j && ~~ (j0 != j)) (arrivals_between arr_seq 0 t) = cumulative_another_hep_job_interference j 0 t + service_of_jobs sched (fun j0 : Job => hep_job j0 j && ~~ (j0 != j)) (arrivals_between arr_seq 0 t) 0 t
Task: TaskType
H: TaskCost Task
Job: JobType
H0: JobTask Job Task
H1: JobArrival Job
H2: JobCost Job
arr_seq: arrival_sequence Job
H_valid_arrival_sequence: valid_arrival_sequence arr_seq
sched: schedule (processor_state Job)
H_jobs_come_from_arrival_sequence: jobs_come_from_arrival_sequence sched arr_seq
H_jobs_must_arrive_to_execute: jobs_must_arrive_to_execute sched
H_completed_jobs_dont_execute: completed_jobs_dont_execute sched
H3: JLFP_policy Job
H_priority_is_reflexive: reflexive_priorities
H_priority_is_transitive: transitive_priorities
tsk: Task
H_sequential_tasks: sequential_tasks arr_seq sched
quiet_time_cl:= quiet_time arr_seq sched: Job -> instant -> Prop
quiet_time_ab:= definitions.quiet_time sched: Job -> instant -> Prop
busy_interval_prefix_cl:= busy_interval_prefix arr_seq sched: Job -> instant -> instant -> Prop
busy_interval_prefix_ab:= definitions.busy_interval_prefix sched: Job -> instant -> instant -> Prop
busy_interval_cl:= busy_interval arr_seq sched: Job -> instant -> instant -> Prop
busy_interval_ab:= definitions.busy_interval sched: Job -> instant -> instant -> Prop
j: Job
H_j_arrives: arrives_in arr_seq j
H_job_cost_positive: job_cost_positive j
zero_is_quiet_time: forall j : Job, quiet_time_cl j 0
t: instant
T0: cumulative_interference j 0 t = cumulative_interfering_workload j 0 t
T1: ~~ pending_earlier_and_at sched j t
jhp: Job
ARR: arrives_in arr_seq jhp
HP: hep_job jhp j
ARB: arrived_before jhp t
quiet_time arr_seq sched j 0
Task: TaskType
H: TaskCost Task
Job: JobType
H0: JobTask Job Task
H1: JobArrival Job
H2: JobCost Job
arr_seq: arrival_sequence Job
H_valid_arrival_sequence: valid_arrival_sequence arr_seq
sched: schedule (processor_state Job)
H_jobs_come_from_arrival_sequence: jobs_come_from_arrival_sequence sched arr_seq
H_jobs_must_arrive_to_execute: jobs_must_arrive_to_execute sched
H_completed_jobs_dont_execute: completed_jobs_dont_execute sched
H3: JLFP_policy Job
H_priority_is_reflexive: reflexive_priorities
H_priority_is_transitive: transitive_priorities
tsk: Task
H_sequential_tasks: sequential_tasks arr_seq sched
quiet_time_cl:= quiet_time arr_seq sched: Job -> instant -> Prop
quiet_time_ab:= definitions.quiet_time sched: Job -> instant -> Prop
busy_interval_prefix_cl:= busy_interval_prefix arr_seq sched: Job -> instant -> instant -> Prop
busy_interval_prefix_ab:= definitions.busy_interval_prefix sched: Job -> instant -> instant -> Prop
busy_interval_cl:= busy_interval arr_seq sched: Job -> instant -> instant -> Prop
busy_interval_ab:= definitions.busy_interval sched: Job -> instant -> instant -> Prop
j: Job
H_j_arrives: arrives_in arr_seq j
H_job_cost_positive: job_cost_positive j
zero_is_quiet_time: forall j : Job, quiet_time_cl j 0
t: instant
T0: cumulative_interference j 0 t = cumulative_interfering_workload j 0 t
jhp: Job
ARR: arrives_in arr_seq jhp
HP: hep_job jhp j
ARB: arrived_before jhp t
COMP: completed_by sched j t

cumulative_other_hep_jobs_interfering_workload j 0 t + workload_of_jobs (fun j0 : Job => hep_job j0 j && ~~ (j0 != j)) (arrivals_between arr_seq 0 t) = cumulative_another_hep_job_interference j 0 t + service_of_jobs sched (fun j0 : Job => hep_job j0 j && ~~ (j0 != j)) (arrivals_between arr_seq 0 t) 0 t
Task: TaskType
H: TaskCost Task
Job: JobType
H0: JobTask Job Task
H1: JobArrival Job
H2: JobCost Job
arr_seq: arrival_sequence Job
H_valid_arrival_sequence: valid_arrival_sequence arr_seq
sched: schedule (processor_state Job)
H_jobs_come_from_arrival_sequence: jobs_come_from_arrival_sequence sched arr_seq
H_jobs_must_arrive_to_execute: jobs_must_arrive_to_execute sched
H_completed_jobs_dont_execute: completed_jobs_dont_execute sched
H3: JLFP_policy Job
H_priority_is_reflexive: reflexive_priorities
H_priority_is_transitive: transitive_priorities
tsk: Task
H_sequential_tasks: sequential_tasks arr_seq sched
quiet_time_cl:= quiet_time arr_seq sched: Job -> instant -> Prop
quiet_time_ab:= definitions.quiet_time sched: Job -> instant -> Prop
busy_interval_prefix_cl:= busy_interval_prefix arr_seq sched: Job -> instant -> instant -> Prop
busy_interval_prefix_ab:= definitions.busy_interval_prefix sched: Job -> instant -> instant -> Prop
busy_interval_cl:= busy_interval arr_seq sched: Job -> instant -> instant -> Prop
busy_interval_ab:= definitions.busy_interval sched: Job -> instant -> instant -> Prop
j: Job
H_j_arrives: arrives_in arr_seq j
H_job_cost_positive: job_cost_positive j
zero_is_quiet_time: forall j : Job, quiet_time_cl j 0
t: instant
T0: cumulative_interference j 0 t = cumulative_interfering_workload j 0 t
jhp: Job
ARR: arrives_in arr_seq jhp
HP: hep_job jhp j
ARB: arrived_before jhp t
COMP: completed_by sched j t

{in arrivals_between arr_seq 0 t, (fun j0 : Job => hep_job j0 j && ~~ (j0 != j)) =1 eq_op j}
Task: TaskType
H: TaskCost Task
Job: JobType
H0: JobTask Job Task
H1: JobArrival Job
H2: JobCost Job
arr_seq: arrival_sequence Job
H_valid_arrival_sequence: valid_arrival_sequence arr_seq
sched: schedule (processor_state Job)
H_jobs_come_from_arrival_sequence: jobs_come_from_arrival_sequence sched arr_seq
H_jobs_must_arrive_to_execute: jobs_must_arrive_to_execute sched
H_completed_jobs_dont_execute: completed_jobs_dont_execute sched
H3: JLFP_policy Job
H_priority_is_reflexive: reflexive_priorities
H_priority_is_transitive: transitive_priorities
tsk: Task
H_sequential_tasks: sequential_tasks arr_seq sched
quiet_time_cl:= quiet_time arr_seq sched: Job -> instant -> Prop
quiet_time_ab:= definitions.quiet_time sched: Job -> instant -> Prop
busy_interval_prefix_cl:= busy_interval_prefix arr_seq sched: Job -> instant -> instant -> Prop
busy_interval_prefix_ab:= definitions.busy_interval_prefix sched: Job -> instant -> instant -> Prop
busy_interval_cl:= busy_interval arr_seq sched: Job -> instant -> instant -> Prop
busy_interval_ab:= definitions.busy_interval sched: Job -> instant -> instant -> Prop
j: Job
H_j_arrives: arrives_in arr_seq j
H_job_cost_positive: job_cost_positive j
zero_is_quiet_time: forall j : Job, quiet_time_cl j 0
t: instant
T0: cumulative_interference j 0 t = cumulative_interfering_workload j 0 t
jhp: Job
ARR: arrives_in arr_seq jhp
HP: hep_job jhp j
ARB: arrived_before jhp t
COMP: completed_by sched j t
PRED__eq: {in arrivals_between arr_seq 0 t, (fun j0 : Job => hep_job j0 j && ~~ (j0 != j)) =1 eq_op j}
cumulative_other_hep_jobs_interfering_workload j 0 t + workload_of_jobs (fun j0 : Job => hep_job j0 j && ~~ (j0 != j)) (arrivals_between arr_seq 0 t) = cumulative_another_hep_job_interference j 0 t + service_of_jobs sched (fun j0 : Job => hep_job j0 j && ~~ (j0 != j)) (arrivals_between arr_seq 0 t) 0 t
Task: TaskType
H: TaskCost Task
Job: JobType
H0: JobTask Job Task
H1: JobArrival Job
H2: JobCost Job
arr_seq: arrival_sequence Job
H_valid_arrival_sequence: valid_arrival_sequence arr_seq
sched: schedule (processor_state Job)
H_jobs_come_from_arrival_sequence: jobs_come_from_arrival_sequence sched arr_seq
H_jobs_must_arrive_to_execute: jobs_must_arrive_to_execute sched
H_completed_jobs_dont_execute: completed_jobs_dont_execute sched
H3: JLFP_policy Job
H_priority_is_reflexive: reflexive_priorities
H_priority_is_transitive: transitive_priorities
tsk: Task
H_sequential_tasks: sequential_tasks arr_seq sched
quiet_time_cl:= quiet_time arr_seq sched: Job -> instant -> Prop
quiet_time_ab:= definitions.quiet_time sched: Job -> instant -> Prop
busy_interval_prefix_cl:= busy_interval_prefix arr_seq sched: Job -> instant -> instant -> Prop
busy_interval_prefix_ab:= definitions.busy_interval_prefix sched: Job -> instant -> instant -> Prop
busy_interval_cl:= busy_interval arr_seq sched: Job -> instant -> instant -> Prop
busy_interval_ab:= definitions.busy_interval sched: Job -> instant -> instant -> Prop
j: Job
H_j_arrives: arrives_in arr_seq j
H_job_cost_positive: job_cost_positive j
zero_is_quiet_time: forall j : Job, quiet_time_cl j 0
t: instant
T0: cumulative_interference j 0 t = cumulative_interfering_workload j 0 t
jhp: Job
ARR: arrives_in arr_seq jhp
HP: hep_job jhp j
ARB: arrived_before jhp t
COMP: completed_by sched j t

{in arrivals_between arr_seq 0 t, (fun j0 : Job => hep_job j0 j && ~~ (j0 != j)) =1 eq_op j}
Task: TaskType
H: TaskCost Task
Job: JobType
H0: JobTask Job Task
H1: JobArrival Job
H2: JobCost Job
arr_seq: arrival_sequence Job
H_valid_arrival_sequence: valid_arrival_sequence arr_seq
sched: schedule (processor_state Job)
H_jobs_come_from_arrival_sequence: jobs_come_from_arrival_sequence sched arr_seq
H_jobs_must_arrive_to_execute: jobs_must_arrive_to_execute sched
H_completed_jobs_dont_execute: completed_jobs_dont_execute sched
H3: JLFP_policy Job
H_priority_is_reflexive: reflexive_priorities
H_priority_is_transitive: transitive_priorities
tsk: Task
H_sequential_tasks: sequential_tasks arr_seq sched
quiet_time_cl:= quiet_time arr_seq sched: Job -> instant -> Prop
quiet_time_ab:= definitions.quiet_time sched: Job -> instant -> Prop
busy_interval_prefix_cl:= busy_interval_prefix arr_seq sched: Job -> instant -> instant -> Prop
busy_interval_prefix_ab:= definitions.busy_interval_prefix sched: Job -> instant -> instant -> Prop
busy_interval_cl:= busy_interval arr_seq sched: Job -> instant -> instant -> Prop
busy_interval_ab:= definitions.busy_interval sched: Job -> instant -> instant -> Prop
j: Job
H_j_arrives: arrives_in arr_seq j
H_job_cost_positive: job_cost_positive j
zero_is_quiet_time: forall j : Job, quiet_time_cl j 0
t: instant
T0: cumulative_interference j 0 t = cumulative_interfering_workload j 0 t
jhp: Job
ARR: arrives_in arr_seq jhp
HP: hep_job jhp j
ARB: arrived_before jhp t
COMP: completed_by sched j t
j__copy: Job
IN: j__copy \in arrivals_between arr_seq 0 t

hep_job j__copy j && ~~ (j__copy != j) = (j == j__copy)
Task: TaskType
H: TaskCost Task
Job: JobType
H0: JobTask Job Task
H1: JobArrival Job
H2: JobCost Job
arr_seq: arrival_sequence Job
H_valid_arrival_sequence: valid_arrival_sequence arr_seq
sched: schedule (processor_state Job)
H_jobs_come_from_arrival_sequence: jobs_come_from_arrival_sequence sched arr_seq
H_jobs_must_arrive_to_execute: jobs_must_arrive_to_execute sched
H_completed_jobs_dont_execute: completed_jobs_dont_execute sched
H3: JLFP_policy Job
H_priority_is_reflexive: reflexive_priorities
H_priority_is_transitive: transitive_priorities
tsk: Task
H_sequential_tasks: sequential_tasks arr_seq sched
quiet_time_cl:= quiet_time arr_seq sched: Job -> instant -> Prop
quiet_time_ab:= definitions.quiet_time sched: Job -> instant -> Prop
busy_interval_prefix_cl:= busy_interval_prefix arr_seq sched: Job -> instant -> instant -> Prop
busy_interval_prefix_ab:= definitions.busy_interval_prefix sched: Job -> instant -> instant -> Prop
busy_interval_cl:= busy_interval arr_seq sched: Job -> instant -> instant -> Prop
busy_interval_ab:= definitions.busy_interval sched: Job -> instant -> instant -> Prop
j: Job
H_j_arrives: arrives_in arr_seq j
H_job_cost_positive: job_cost_positive j
zero_is_quiet_time: forall j : Job, quiet_time_cl j 0
t: instant
T0: cumulative_interference j 0 t = cumulative_interfering_workload j 0 t
jhp: Job
ARR: arrives_in arr_seq jhp
HP: hep_job jhp j
ARB: arrived_before jhp t
COMP: completed_by sched j t
j__copy: Job
IN: j__copy \in arrivals_between arr_seq 0 t

hep_job j__copy j && (j__copy == j) = (j == j__copy)
Task: TaskType
H: TaskCost Task
Job: JobType
H0: JobTask Job Task
H1: JobArrival Job
H2: JobCost Job
arr_seq: arrival_sequence Job
H_valid_arrival_sequence: valid_arrival_sequence arr_seq
sched: schedule (processor_state Job)
H_jobs_come_from_arrival_sequence: jobs_come_from_arrival_sequence sched arr_seq
H_jobs_must_arrive_to_execute: jobs_must_arrive_to_execute sched
H_completed_jobs_dont_execute: completed_jobs_dont_execute sched
H3: JLFP_policy Job
H_priority_is_reflexive: reflexive_priorities
H_priority_is_transitive: transitive_priorities
tsk: Task
H_sequential_tasks: sequential_tasks arr_seq sched
quiet_time_cl:= quiet_time arr_seq sched: Job -> instant -> Prop
quiet_time_ab:= definitions.quiet_time sched: Job -> instant -> Prop
busy_interval_prefix_cl:= busy_interval_prefix arr_seq sched: Job -> instant -> instant -> Prop
busy_interval_prefix_ab:= definitions.busy_interval_prefix sched: Job -> instant -> instant -> Prop
busy_interval_cl:= busy_interval arr_seq sched: Job -> instant -> instant -> Prop
busy_interval_ab:= definitions.busy_interval sched: Job -> instant -> instant -> Prop
j: Job
H_j_arrives: arrives_in arr_seq j
H_job_cost_positive: job_cost_positive j
zero_is_quiet_time: forall j : Job, quiet_time_cl j 0
t: instant
T0: cumulative_interference j 0 t = cumulative_interfering_workload j 0 t
jhp: Job
ARR: arrives_in arr_seq jhp
HP: hep_job jhp j
ARB: arrived_before jhp t
COMP: completed_by sched j t
j__copy: Job
IN: j__copy \in arrivals_between arr_seq 0 t
EQ: (j == j__copy) = true

hep_job j__copy j && true = true
Task: TaskType
H: TaskCost Task
Job: JobType
H0: JobTask Job Task
H1: JobArrival Job
H2: JobCost Job
arr_seq: arrival_sequence Job
H_valid_arrival_sequence: valid_arrival_sequence arr_seq
sched: schedule (processor_state Job)
H_jobs_come_from_arrival_sequence: jobs_come_from_arrival_sequence sched arr_seq
H_jobs_must_arrive_to_execute: jobs_must_arrive_to_execute sched
H_completed_jobs_dont_execute: completed_jobs_dont_execute sched
H3: JLFP_policy Job
H_priority_is_reflexive: reflexive_priorities
H_priority_is_transitive: transitive_priorities
tsk: Task
H_sequential_tasks: sequential_tasks arr_seq sched
quiet_time_cl:= quiet_time arr_seq sched: Job -> instant -> Prop
quiet_time_ab:= definitions.quiet_time sched: Job -> instant -> Prop
busy_interval_prefix_cl:= busy_interval_prefix arr_seq sched: Job -> instant -> instant -> Prop
busy_interval_prefix_ab:= definitions.busy_interval_prefix sched: Job -> instant -> instant -> Prop
busy_interval_cl:= busy_interval arr_seq sched: Job -> instant -> instant -> Prop
busy_interval_ab:= definitions.busy_interval sched: Job -> instant -> instant -> Prop
j__copy: Job
H_job_cost_positive: job_cost_positive j__copy
H_j_arrives: arrives_in arr_seq j__copy
zero_is_quiet_time: forall j : Job, quiet_time_cl j 0
t: instant
T0: cumulative_interference j__copy 0 t = cumulative_interfering_workload j__copy 0 t
jhp: Job
ARR: arrives_in arr_seq jhp
HP: hep_job jhp j__copy
ARB: arrived_before jhp t
COMP: completed_by sched j__copy t
IN: j__copy \in arrivals_between arr_seq 0 t

hep_job j__copy j__copy
by eapply (H_priority_is_reflexive 0).
Task: TaskType
H: TaskCost Task
Job: JobType
H0: JobTask Job Task
H1: JobArrival Job
H2: JobCost Job
arr_seq: arrival_sequence Job
H_valid_arrival_sequence: valid_arrival_sequence arr_seq
sched: schedule (processor_state Job)
H_jobs_come_from_arrival_sequence: jobs_come_from_arrival_sequence sched arr_seq
H_jobs_must_arrive_to_execute: jobs_must_arrive_to_execute sched
H_completed_jobs_dont_execute: completed_jobs_dont_execute sched
H3: JLFP_policy Job
H_priority_is_reflexive: reflexive_priorities
H_priority_is_transitive: transitive_priorities
tsk: Task
H_sequential_tasks: sequential_tasks arr_seq sched
quiet_time_cl:= quiet_time arr_seq sched: Job -> instant -> Prop
quiet_time_ab:= definitions.quiet_time sched: Job -> instant -> Prop
busy_interval_prefix_cl:= busy_interval_prefix arr_seq sched: Job -> instant -> instant -> Prop
busy_interval_prefix_ab:= definitions.busy_interval_prefix sched: Job -> instant -> instant -> Prop
busy_interval_cl:= busy_interval arr_seq sched: Job -> instant -> instant -> Prop
busy_interval_ab:= definitions.busy_interval sched: Job -> instant -> instant -> Prop
j: Job
H_j_arrives: arrives_in arr_seq j
H_job_cost_positive: job_cost_positive j
zero_is_quiet_time: forall j : Job, quiet_time_cl j 0
t: instant
T0: cumulative_interference j 0 t = cumulative_interfering_workload j 0 t
jhp: Job
ARR: arrives_in arr_seq jhp
HP: hep_job jhp j
ARB: arrived_before jhp t
COMP: completed_by sched j t
PRED__eq: {in arrivals_between arr_seq 0 t, (fun j0 : Job => hep_job j0 j && ~~ (j0 != j)) =1 eq_op j}

cumulative_other_hep_jobs_interfering_workload j 0 t + workload_of_jobs (fun j0 : Job => hep_job j0 j && ~~ (j0 != j)) (arrivals_between arr_seq 0 t) = cumulative_another_hep_job_interference j 0 t + service_of_jobs sched (fun j0 : Job => hep_job j0 j && ~~ (j0 != j)) (arrivals_between arr_seq 0 t) 0 t
Task: TaskType
H: TaskCost Task
Job: JobType
H0: JobTask Job Task
H1: JobArrival Job
H2: JobCost Job
arr_seq: arrival_sequence Job
H_valid_arrival_sequence: valid_arrival_sequence arr_seq
sched: schedule (processor_state Job)
H_jobs_come_from_arrival_sequence: jobs_come_from_arrival_sequence sched arr_seq
H_jobs_must_arrive_to_execute: jobs_must_arrive_to_execute sched
H_completed_jobs_dont_execute: completed_jobs_dont_execute sched
H3: JLFP_policy Job
H_priority_is_reflexive: reflexive_priorities
H_priority_is_transitive: transitive_priorities
tsk: Task
H_sequential_tasks: sequential_tasks arr_seq sched
quiet_time_cl:= quiet_time arr_seq sched: Job -> instant -> Prop
quiet_time_ab:= definitions.quiet_time sched: Job -> instant -> Prop
busy_interval_prefix_cl:= busy_interval_prefix arr_seq sched: Job -> instant -> instant -> Prop
busy_interval_prefix_ab:= definitions.busy_interval_prefix sched: Job -> instant -> instant -> Prop
busy_interval_cl:= busy_interval arr_seq sched: Job -> instant -> instant -> Prop
busy_interval_ab:= definitions.busy_interval sched: Job -> instant -> instant -> Prop
j: Job
H_j_arrives: arrives_in arr_seq j
H_job_cost_positive: job_cost_positive j
zero_is_quiet_time: forall j : Job, quiet_time_cl j 0
t: instant
T0: cumulative_interference j 0 t = cumulative_interfering_workload j 0 t
jhp: Job
ARR: arrives_in arr_seq jhp
HP: hep_job jhp j
ARB: arrived_before jhp t
COMP: completed_by sched j t
PRED__eq: {in arrivals_between arr_seq 0 t, (fun j0 : Job => hep_job j0 j && ~~ (j0 != j)) =1 eq_op j}

cumulative_other_hep_jobs_interfering_workload j 0 t + workload_of_jobs (fun j0 : Job => hep_job j0 j && ~~ (j0 != j)) (arrivals_between arr_seq 0 t) = cumulative_another_hep_job_interference j 0 t + service_of_jobs sched (eq_op j) (arrivals_between arr_seq 0 t) 0 t
Task: TaskType
H: TaskCost Task
Job: JobType
H0: JobTask Job Task
H1: JobArrival Job
H2: JobCost Job
arr_seq: arrival_sequence Job
H_valid_arrival_sequence: valid_arrival_sequence arr_seq
sched: schedule (processor_state Job)
H_jobs_come_from_arrival_sequence: jobs_come_from_arrival_sequence sched arr_seq
H_jobs_must_arrive_to_execute: jobs_must_arrive_to_execute sched
H_completed_jobs_dont_execute: completed_jobs_dont_execute sched
H3: JLFP_policy Job
H_priority_is_reflexive: reflexive_priorities
H_priority_is_transitive: transitive_priorities
tsk: Task
H_sequential_tasks: sequential_tasks arr_seq sched
quiet_time_cl:= quiet_time arr_seq sched: Job -> instant -> Prop
quiet_time_ab:= definitions.quiet_time sched: Job -> instant -> Prop
busy_interval_prefix_cl:= busy_interval_prefix arr_seq sched: Job -> instant -> instant -> Prop
busy_interval_prefix_ab:= definitions.busy_interval_prefix sched: Job -> instant -> instant -> Prop
busy_interval_cl:= busy_interval arr_seq sched: Job -> instant -> instant -> Prop
busy_interval_ab:= definitions.busy_interval sched: Job -> instant -> instant -> Prop
j: Job
H_j_arrives: arrives_in arr_seq j
H_job_cost_positive: job_cost_positive j
zero_is_quiet_time: forall j : Job, quiet_time_cl j 0
t: instant
T0: cumulative_interference j 0 t = cumulative_interfering_workload j 0 t
jhp: Job
ARR: arrives_in arr_seq jhp
HP: hep_job jhp j
ARB: arrived_before jhp t
COMP: completed_by sched j t
PRED__eq: {in arrivals_between arr_seq 0 t, (fun j0 : Job => hep_job j0 j && ~~ (j0 != j)) =1 eq_op j}

cumulative_other_hep_jobs_interfering_workload j 0 t + workload_of_jobs (eq_op j) (arrivals_between arr_seq 0 t) = cumulative_another_hep_job_interference j 0 t + service_of_jobs sched (eq_op j) (arrivals_between arr_seq 0 t) 0 t
Task: TaskType
H: TaskCost Task
Job: JobType
H0: JobTask Job Task
H1: JobArrival Job
H2: JobCost Job
arr_seq: arrival_sequence Job
H_valid_arrival_sequence: valid_arrival_sequence arr_seq
sched: schedule (processor_state Job)
H_jobs_come_from_arrival_sequence: jobs_come_from_arrival_sequence sched arr_seq
H_jobs_must_arrive_to_execute: jobs_must_arrive_to_execute sched
H_completed_jobs_dont_execute: completed_jobs_dont_execute sched
H3: JLFP_policy Job
H_priority_is_reflexive: reflexive_priorities
H_priority_is_transitive: transitive_priorities
tsk: Task
H_sequential_tasks: sequential_tasks arr_seq sched
quiet_time_cl:= quiet_time arr_seq sched: Job -> instant -> Prop
quiet_time_ab:= definitions.quiet_time sched: Job -> instant -> Prop
busy_interval_prefix_cl:= busy_interval_prefix arr_seq sched: Job -> instant -> instant -> Prop
busy_interval_prefix_ab:= definitions.busy_interval_prefix sched: Job -> instant -> instant -> Prop
busy_interval_cl:= busy_interval arr_seq sched: Job -> instant -> instant -> Prop
busy_interval_ab:= definitions.busy_interval sched: Job -> instant -> instant -> Prop
j: Job
H_j_arrives: arrives_in arr_seq j
H_job_cost_positive: job_cost_positive j
zero_is_quiet_time: forall j : Job, quiet_time_cl j 0
t: instant
jhp: Job
ARR: arrives_in arr_seq jhp
HP: hep_job jhp j
ARB: arrived_before jhp t
COMP: completed_by sched j t
PRED__eq: {in arrivals_between arr_seq 0 t, (fun j0 : Job => hep_job j0 j && ~~ (j0 != j)) =1 eq_op j}
EQ: cumulative_another_hep_job_interference j 0 t = cumulative_other_hep_jobs_interfering_workload j 0 t

cumulative_other_hep_jobs_interfering_workload j 0 t + workload_of_jobs (eq_op j) (arrivals_between arr_seq 0 t) = cumulative_another_hep_job_interference j 0 t + service_of_jobs sched (eq_op j) (arrivals_between arr_seq 0 t) 0 t
Task: TaskType
H: TaskCost Task
Job: JobType
H0: JobTask Job Task
H1: JobArrival Job
H2: JobCost Job
arr_seq: arrival_sequence Job
H_valid_arrival_sequence: valid_arrival_sequence arr_seq
sched: schedule (processor_state Job)
H_jobs_come_from_arrival_sequence: jobs_come_from_arrival_sequence sched arr_seq
H_jobs_must_arrive_to_execute: jobs_must_arrive_to_execute sched
H_completed_jobs_dont_execute: completed_jobs_dont_execute sched
H3: JLFP_policy Job
H_priority_is_reflexive: reflexive_priorities
H_priority_is_transitive: transitive_priorities
tsk: Task
H_sequential_tasks: sequential_tasks arr_seq sched
quiet_time_cl:= quiet_time arr_seq sched: Job -> instant -> Prop
quiet_time_ab:= definitions.quiet_time sched: Job -> instant -> Prop
busy_interval_prefix_cl:= busy_interval_prefix arr_seq sched: Job -> instant -> instant -> Prop
busy_interval_prefix_ab:= definitions.busy_interval_prefix sched: Job -> instant -> instant -> Prop
busy_interval_cl:= busy_interval arr_seq sched: Job -> instant -> instant -> Prop
busy_interval_ab:= definitions.busy_interval sched: Job -> instant -> instant -> Prop
j: Job
H_j_arrives: arrives_in arr_seq j
H_job_cost_positive: job_cost_positive j
zero_is_quiet_time: forall j : Job, quiet_time_cl j 0
t: instant
jhp: Job
ARR: arrives_in arr_seq jhp
HP: hep_job jhp j
ARB: arrived_before jhp t
COMP: completed_by sched j t
PRED__eq: {in arrivals_between arr_seq 0 t, (fun j0 : Job => hep_job j0 j && ~~ (j0 != j)) =1 eq_op j}

workload_of_jobs (eq_op j) (arrivals_between arr_seq 0 t) == service_of_jobs sched (eq_op j) (arrivals_between arr_seq 0 t) 0 t
Task: TaskType
H: TaskCost Task
Job: JobType
H0: JobTask Job Task
H1: JobArrival Job
H2: JobCost Job
arr_seq: arrival_sequence Job
H_valid_arrival_sequence: valid_arrival_sequence arr_seq
sched: schedule (processor_state Job)
H_jobs_come_from_arrival_sequence: jobs_come_from_arrival_sequence sched arr_seq
H_jobs_must_arrive_to_execute: jobs_must_arrive_to_execute sched
H_completed_jobs_dont_execute: completed_jobs_dont_execute sched
H3: JLFP_policy Job
H_priority_is_reflexive: reflexive_priorities
H_priority_is_transitive: transitive_priorities
tsk: Task
H_sequential_tasks: sequential_tasks arr_seq sched
quiet_time_cl:= quiet_time arr_seq sched: Job -> instant -> Prop
quiet_time_ab:= definitions.quiet_time sched: Job -> instant -> Prop
busy_interval_prefix_cl:= busy_interval_prefix arr_seq sched: Job -> instant -> instant -> Prop
busy_interval_prefix_ab:= definitions.busy_interval_prefix sched: Job -> instant -> instant -> Prop
busy_interval_cl:= busy_interval arr_seq sched: Job -> instant -> instant -> Prop
busy_interval_ab:= definitions.busy_interval sched: Job -> instant -> instant -> Prop
j: Job
H_j_arrives: arrives_in arr_seq j
H_job_cost_positive: job_cost_positive j
zero_is_quiet_time: forall j : Job, quiet_time_cl j 0
t: instant
jhp: Job
ARR: arrives_in arr_seq jhp
HP: hep_job jhp j
ARB: arrived_before jhp t
COMP: completed_by sched j t
PRED__eq: {in arrivals_between arr_seq 0 t, (fun j0 : Job => hep_job j0 j && ~~ (j0 != j)) =1 eq_op j}

forall j0 : Job, j0 \in arrivals_between arr_seq 0 t -> j == j0 -> completed_by sched j0 t
by move => j__copy _ /eqP EQ; subst j__copy.
Task: TaskType
H: TaskCost Task
Job: JobType
H0: JobTask Job Task
H1: JobArrival Job
H2: JobCost Job
arr_seq: arrival_sequence Job
H_valid_arrival_sequence: valid_arrival_sequence arr_seq
sched: schedule (processor_state Job)
H_jobs_come_from_arrival_sequence: jobs_come_from_arrival_sequence sched arr_seq
H_jobs_must_arrive_to_execute: jobs_must_arrive_to_execute sched
H_completed_jobs_dont_execute: completed_jobs_dont_execute sched
H3: JLFP_policy Job
H_priority_is_reflexive: reflexive_priorities
H_priority_is_transitive: transitive_priorities
tsk: Task
H_sequential_tasks: sequential_tasks arr_seq sched
quiet_time_cl:= quiet_time arr_seq sched: Job -> instant -> Prop
quiet_time_ab:= definitions.quiet_time sched: Job -> instant -> Prop
busy_interval_prefix_cl:= busy_interval_prefix arr_seq sched: Job -> instant -> instant -> Prop
busy_interval_prefix_ab:= definitions.busy_interval_prefix sched: Job -> instant -> instant -> Prop
busy_interval_cl:= busy_interval arr_seq sched: Job -> instant -> instant -> Prop
busy_interval_ab:= definitions.busy_interval sched: Job -> instant -> instant -> Prop
j: Job
H_j_arrives: arrives_in arr_seq j
H_job_cost_positive: job_cost_positive j
zero_is_quiet_time: forall j : Job, quiet_time_cl j 0
t: instant
T0: cumulative_interference j 0 t = cumulative_interfering_workload j 0 t
T1: ~~ pending_earlier_and_at sched j t
jhp: Job
ARR: arrives_in arr_seq jhp
HP: hep_job jhp j
ARB: arrived_before jhp t

quiet_time arr_seq sched j 0
move => ? _ _ ; unfold arrived_before; lia. Qed. (** The equivalence trivially follows from the lemmas above. *)
Task: TaskType
H: TaskCost Task
Job: JobType
H0: JobTask Job Task
H1: JobArrival Job
H2: JobCost Job
arr_seq: arrival_sequence Job
H_valid_arrival_sequence: valid_arrival_sequence arr_seq
sched: schedule (processor_state Job)
H_jobs_come_from_arrival_sequence: jobs_come_from_arrival_sequence sched arr_seq
H_jobs_must_arrive_to_execute: jobs_must_arrive_to_execute sched
H_completed_jobs_dont_execute: completed_jobs_dont_execute sched
H3: JLFP_policy Job
H_priority_is_reflexive: reflexive_priorities
H_priority_is_transitive: transitive_priorities
tsk: Task
H_sequential_tasks: sequential_tasks arr_seq sched
H_JLFP_respects_sequential_tasks: policy_respects_sequential_tasks
quiet_time_cl:= quiet_time arr_seq sched: Job -> instant -> Prop
quiet_time_ab:= definitions.quiet_time sched: Job -> instant -> Prop
busy_interval_prefix_cl:= busy_interval_prefix arr_seq sched: Job -> instant -> instant -> Prop
busy_interval_prefix_ab:= definitions.busy_interval_prefix sched: Job -> instant -> instant -> Prop
busy_interval_cl:= busy_interval arr_seq sched: Job -> instant -> instant -> Prop
busy_interval_ab:= definitions.busy_interval sched: Job -> instant -> instant -> Prop
j: Job
H_j_arrives: arrives_in arr_seq j
H_job_cost_positive: job_cost_positive j

forall t : instant, quiet_time_cl j t <-> quiet_time_ab j t
Task: TaskType
H: TaskCost Task
Job: JobType
H0: JobTask Job Task
H1: JobArrival Job
H2: JobCost Job
arr_seq: arrival_sequence Job
H_valid_arrival_sequence: valid_arrival_sequence arr_seq
sched: schedule (processor_state Job)
H_jobs_come_from_arrival_sequence: jobs_come_from_arrival_sequence sched arr_seq
H_jobs_must_arrive_to_execute: jobs_must_arrive_to_execute sched
H_completed_jobs_dont_execute: completed_jobs_dont_execute sched
H3: JLFP_policy Job
H_priority_is_reflexive: reflexive_priorities
H_priority_is_transitive: transitive_priorities
tsk: Task
H_sequential_tasks: sequential_tasks arr_seq sched
H_JLFP_respects_sequential_tasks: policy_respects_sequential_tasks
quiet_time_cl:= quiet_time arr_seq sched: Job -> instant -> Prop
quiet_time_ab:= definitions.quiet_time sched: Job -> instant -> Prop
busy_interval_prefix_cl:= busy_interval_prefix arr_seq sched: Job -> instant -> instant -> Prop
busy_interval_prefix_ab:= definitions.busy_interval_prefix sched: Job -> instant -> instant -> Prop
busy_interval_cl:= busy_interval arr_seq sched: Job -> instant -> instant -> Prop
busy_interval_ab:= definitions.busy_interval sched: Job -> instant -> instant -> Prop
j: Job
H_j_arrives: arrives_in arr_seq j
H_job_cost_positive: job_cost_positive j

forall t : instant, quiet_time_cl j t <-> quiet_time_ab j t
Task: TaskType
H: TaskCost Task
Job: JobType
H0: JobTask Job Task
H1: JobArrival Job
H2: JobCost Job
arr_seq: arrival_sequence Job
H_valid_arrival_sequence: valid_arrival_sequence arr_seq
sched: schedule (processor_state Job)
H_jobs_come_from_arrival_sequence: jobs_come_from_arrival_sequence sched arr_seq
H_jobs_must_arrive_to_execute: jobs_must_arrive_to_execute sched
H_completed_jobs_dont_execute: completed_jobs_dont_execute sched
H3: JLFP_policy Job
H_priority_is_reflexive: reflexive_priorities
H_priority_is_transitive: transitive_priorities
tsk: Task
H_sequential_tasks: sequential_tasks arr_seq sched
quiet_time_cl:= quiet_time arr_seq sched: Job -> instant -> Prop
quiet_time_ab:= definitions.quiet_time sched: Job -> instant -> Prop
busy_interval_prefix_cl:= busy_interval_prefix arr_seq sched: Job -> instant -> instant -> Prop
busy_interval_prefix_ab:= definitions.busy_interval_prefix sched: Job -> instant -> instant -> Prop
busy_interval_cl:= busy_interval arr_seq sched: Job -> instant -> instant -> Prop
busy_interval_ab:= definitions.busy_interval sched: Job -> instant -> instant -> Prop
j: Job
H_j_arrives: arrives_in arr_seq j
H_job_cost_positive: job_cost_positive j

forall t : instant, quiet_time_cl j t <-> quiet_time_ab j t
Task: TaskType
H: TaskCost Task
Job: JobType
H0: JobTask Job Task
H1: JobArrival Job
H2: JobCost Job
arr_seq: arrival_sequence Job
H_valid_arrival_sequence: valid_arrival_sequence arr_seq
sched: schedule (processor_state Job)
H_jobs_come_from_arrival_sequence: jobs_come_from_arrival_sequence sched arr_seq
H_jobs_must_arrive_to_execute: jobs_must_arrive_to_execute sched
H_completed_jobs_dont_execute: completed_jobs_dont_execute sched
H3: JLFP_policy Job
H_priority_is_reflexive: reflexive_priorities
H_priority_is_transitive: transitive_priorities
tsk: Task
H_sequential_tasks: sequential_tasks arr_seq sched
quiet_time_cl:= quiet_time arr_seq sched: Job -> instant -> Prop
quiet_time_ab:= definitions.quiet_time sched: Job -> instant -> Prop
busy_interval_prefix_cl:= busy_interval_prefix arr_seq sched: Job -> instant -> instant -> Prop
busy_interval_prefix_ab:= definitions.busy_interval_prefix sched: Job -> instant -> instant -> Prop
busy_interval_cl:= busy_interval arr_seq sched: Job -> instant -> instant -> Prop
busy_interval_ab:= definitions.busy_interval sched: Job -> instant -> instant -> Prop
j: Job
H_j_arrives: arrives_in arr_seq j
H_job_cost_positive: job_cost_positive j
_t_: instant

quiet_time_cl j _t_ -> quiet_time_ab j _t_
Task: TaskType
H: TaskCost Task
Job: JobType
H0: JobTask Job Task
H1: JobArrival Job
H2: JobCost Job
arr_seq: arrival_sequence Job
H_valid_arrival_sequence: valid_arrival_sequence arr_seq
sched: schedule (processor_state Job)
H_jobs_come_from_arrival_sequence: jobs_come_from_arrival_sequence sched arr_seq
H_jobs_must_arrive_to_execute: jobs_must_arrive_to_execute sched
H_completed_jobs_dont_execute: completed_jobs_dont_execute sched
H3: JLFP_policy Job
H_priority_is_reflexive: reflexive_priorities
H_priority_is_transitive: transitive_priorities
tsk: Task
H_sequential_tasks: sequential_tasks arr_seq sched
quiet_time_cl:= quiet_time arr_seq sched: Job -> instant -> Prop
quiet_time_ab:= definitions.quiet_time sched: Job -> instant -> Prop
busy_interval_prefix_cl:= busy_interval_prefix arr_seq sched: Job -> instant -> instant -> Prop
busy_interval_prefix_ab:= definitions.busy_interval_prefix sched: Job -> instant -> instant -> Prop
busy_interval_cl:= busy_interval arr_seq sched: Job -> instant -> instant -> Prop
busy_interval_ab:= definitions.busy_interval sched: Job -> instant -> instant -> Prop
j: Job
H_j_arrives: arrives_in arr_seq j
H_job_cost_positive: job_cost_positive j
_t_: instant
quiet_time_ab j _t_ -> quiet_time_cl j _t_
Task: TaskType
H: TaskCost Task
Job: JobType
H0: JobTask Job Task
H1: JobArrival Job
H2: JobCost Job
arr_seq: arrival_sequence Job
H_valid_arrival_sequence: valid_arrival_sequence arr_seq
sched: schedule (processor_state Job)
H_jobs_come_from_arrival_sequence: jobs_come_from_arrival_sequence sched arr_seq
H_jobs_must_arrive_to_execute: jobs_must_arrive_to_execute sched
H_completed_jobs_dont_execute: completed_jobs_dont_execute sched
H3: JLFP_policy Job
H_priority_is_reflexive: reflexive_priorities
H_priority_is_transitive: transitive_priorities
tsk: Task
H_sequential_tasks: sequential_tasks arr_seq sched
quiet_time_cl:= quiet_time arr_seq sched: Job -> instant -> Prop
quiet_time_ab:= definitions.quiet_time sched: Job -> instant -> Prop
busy_interval_prefix_cl:= busy_interval_prefix arr_seq sched: Job -> instant -> instant -> Prop
busy_interval_prefix_ab:= definitions.busy_interval_prefix sched: Job -> instant -> instant -> Prop
busy_interval_cl:= busy_interval arr_seq sched: Job -> instant -> instant -> Prop
busy_interval_ab:= definitions.busy_interval sched: Job -> instant -> instant -> Prop
j: Job
H_j_arrives: arrives_in arr_seq j
H_job_cost_positive: job_cost_positive j
_t_: instant

quiet_time_cl j _t_ -> quiet_time_ab j _t_
Task: TaskType
H: TaskCost Task
Job: JobType
H0: JobTask Job Task
H1: JobArrival Job
H2: JobCost Job
arr_seq: arrival_sequence Job
H_valid_arrival_sequence: valid_arrival_sequence arr_seq
sched: schedule (processor_state Job)
H_jobs_come_from_arrival_sequence: jobs_come_from_arrival_sequence sched arr_seq
H_jobs_must_arrive_to_execute: jobs_must_arrive_to_execute sched
H_completed_jobs_dont_execute: completed_jobs_dont_execute sched
H3: JLFP_policy Job
H_priority_is_reflexive: reflexive_priorities
H_priority_is_transitive: transitive_priorities
tsk: Task
H_sequential_tasks: sequential_tasks arr_seq sched
quiet_time_cl:= quiet_time arr_seq sched: Job -> instant -> Prop
quiet_time_ab:= definitions.quiet_time sched: Job -> instant -> Prop
busy_interval_prefix_cl:= busy_interval_prefix arr_seq sched: Job -> instant -> instant -> Prop
busy_interval_prefix_ab:= definitions.busy_interval_prefix sched: Job -> instant -> instant -> Prop
busy_interval_cl:= busy_interval arr_seq sched: Job -> instant -> instant -> Prop
busy_interval_ab:= definitions.busy_interval sched: Job -> instant -> instant -> Prop
j: Job
H_j_arrives: arrives_in arr_seq j
H_job_cost_positive: job_cost_positive j
_t_: instant
quiet_time_ab j _t_ -> quiet_time_cl j _t_
Task: TaskType
H: TaskCost Task
Job: JobType
H0: JobTask Job Task
H1: JobArrival Job
H2: JobCost Job
arr_seq: arrival_sequence Job
H_valid_arrival_sequence: valid_arrival_sequence arr_seq
sched: schedule (processor_state Job)
H_jobs_come_from_arrival_sequence: jobs_come_from_arrival_sequence sched arr_seq
H_jobs_must_arrive_to_execute: jobs_must_arrive_to_execute sched
H_completed_jobs_dont_execute: completed_jobs_dont_execute sched
H3: JLFP_policy Job
H_priority_is_reflexive: reflexive_priorities
H_priority_is_transitive: transitive_priorities
tsk: Task
H_sequential_tasks: sequential_tasks arr_seq sched
quiet_time_cl:= quiet_time arr_seq sched: Job -> instant -> Prop
quiet_time_ab:= definitions.quiet_time sched: Job -> instant -> Prop
busy_interval_prefix_cl:= busy_interval_prefix arr_seq sched: Job -> instant -> instant -> Prop
busy_interval_prefix_ab:= definitions.busy_interval_prefix sched: Job -> instant -> instant -> Prop
busy_interval_cl:= busy_interval arr_seq sched: Job -> instant -> instant -> Prop
busy_interval_ab:= definitions.busy_interval sched: Job -> instant -> instant -> Prop
j: Job
H_j_arrives: arrives_in arr_seq j
H_job_cost_positive: job_cost_positive j
_t_: instant

quiet_time_ab j _t_ -> quiet_time_cl j _t_
Task: TaskType
H: TaskCost Task
Job: JobType
H0: JobTask Job Task
H1: JobArrival Job
H2: JobCost Job
arr_seq: arrival_sequence Job
H_valid_arrival_sequence: valid_arrival_sequence arr_seq
sched: schedule (processor_state Job)
H_jobs_come_from_arrival_sequence: jobs_come_from_arrival_sequence sched arr_seq
H_jobs_must_arrive_to_execute: jobs_must_arrive_to_execute sched
H_completed_jobs_dont_execute: completed_jobs_dont_execute sched
H3: JLFP_policy Job
H_priority_is_reflexive: reflexive_priorities
H_priority_is_transitive: transitive_priorities
tsk: Task
H_sequential_tasks: sequential_tasks arr_seq sched
quiet_time_cl:= quiet_time arr_seq sched: Job -> instant -> Prop
quiet_time_ab:= definitions.quiet_time sched: Job -> instant -> Prop
busy_interval_prefix_cl:= busy_interval_prefix arr_seq sched: Job -> instant -> instant -> Prop
busy_interval_prefix_ab:= definitions.busy_interval_prefix sched: Job -> instant -> instant -> Prop
busy_interval_cl:= busy_interval arr_seq sched: Job -> instant -> instant -> Prop
busy_interval_ab:= definitions.busy_interval sched: Job -> instant -> instant -> Prop
j: Job
H_j_arrives: arrives_in arr_seq j
H_job_cost_positive: job_cost_positive j
_t_: instant

quiet_time_ab j _t_ -> quiet_time_cl j _t_
by apply quiet_time_ab_implies_quiet_time_cl. Qed. (** Based on that, we prove that the concept of busy interval prefix obtained by instantiating the abstract definition of busy interval prefix coincides with the conventional definition of busy interval prefix. *)
Task: TaskType
H: TaskCost Task
Job: JobType
H0: JobTask Job Task
H1: JobArrival Job
H2: JobCost Job
arr_seq: arrival_sequence Job
H_valid_arrival_sequence: valid_arrival_sequence arr_seq
sched: schedule (processor_state Job)
H_jobs_come_from_arrival_sequence: jobs_come_from_arrival_sequence sched arr_seq
H_jobs_must_arrive_to_execute: jobs_must_arrive_to_execute sched
H_completed_jobs_dont_execute: completed_jobs_dont_execute sched
H3: JLFP_policy Job
H_priority_is_reflexive: reflexive_priorities
H_priority_is_transitive: transitive_priorities
tsk: Task
H_sequential_tasks: sequential_tasks arr_seq sched
H_JLFP_respects_sequential_tasks: policy_respects_sequential_tasks
quiet_time_cl:= quiet_time arr_seq sched: Job -> instant -> Prop
quiet_time_ab:= definitions.quiet_time sched: Job -> instant -> Prop
busy_interval_prefix_cl:= busy_interval_prefix arr_seq sched: Job -> instant -> instant -> Prop
busy_interval_prefix_ab:= definitions.busy_interval_prefix sched: Job -> instant -> instant -> Prop
busy_interval_cl:= busy_interval arr_seq sched: Job -> instant -> instant -> Prop
busy_interval_ab:= definitions.busy_interval sched: Job -> instant -> instant -> Prop
j: Job
H_j_arrives: arrives_in arr_seq j
H_job_cost_positive: job_cost_positive j

forall t1 t2 : instant, busy_interval_prefix_cl j t1 t2 <-> busy_interval_prefix_ab j t1 t2
Task: TaskType
H: TaskCost Task
Job: JobType
H0: JobTask Job Task
H1: JobArrival Job
H2: JobCost Job
arr_seq: arrival_sequence Job
H_valid_arrival_sequence: valid_arrival_sequence arr_seq
sched: schedule (processor_state Job)
H_jobs_come_from_arrival_sequence: jobs_come_from_arrival_sequence sched arr_seq
H_jobs_must_arrive_to_execute: jobs_must_arrive_to_execute sched
H_completed_jobs_dont_execute: completed_jobs_dont_execute sched
H3: JLFP_policy Job
H_priority_is_reflexive: reflexive_priorities
H_priority_is_transitive: transitive_priorities
tsk: Task
H_sequential_tasks: sequential_tasks arr_seq sched
H_JLFP_respects_sequential_tasks: policy_respects_sequential_tasks
quiet_time_cl:= quiet_time arr_seq sched: Job -> instant -> Prop
quiet_time_ab:= definitions.quiet_time sched: Job -> instant -> Prop
busy_interval_prefix_cl:= busy_interval_prefix arr_seq sched: Job -> instant -> instant -> Prop
busy_interval_prefix_ab:= definitions.busy_interval_prefix sched: Job -> instant -> instant -> Prop
busy_interval_cl:= busy_interval arr_seq sched: Job -> instant -> instant -> Prop
busy_interval_ab:= definitions.busy_interval sched: Job -> instant -> instant -> Prop
j: Job
H_j_arrives: arrives_in arr_seq j
H_job_cost_positive: job_cost_positive j

forall t1 t2 : instant, busy_interval_prefix_cl j t1 t2 <-> busy_interval_prefix_ab j t1 t2
Task: TaskType
H: TaskCost Task
Job: JobType
H0: JobTask Job Task
H1: JobArrival Job
H2: JobCost Job
arr_seq: arrival_sequence Job
H_valid_arrival_sequence: valid_arrival_sequence arr_seq
sched: schedule (processor_state Job)
H_jobs_come_from_arrival_sequence: jobs_come_from_arrival_sequence sched arr_seq
H_jobs_must_arrive_to_execute: jobs_must_arrive_to_execute sched
H_completed_jobs_dont_execute: completed_jobs_dont_execute sched
H3: JLFP_policy Job
H_priority_is_reflexive: reflexive_priorities
H_priority_is_transitive: transitive_priorities
tsk: Task
H_sequential_tasks: sequential_tasks arr_seq sched
H_JLFP_respects_sequential_tasks: policy_respects_sequential_tasks
quiet_time_cl:= quiet_time arr_seq sched: Job -> instant -> Prop
quiet_time_ab:= definitions.quiet_time sched: Job -> instant -> Prop
busy_interval_prefix_cl:= busy_interval_prefix arr_seq sched: Job -> instant -> instant -> Prop
busy_interval_prefix_ab:= definitions.busy_interval_prefix sched: Job -> instant -> instant -> Prop
busy_interval_cl:= busy_interval arr_seq sched: Job -> instant -> instant -> Prop
busy_interval_ab:= definitions.busy_interval sched: Job -> instant -> instant -> Prop
j: Job
H_j_arrives: arrives_in arr_seq j
H_job_cost_positive: job_cost_positive j
t1, t2: instant

busy_interval_prefix_cl j t1 t2 -> busy_interval_prefix_ab j t1 t2
Task: TaskType
H: TaskCost Task
Job: JobType
H0: JobTask Job Task
H1: JobArrival Job
H2: JobCost Job
arr_seq: arrival_sequence Job
H_valid_arrival_sequence: valid_arrival_sequence arr_seq
sched: schedule (processor_state Job)
H_jobs_come_from_arrival_sequence: jobs_come_from_arrival_sequence sched arr_seq
H_jobs_must_arrive_to_execute: jobs_must_arrive_to_execute sched
H_completed_jobs_dont_execute: completed_jobs_dont_execute sched
H3: JLFP_policy Job
H_priority_is_reflexive: reflexive_priorities
H_priority_is_transitive: transitive_priorities
tsk: Task
H_sequential_tasks: sequential_tasks arr_seq sched
H_JLFP_respects_sequential_tasks: policy_respects_sequential_tasks
quiet_time_cl:= quiet_time arr_seq sched: Job -> instant -> Prop
quiet_time_ab:= definitions.quiet_time sched: Job -> instant -> Prop
busy_interval_prefix_cl:= busy_interval_prefix arr_seq sched: Job -> instant -> instant -> Prop
busy_interval_prefix_ab:= definitions.busy_interval_prefix sched: Job -> instant -> instant -> Prop
busy_interval_cl:= busy_interval arr_seq sched: Job -> instant -> instant -> Prop
busy_interval_ab:= definitions.busy_interval sched: Job -> instant -> instant -> Prop
j: Job
H_j_arrives: arrives_in arr_seq j
H_job_cost_positive: job_cost_positive j
t1, t2: instant
busy_interval_prefix_ab j t1 t2 -> busy_interval_prefix_cl j t1 t2
Task: TaskType
H: TaskCost Task
Job: JobType
H0: JobTask Job Task
H1: JobArrival Job
H2: JobCost Job
arr_seq: arrival_sequence Job
H_valid_arrival_sequence: valid_arrival_sequence arr_seq
sched: schedule (processor_state Job)
H_jobs_come_from_arrival_sequence: jobs_come_from_arrival_sequence sched arr_seq
H_jobs_must_arrive_to_execute: jobs_must_arrive_to_execute sched
H_completed_jobs_dont_execute: completed_jobs_dont_execute sched
H3: JLFP_policy Job
H_priority_is_reflexive: reflexive_priorities
H_priority_is_transitive: transitive_priorities
tsk: Task
H_sequential_tasks: sequential_tasks arr_seq sched
H_JLFP_respects_sequential_tasks: policy_respects_sequential_tasks
quiet_time_cl:= quiet_time arr_seq sched: Job -> instant -> Prop
quiet_time_ab:= definitions.quiet_time sched: Job -> instant -> Prop
busy_interval_prefix_cl:= busy_interval_prefix arr_seq sched: Job -> instant -> instant -> Prop
busy_interval_prefix_ab:= definitions.busy_interval_prefix sched: Job -> instant -> instant -> Prop
busy_interval_cl:= busy_interval arr_seq sched: Job -> instant -> instant -> Prop
busy_interval_ab:= definitions.busy_interval sched: Job -> instant -> instant -> Prop
j: Job
H_j_arrives: arrives_in arr_seq j
H_job_cost_positive: job_cost_positive j
t1, t2: instant

busy_interval_prefix_cl j t1 t2 -> busy_interval_prefix_ab j t1 t2
Task: TaskType
H: TaskCost Task
Job: JobType
H0: JobTask Job Task
H1: JobArrival Job
H2: JobCost Job
arr_seq: arrival_sequence Job
H_valid_arrival_sequence: valid_arrival_sequence arr_seq
sched: schedule (processor_state Job)
H_jobs_come_from_arrival_sequence: jobs_come_from_arrival_sequence sched arr_seq
H_jobs_must_arrive_to_execute: jobs_must_arrive_to_execute sched
H_completed_jobs_dont_execute: completed_jobs_dont_execute sched
H3: JLFP_policy Job
H_priority_is_reflexive: reflexive_priorities
H_priority_is_transitive: transitive_priorities
tsk: Task
H_sequential_tasks: sequential_tasks arr_seq sched
H_JLFP_respects_sequential_tasks: policy_respects_sequential_tasks
quiet_time_cl:= quiet_time arr_seq sched: Job -> instant -> Prop
quiet_time_ab:= definitions.quiet_time sched: Job -> instant -> Prop
busy_interval_prefix_cl:= busy_interval_prefix arr_seq sched: Job -> instant -> instant -> Prop
busy_interval_prefix_ab:= definitions.busy_interval_prefix sched: Job -> instant -> instant -> Prop
busy_interval_cl:= busy_interval arr_seq sched: Job -> instant -> instant -> Prop
busy_interval_ab:= definitions.busy_interval sched: Job -> instant -> instant -> Prop
j: Job
H_j_arrives: arrives_in arr_seq j
H_job_cost_positive: job_cost_positive j
t1, t2: instant
NEQ: t1 < t2
QTt1: quiet_time arr_seq sched j t1
NQT: forall t : nat, t1 < t < t2 -> ~ quiet_time arr_seq sched j t
REL: t1 <= job_arrival j < t2

busy_interval_prefix_ab j t1 t2
Task: TaskType
H: TaskCost Task
Job: JobType
H0: JobTask Job Task
H1: JobArrival Job
H2: JobCost Job
arr_seq: arrival_sequence Job
H_valid_arrival_sequence: valid_arrival_sequence arr_seq
sched: schedule (processor_state Job)
H_jobs_come_from_arrival_sequence: jobs_come_from_arrival_sequence sched arr_seq
H_jobs_must_arrive_to_execute: jobs_must_arrive_to_execute sched
H_completed_jobs_dont_execute: completed_jobs_dont_execute sched
H3: JLFP_policy Job
H_priority_is_reflexive: reflexive_priorities
H_priority_is_transitive: transitive_priorities
tsk: Task
H_sequential_tasks: sequential_tasks arr_seq sched
H_JLFP_respects_sequential_tasks: policy_respects_sequential_tasks
quiet_time_cl:= quiet_time arr_seq sched: Job -> instant -> Prop
quiet_time_ab:= definitions.quiet_time sched: Job -> instant -> Prop
busy_interval_prefix_cl:= busy_interval_prefix arr_seq sched: Job -> instant -> instant -> Prop
busy_interval_prefix_ab:= definitions.busy_interval_prefix sched: Job -> instant -> instant -> Prop
busy_interval_cl:= busy_interval arr_seq sched: Job -> instant -> instant -> Prop
busy_interval_ab:= definitions.busy_interval sched: Job -> instant -> instant -> Prop
j: Job
H_j_arrives: arrives_in arr_seq j
H_job_cost_positive: job_cost_positive j
t1, t2: instant
NEQ: t1 < t2
QTt1: quiet_time arr_seq sched j t1
NQT: forall t : nat, t1 < t < t2 -> ~ quiet_time arr_seq sched j t
REL: t1 <= job_arrival j < t2

t1 <= job_arrival j < t2
Task: TaskType
H: TaskCost Task
Job: JobType
H0: JobTask Job Task
H1: JobArrival Job
H2: JobCost Job
arr_seq: arrival_sequence Job
H_valid_arrival_sequence: valid_arrival_sequence arr_seq
sched: schedule (processor_state Job)
H_jobs_come_from_arrival_sequence: jobs_come_from_arrival_sequence sched arr_seq
H_jobs_must_arrive_to_execute: jobs_must_arrive_to_execute sched
H_completed_jobs_dont_execute: completed_jobs_dont_execute sched
H3: JLFP_policy Job
H_priority_is_reflexive: reflexive_priorities
H_priority_is_transitive: transitive_priorities
tsk: Task
H_sequential_tasks: sequential_tasks arr_seq sched
H_JLFP_respects_sequential_tasks: policy_respects_sequential_tasks
quiet_time_cl:= quiet_time arr_seq sched: Job -> instant -> Prop
quiet_time_ab:= definitions.quiet_time sched: Job -> instant -> Prop
busy_interval_prefix_cl:= busy_interval_prefix arr_seq sched: Job -> instant -> instant -> Prop
busy_interval_prefix_ab:= definitions.busy_interval_prefix sched: Job -> instant -> instant -> Prop
busy_interval_cl:= busy_interval arr_seq sched: Job -> instant -> instant -> Prop
busy_interval_ab:= definitions.busy_interval sched: Job -> instant -> instant -> Prop
j: Job
H_j_arrives: arrives_in arr_seq j
H_job_cost_positive: job_cost_positive j
t1, t2: instant
NEQ: t1 < t2
QTt1: quiet_time arr_seq sched j t1
NQT: forall t : nat, t1 < t < t2 -> ~ quiet_time arr_seq sched j t
REL: t1 <= job_arrival j < t2
definitions.quiet_time sched j t1
Task: TaskType
H: TaskCost Task
Job: JobType
H0: JobTask Job Task
H1: JobArrival Job
H2: JobCost Job
arr_seq: arrival_sequence Job
H_valid_arrival_sequence: valid_arrival_sequence arr_seq
sched: schedule (processor_state Job)
H_jobs_come_from_arrival_sequence: jobs_come_from_arrival_sequence sched arr_seq
H_jobs_must_arrive_to_execute: jobs_must_arrive_to_execute sched
H_completed_jobs_dont_execute: completed_jobs_dont_execute sched
H3: JLFP_policy Job
H_priority_is_reflexive: reflexive_priorities
H_priority_is_transitive: transitive_priorities
tsk: Task
H_sequential_tasks: sequential_tasks arr_seq sched
H_JLFP_respects_sequential_tasks: policy_respects_sequential_tasks
quiet_time_cl:= quiet_time arr_seq sched: Job -> instant -> Prop
quiet_time_ab:= definitions.quiet_time sched: Job -> instant -> Prop
busy_interval_prefix_cl:= busy_interval_prefix arr_seq sched: Job -> instant -> instant -> Prop
busy_interval_prefix_ab:= definitions.busy_interval_prefix sched: Job -> instant -> instant -> Prop
busy_interval_cl:= busy_interval arr_seq sched: Job -> instant -> instant -> Prop
busy_interval_ab:= definitions.busy_interval sched: Job -> instant -> instant -> Prop
j: Job
H_j_arrives: arrives_in arr_seq j
H_job_cost_positive: job_cost_positive j
t1, t2: instant
NEQ: t1 < t2
QTt1: quiet_time arr_seq sched j t1
NQT: forall t : nat, t1 < t < t2 -> ~ quiet_time arr_seq sched j t
REL: t1 <= job_arrival j < t2
forall t : nat, t1 < t < t2 -> ~ definitions.quiet_time sched j t
Task: TaskType
H: TaskCost Task
Job: JobType
H0: JobTask Job Task
H1: JobArrival Job
H2: JobCost Job
arr_seq: arrival_sequence Job
H_valid_arrival_sequence: valid_arrival_sequence arr_seq
sched: schedule (processor_state Job)
H_jobs_come_from_arrival_sequence: jobs_come_from_arrival_sequence sched arr_seq
H_jobs_must_arrive_to_execute: jobs_must_arrive_to_execute sched
H_completed_jobs_dont_execute: completed_jobs_dont_execute sched
H3: JLFP_policy Job
H_priority_is_reflexive: reflexive_priorities
H_priority_is_transitive: transitive_priorities
tsk: Task
H_sequential_tasks: sequential_tasks arr_seq sched
H_JLFP_respects_sequential_tasks: policy_respects_sequential_tasks
quiet_time_cl:= quiet_time arr_seq sched: Job -> instant -> Prop
quiet_time_ab:= definitions.quiet_time sched: Job -> instant -> Prop
busy_interval_prefix_cl:= busy_interval_prefix arr_seq sched: Job -> instant -> instant -> Prop
busy_interval_prefix_ab:= definitions.busy_interval_prefix sched: Job -> instant -> instant -> Prop
busy_interval_cl:= busy_interval arr_seq sched: Job -> instant -> instant -> Prop
busy_interval_ab:= definitions.busy_interval sched: Job -> instant -> instant -> Prop
j: Job
H_j_arrives: arrives_in arr_seq j
H_job_cost_positive: job_cost_positive j
t1, t2: instant
NEQ: t1 < t2
QTt1: quiet_time arr_seq sched j t1
NQT: forall t : nat, t1 < t < t2 -> ~ quiet_time arr_seq sched j t
REL: t1 <= job_arrival j < t2

t1 <= job_arrival j < t2
Task: TaskType
H: TaskCost Task
Job: JobType
H0: JobTask Job Task
H1: JobArrival Job
H2: JobCost Job
arr_seq: arrival_sequence Job
H_valid_arrival_sequence: valid_arrival_sequence arr_seq
sched: schedule (processor_state Job)
H_jobs_come_from_arrival_sequence: jobs_come_from_arrival_sequence sched arr_seq
H_jobs_must_arrive_to_execute: jobs_must_arrive_to_execute sched
H_completed_jobs_dont_execute: completed_jobs_dont_execute sched
H3: JLFP_policy Job
H_priority_is_reflexive: reflexive_priorities
H_priority_is_transitive: transitive_priorities
tsk: Task
H_sequential_tasks: sequential_tasks arr_seq sched
H_JLFP_respects_sequential_tasks: policy_respects_sequential_tasks
quiet_time_cl:= quiet_time arr_seq sched: Job -> instant -> Prop
quiet_time_ab:= definitions.quiet_time sched: Job -> instant -> Prop
busy_interval_prefix_cl:= busy_interval_prefix arr_seq sched: Job -> instant -> instant -> Prop
busy_interval_prefix_ab:= definitions.busy_interval_prefix sched: Job -> instant -> instant -> Prop
busy_interval_cl:= busy_interval arr_seq sched: Job -> instant -> instant -> Prop
busy_interval_ab:= definitions.busy_interval sched: Job -> instant -> instant -> Prop
j: Job
H_j_arrives: arrives_in arr_seq j
H_job_cost_positive: job_cost_positive j
t1, t2: instant
NEQ: t1 < t2
QTt1: quiet_time arr_seq sched j t1
NQT: forall t : nat, t1 < t < t2 -> ~ quiet_time arr_seq sched j t
REL: t1 <= job_arrival j < t2
definitions.quiet_time sched j t1
Task: TaskType
H: TaskCost Task
Job: JobType
H0: JobTask Job Task
H1: JobArrival Job
H2: JobCost Job
arr_seq: arrival_sequence Job
H_valid_arrival_sequence: valid_arrival_sequence arr_seq
sched: schedule (processor_state Job)
H_jobs_come_from_arrival_sequence: jobs_come_from_arrival_sequence sched arr_seq
H_jobs_must_arrive_to_execute: jobs_must_arrive_to_execute sched
H_completed_jobs_dont_execute: completed_jobs_dont_execute sched
H3: JLFP_policy Job
H_priority_is_reflexive: reflexive_priorities
H_priority_is_transitive: transitive_priorities
tsk: Task
H_sequential_tasks: sequential_tasks arr_seq sched
H_JLFP_respects_sequential_tasks: policy_respects_sequential_tasks
quiet_time_cl:= quiet_time arr_seq sched: Job -> instant -> Prop
quiet_time_ab:= definitions.quiet_time sched: Job -> instant -> Prop
busy_interval_prefix_cl:= busy_interval_prefix arr_seq sched: Job -> instant -> instant -> Prop
busy_interval_prefix_ab:= definitions.busy_interval_prefix sched: Job -> instant -> instant -> Prop
busy_interval_cl:= busy_interval arr_seq sched: Job -> instant -> instant -> Prop
busy_interval_ab:= definitions.busy_interval sched: Job -> instant -> instant -> Prop
j: Job
H_j_arrives: arrives_in arr_seq j
H_job_cost_positive: job_cost_positive j
t1, t2: instant
NEQ: t1 < t2
QTt1: quiet_time arr_seq sched j t1
NQT: forall t : nat, t1 < t < t2 -> ~ quiet_time arr_seq sched j t
REL: t1 <= job_arrival j < t2
forall t : nat, t1 < t < t2 -> ~ definitions.quiet_time sched j t
Task: TaskType
H: TaskCost Task
Job: JobType
H0: JobTask Job Task
H1: JobArrival Job
H2: JobCost Job
arr_seq: arrival_sequence Job
H_valid_arrival_sequence: valid_arrival_sequence arr_seq
sched: schedule (processor_state Job)
H_jobs_come_from_arrival_sequence: jobs_come_from_arrival_sequence sched arr_seq
H_jobs_must_arrive_to_execute: jobs_must_arrive_to_execute sched
H_completed_jobs_dont_execute: completed_jobs_dont_execute sched
H3: JLFP_policy Job
H_priority_is_reflexive: reflexive_priorities
H_priority_is_transitive: transitive_priorities
tsk: Task
H_sequential_tasks: sequential_tasks arr_seq sched
H_JLFP_respects_sequential_tasks: policy_respects_sequential_tasks
quiet_time_cl:= quiet_time arr_seq sched: Job -> instant -> Prop
quiet_time_ab:= definitions.quiet_time sched: Job -> instant -> Prop
busy_interval_prefix_cl:= busy_interval_prefix arr_seq sched: Job -> instant -> instant -> Prop
busy_interval_prefix_ab:= definitions.busy_interval_prefix sched: Job -> instant -> instant -> Prop
busy_interval_cl:= busy_interval arr_seq sched: Job -> instant -> instant -> Prop
busy_interval_ab:= definitions.busy_interval sched: Job -> instant -> instant -> Prop
j: Job
H_j_arrives: arrives_in arr_seq j
H_job_cost_positive: job_cost_positive j
t1, t2: instant
NEQ: t1 < t2
QTt1: quiet_time arr_seq sched j t1
NQT: forall t : nat, t1 < t < t2 -> ~ quiet_time arr_seq sched j t
REL: t1 <= job_arrival j < t2

definitions.quiet_time sched j t1
Task: TaskType
H: TaskCost Task
Job: JobType
H0: JobTask Job Task
H1: JobArrival Job
H2: JobCost Job
arr_seq: arrival_sequence Job
H_valid_arrival_sequence: valid_arrival_sequence arr_seq
sched: schedule (processor_state Job)
H_jobs_come_from_arrival_sequence: jobs_come_from_arrival_sequence sched arr_seq
H_jobs_must_arrive_to_execute: jobs_must_arrive_to_execute sched
H_completed_jobs_dont_execute: completed_jobs_dont_execute sched
H3: JLFP_policy Job
H_priority_is_reflexive: reflexive_priorities
H_priority_is_transitive: transitive_priorities
tsk: Task
H_sequential_tasks: sequential_tasks arr_seq sched
H_JLFP_respects_sequential_tasks: policy_respects_sequential_tasks
quiet_time_cl:= quiet_time arr_seq sched: Job -> instant -> Prop
quiet_time_ab:= definitions.quiet_time sched: Job -> instant -> Prop
busy_interval_prefix_cl:= busy_interval_prefix arr_seq sched: Job -> instant -> instant -> Prop
busy_interval_prefix_ab:= definitions.busy_interval_prefix sched: Job -> instant -> instant -> Prop
busy_interval_cl:= busy_interval arr_seq sched: Job -> instant -> instant -> Prop
busy_interval_ab:= definitions.busy_interval sched: Job -> instant -> instant -> Prop
j: Job
H_j_arrives: arrives_in arr_seq j
H_job_cost_positive: job_cost_positive j
t1, t2: instant
NEQ: t1 < t2
QTt1: quiet_time arr_seq sched j t1
NQT: forall t : nat, t1 < t < t2 -> ~ quiet_time arr_seq sched j t
REL: t1 <= job_arrival j < t2
forall t : nat, t1 < t < t2 -> ~ definitions.quiet_time sched j t
Task: TaskType
H: TaskCost Task
Job: JobType
H0: JobTask Job Task
H1: JobArrival Job
H2: JobCost Job
arr_seq: arrival_sequence Job
H_valid_arrival_sequence: valid_arrival_sequence arr_seq
sched: schedule (processor_state Job)
H_jobs_come_from_arrival_sequence: jobs_come_from_arrival_sequence sched arr_seq
H_jobs_must_arrive_to_execute: jobs_must_arrive_to_execute sched
H_completed_jobs_dont_execute: completed_jobs_dont_execute sched
H3: JLFP_policy Job
H_priority_is_reflexive: reflexive_priorities
H_priority_is_transitive: transitive_priorities
tsk: Task
H_sequential_tasks: sequential_tasks arr_seq sched
H_JLFP_respects_sequential_tasks: policy_respects_sequential_tasks
quiet_time_cl:= quiet_time arr_seq sched: Job -> instant -> Prop
quiet_time_ab:= definitions.quiet_time sched: Job -> instant -> Prop
busy_interval_prefix_cl:= busy_interval_prefix arr_seq sched: Job -> instant -> instant -> Prop
busy_interval_prefix_ab:= definitions.busy_interval_prefix sched: Job -> instant -> instant -> Prop
busy_interval_cl:= busy_interval arr_seq sched: Job -> instant -> instant -> Prop
busy_interval_ab:= definitions.busy_interval sched: Job -> instant -> instant -> Prop
j: Job
H_j_arrives: arrives_in arr_seq j
H_job_cost_positive: job_cost_positive j
t1, t2: instant
NEQ: t1 < t2
QTt1: quiet_time arr_seq sched j t1
NQT: forall t : nat, t1 < t < t2 -> ~ quiet_time arr_seq sched j t
REL: t1 <= job_arrival j < t2

definitions.quiet_time sched j t1
Task: TaskType
H: TaskCost Task
Job: JobType
H0: JobTask Job Task
H1: JobArrival Job
H2: JobCost Job
arr_seq: arrival_sequence Job
H_valid_arrival_sequence: valid_arrival_sequence arr_seq
sched: schedule (processor_state Job)
H_jobs_come_from_arrival_sequence: jobs_come_from_arrival_sequence sched arr_seq
H_jobs_must_arrive_to_execute: jobs_must_arrive_to_execute sched
H_completed_jobs_dont_execute: completed_jobs_dont_execute sched
H3: JLFP_policy Job
H_priority_is_reflexive: reflexive_priorities
H_priority_is_transitive: transitive_priorities
tsk: Task
H_sequential_tasks: sequential_tasks arr_seq sched
H_JLFP_respects_sequential_tasks: policy_respects_sequential_tasks
quiet_time_cl:= quiet_time arr_seq sched: Job -> instant -> Prop
quiet_time_ab:= definitions.quiet_time sched: Job -> instant -> Prop
busy_interval_prefix_cl:= busy_interval_prefix arr_seq sched: Job -> instant -> instant -> Prop
busy_interval_prefix_ab:= definitions.busy_interval_prefix sched: Job -> instant -> instant -> Prop
busy_interval_cl:= busy_interval arr_seq sched: Job -> instant -> instant -> Prop
busy_interval_ab:= definitions.busy_interval sched: Job -> instant -> instant -> Prop
j: Job
H_j_arrives: arrives_in arr_seq j
H_job_cost_positive: job_cost_positive j
t1, t2: instant
NEQ: t1 < t2
QTt1: quiet_time arr_seq sched j t1
NQT: forall t : nat, t1 < t < t2 -> ~ quiet_time arr_seq sched j t
REL: t1 <= job_arrival j < t2
forall t : nat, t1 < t < t2 -> ~ definitions.quiet_time sched j t
Task: TaskType
H: TaskCost Task
Job: JobType
H0: JobTask Job Task
H1: JobArrival Job
H2: JobCost Job
arr_seq: arrival_sequence Job
H_valid_arrival_sequence: valid_arrival_sequence arr_seq
sched: schedule (processor_state Job)
H_jobs_come_from_arrival_sequence: jobs_come_from_arrival_sequence sched arr_seq
H_jobs_must_arrive_to_execute: jobs_must_arrive_to_execute sched
H_completed_jobs_dont_execute: completed_jobs_dont_execute sched
H3: JLFP_policy Job
H_priority_is_reflexive: reflexive_priorities
H_priority_is_transitive: transitive_priorities
tsk: Task
H_sequential_tasks: sequential_tasks arr_seq sched
H_JLFP_respects_sequential_tasks: policy_respects_sequential_tasks
quiet_time_cl:= quiet_time arr_seq sched: Job -> instant -> Prop
quiet_time_ab:= definitions.quiet_time sched: Job -> instant -> Prop
busy_interval_prefix_cl:= busy_interval_prefix arr_seq sched: Job -> instant -> instant -> Prop
busy_interval_prefix_ab:= definitions.busy_interval_prefix sched: Job -> instant -> instant -> Prop
busy_interval_cl:= busy_interval arr_seq sched: Job -> instant -> instant -> Prop
busy_interval_ab:= definitions.busy_interval sched: Job -> instant -> instant -> Prop
j: Job
H_j_arrives: arrives_in arr_seq j
H_job_cost_positive: job_cost_positive j
t1, t2: instant
NEQ: t1 < t2
QTt1: quiet_time arr_seq sched j t1
NQT: forall t : nat, t1 < t < t2 -> ~ quiet_time arr_seq sched j t
REL: t1 <= job_arrival j < t2

forall t : nat, t1 < t < t2 -> ~ definitions.quiet_time sched j t
Task: TaskType
H: TaskCost Task
Job: JobType
H0: JobTask Job Task
H1: JobArrival Job
H2: JobCost Job
arr_seq: arrival_sequence Job
H_valid_arrival_sequence: valid_arrival_sequence arr_seq
sched: schedule (processor_state Job)
H_jobs_come_from_arrival_sequence: jobs_come_from_arrival_sequence sched arr_seq
H_jobs_must_arrive_to_execute: jobs_must_arrive_to_execute sched
H_completed_jobs_dont_execute: completed_jobs_dont_execute sched
H3: JLFP_policy Job
H_priority_is_reflexive: reflexive_priorities
H_priority_is_transitive: transitive_priorities
tsk: Task
H_sequential_tasks: sequential_tasks arr_seq sched
H_JLFP_respects_sequential_tasks: policy_respects_sequential_tasks
quiet_time_cl:= quiet_time arr_seq sched: Job -> instant -> Prop
quiet_time_ab:= definitions.quiet_time sched: Job -> instant -> Prop
busy_interval_prefix_cl:= busy_interval_prefix arr_seq sched: Job -> instant -> instant -> Prop
busy_interval_prefix_ab:= definitions.busy_interval_prefix sched: Job -> instant -> instant -> Prop
busy_interval_cl:= busy_interval arr_seq sched: Job -> instant -> instant -> Prop
busy_interval_ab:= definitions.busy_interval sched: Job -> instant -> instant -> Prop
j: Job
H_j_arrives: arrives_in arr_seq j
H_job_cost_positive: job_cost_positive j
t1, t2: instant
NEQ: t1 < t2
QTt1: quiet_time arr_seq sched j t1
NQT: forall t : nat, t1 < t < t2 -> ~ quiet_time arr_seq sched j t
REL: t1 <= job_arrival j < t2

forall t : nat, t1 < t < t2 -> ~ definitions.quiet_time sched j t
by move => t NE QT; eapply NQT; eauto 2; apply instantiated_quiet_time_equivalent_quiet_time.
Task: TaskType
H: TaskCost Task
Job: JobType
H0: JobTask Job Task
H1: JobArrival Job
H2: JobCost Job
arr_seq: arrival_sequence Job
H_valid_arrival_sequence: valid_arrival_sequence arr_seq
sched: schedule (processor_state Job)
H_jobs_come_from_arrival_sequence: jobs_come_from_arrival_sequence sched arr_seq
H_jobs_must_arrive_to_execute: jobs_must_arrive_to_execute sched
H_completed_jobs_dont_execute: completed_jobs_dont_execute sched
H3: JLFP_policy Job
H_priority_is_reflexive: reflexive_priorities
H_priority_is_transitive: transitive_priorities
tsk: Task
H_sequential_tasks: sequential_tasks arr_seq sched
H_JLFP_respects_sequential_tasks: policy_respects_sequential_tasks
quiet_time_cl:= quiet_time arr_seq sched: Job -> instant -> Prop
quiet_time_ab:= definitions.quiet_time sched: Job -> instant -> Prop
busy_interval_prefix_cl:= busy_interval_prefix arr_seq sched: Job -> instant -> instant -> Prop
busy_interval_prefix_ab:= definitions.busy_interval_prefix sched: Job -> instant -> instant -> Prop
busy_interval_cl:= busy_interval arr_seq sched: Job -> instant -> instant -> Prop
busy_interval_ab:= definitions.busy_interval sched: Job -> instant -> instant -> Prop
j: Job
H_j_arrives: arrives_in arr_seq j
H_job_cost_positive: job_cost_positive j
t1, t2: instant

busy_interval_prefix_ab j t1 t2 -> busy_interval_prefix_cl j t1 t2
Task: TaskType
H: TaskCost Task
Job: JobType
H0: JobTask Job Task
H1: JobArrival Job
H2: JobCost Job
arr_seq: arrival_sequence Job
H_valid_arrival_sequence: valid_arrival_sequence arr_seq
sched: schedule (processor_state Job)
H_jobs_come_from_arrival_sequence: jobs_come_from_arrival_sequence sched arr_seq
H_jobs_must_arrive_to_execute: jobs_must_arrive_to_execute sched
H_completed_jobs_dont_execute: completed_jobs_dont_execute sched
H3: JLFP_policy Job
H_priority_is_reflexive: reflexive_priorities
H_priority_is_transitive: transitive_priorities
tsk: Task
H_sequential_tasks: sequential_tasks arr_seq sched
H_JLFP_respects_sequential_tasks: policy_respects_sequential_tasks
quiet_time_cl:= quiet_time arr_seq sched: Job -> instant -> Prop
quiet_time_ab:= definitions.quiet_time sched: Job -> instant -> Prop
busy_interval_prefix_cl:= busy_interval_prefix arr_seq sched: Job -> instant -> instant -> Prop
busy_interval_prefix_ab:= definitions.busy_interval_prefix sched: Job -> instant -> instant -> Prop
busy_interval_cl:= busy_interval arr_seq sched: Job -> instant -> instant -> Prop
busy_interval_ab:= definitions.busy_interval sched: Job -> instant -> instant -> Prop
j: Job
H_j_arrives: arrives_in arr_seq j
H_job_cost_positive: job_cost_positive j
t1, t2: instant

busy_interval_prefix_ab j t1 t2 -> busy_interval_prefix_cl j t1 t2
Task: TaskType
H: TaskCost Task
Job: JobType
H0: JobTask Job Task
H1: JobArrival Job
H2: JobCost Job
arr_seq: arrival_sequence Job
H_valid_arrival_sequence: valid_arrival_sequence arr_seq
sched: schedule (processor_state Job)
H_jobs_come_from_arrival_sequence: jobs_come_from_arrival_sequence sched arr_seq
H_jobs_must_arrive_to_execute: jobs_must_arrive_to_execute sched
H_completed_jobs_dont_execute: completed_jobs_dont_execute sched
H3: JLFP_policy Job
H_priority_is_reflexive: reflexive_priorities
H_priority_is_transitive: transitive_priorities
tsk: Task
H_sequential_tasks: sequential_tasks arr_seq sched
H_JLFP_respects_sequential_tasks: policy_respects_sequential_tasks
quiet_time_cl:= quiet_time arr_seq sched: Job -> instant -> Prop
quiet_time_ab:= definitions.quiet_time sched: Job -> instant -> Prop
busy_interval_prefix_cl:= busy_interval_prefix arr_seq sched: Job -> instant -> instant -> Prop
busy_interval_prefix_ab:= definitions.busy_interval_prefix sched: Job -> instant -> instant -> Prop
busy_interval_cl:= busy_interval arr_seq sched: Job -> instant -> instant -> Prop
busy_interval_ab:= definitions.busy_interval sched: Job -> instant -> instant -> Prop
j: Job
H_j_arrives: arrives_in arr_seq j
H_job_cost_positive: job_cost_positive j
t1, t2: instant
NEQ1: t1 <= job_arrival j
NEQ2: job_arrival j < t2
QTt1: definitions.quiet_time sched j t1
NQT: forall t : nat, t1 < t < t2 -> ~ definitions.quiet_time sched j t

busy_interval_prefix_cl j t1 t2
Task: TaskType
H: TaskCost Task
Job: JobType
H0: JobTask Job Task
H1: JobArrival Job
H2: JobCost Job
arr_seq: arrival_sequence Job
H_valid_arrival_sequence: valid_arrival_sequence arr_seq
sched: schedule (processor_state Job)
H_jobs_come_from_arrival_sequence: jobs_come_from_arrival_sequence sched arr_seq
H_jobs_must_arrive_to_execute: jobs_must_arrive_to_execute sched
H_completed_jobs_dont_execute: completed_jobs_dont_execute sched
H3: JLFP_policy Job
H_priority_is_reflexive: reflexive_priorities
H_priority_is_transitive: transitive_priorities
tsk: Task
H_sequential_tasks: sequential_tasks arr_seq sched
H_JLFP_respects_sequential_tasks: policy_respects_sequential_tasks
quiet_time_cl:= quiet_time arr_seq sched: Job -> instant -> Prop
quiet_time_ab:= definitions.quiet_time sched: Job -> instant -> Prop
busy_interval_prefix_cl:= busy_interval_prefix arr_seq sched: Job -> instant -> instant -> Prop
busy_interval_prefix_ab:= definitions.busy_interval_prefix sched: Job -> instant -> instant -> Prop
busy_interval_cl:= busy_interval arr_seq sched: Job -> instant -> instant -> Prop
busy_interval_ab:= definitions.busy_interval sched: Job -> instant -> instant -> Prop
j: Job
H_j_arrives: arrives_in arr_seq j
H_job_cost_positive: job_cost_positive j
t1, t2: instant
NEQ1: t1 <= job_arrival j
NEQ2: job_arrival j < t2
QTt1: definitions.quiet_time sched j t1
NQT: forall t : nat, t1 < t < t2 -> ~ definitions.quiet_time sched j t

t1 < t2
Task: TaskType
H: TaskCost Task
Job: JobType
H0: JobTask Job Task
H1: JobArrival Job
H2: JobCost Job
arr_seq: arrival_sequence Job
H_valid_arrival_sequence: valid_arrival_sequence arr_seq
sched: schedule (processor_state Job)
H_jobs_come_from_arrival_sequence: jobs_come_from_arrival_sequence sched arr_seq
H_jobs_must_arrive_to_execute: jobs_must_arrive_to_execute sched
H_completed_jobs_dont_execute: completed_jobs_dont_execute sched
H3: JLFP_policy Job
H_priority_is_reflexive: reflexive_priorities
H_priority_is_transitive: transitive_priorities
tsk: Task
H_sequential_tasks: sequential_tasks arr_seq sched
H_JLFP_respects_sequential_tasks: policy_respects_sequential_tasks
quiet_time_cl:= quiet_time arr_seq sched: Job -> instant -> Prop
quiet_time_ab:= definitions.quiet_time sched: Job -> instant -> Prop
busy_interval_prefix_cl:= busy_interval_prefix arr_seq sched: Job -> instant -> instant -> Prop
busy_interval_prefix_ab:= definitions.busy_interval_prefix sched: Job -> instant -> instant -> Prop
busy_interval_cl:= busy_interval arr_seq sched: Job -> instant -> instant -> Prop
busy_interval_ab:= definitions.busy_interval sched: Job -> instant -> instant -> Prop
j: Job
H_j_arrives: arrives_in arr_seq j
H_job_cost_positive: job_cost_positive j
t1, t2: instant
NEQ1: t1 <= job_arrival j
NEQ2: job_arrival j < t2
QTt1: definitions.quiet_time sched j t1
NQT: forall t : nat, t1 < t < t2 -> ~ definitions.quiet_time sched j t
quiet_time arr_seq sched j t1
Task: TaskType
H: TaskCost Task
Job: JobType
H0: JobTask Job Task
H1: JobArrival Job
H2: JobCost Job
arr_seq: arrival_sequence Job
H_valid_arrival_sequence: valid_arrival_sequence arr_seq
sched: schedule (processor_state Job)
H_jobs_come_from_arrival_sequence: jobs_come_from_arrival_sequence sched arr_seq
H_jobs_must_arrive_to_execute: jobs_must_arrive_to_execute sched
H_completed_jobs_dont_execute: completed_jobs_dont_execute sched
H3: JLFP_policy Job
H_priority_is_reflexive: reflexive_priorities
H_priority_is_transitive: transitive_priorities
tsk: Task
H_sequential_tasks: sequential_tasks arr_seq sched
H_JLFP_respects_sequential_tasks: policy_respects_sequential_tasks
quiet_time_cl:= quiet_time arr_seq sched: Job -> instant -> Prop
quiet_time_ab:= definitions.quiet_time sched: Job -> instant -> Prop
busy_interval_prefix_cl:= busy_interval_prefix arr_seq sched: Job -> instant -> instant -> Prop
busy_interval_prefix_ab:= definitions.busy_interval_prefix sched: Job -> instant -> instant -> Prop
busy_interval_cl:= busy_interval arr_seq sched: Job -> instant -> instant -> Prop
busy_interval_ab:= definitions.busy_interval sched: Job -> instant -> instant -> Prop
j: Job
H_j_arrives: arrives_in arr_seq j
H_job_cost_positive: job_cost_positive j
t1, t2: instant
NEQ1: t1 <= job_arrival j
NEQ2: job_arrival j < t2
QTt1: definitions.quiet_time sched j t1
NQT: forall t : nat, t1 < t < t2 -> ~ definitions.quiet_time sched j t
forall t : nat, t1 < t < t2 -> ~ quiet_time arr_seq sched j t
Task: TaskType
H: TaskCost Task
Job: JobType
H0: JobTask Job Task
H1: JobArrival Job
H2: JobCost Job
arr_seq: arrival_sequence Job
H_valid_arrival_sequence: valid_arrival_sequence arr_seq
sched: schedule (processor_state Job)
H_jobs_come_from_arrival_sequence: jobs_come_from_arrival_sequence sched arr_seq
H_jobs_must_arrive_to_execute: jobs_must_arrive_to_execute sched
H_completed_jobs_dont_execute: completed_jobs_dont_execute sched
H3: JLFP_policy Job
H_priority_is_reflexive: reflexive_priorities
H_priority_is_transitive: transitive_priorities
tsk: Task
H_sequential_tasks: sequential_tasks arr_seq sched
H_JLFP_respects_sequential_tasks: policy_respects_sequential_tasks
quiet_time_cl:= quiet_time arr_seq sched: Job -> instant -> Prop
quiet_time_ab:= definitions.quiet_time sched: Job -> instant -> Prop
busy_interval_prefix_cl:= busy_interval_prefix arr_seq sched: Job -> instant -> instant -> Prop
busy_interval_prefix_ab:= definitions.busy_interval_prefix sched: Job -> instant -> instant -> Prop
busy_interval_cl:= busy_interval arr_seq sched: Job -> instant -> instant -> Prop
busy_interval_ab:= definitions.busy_interval sched: Job -> instant -> instant -> Prop
j: Job
H_j_arrives: arrives_in arr_seq j
H_job_cost_positive: job_cost_positive j
t1, t2: instant
NEQ1: t1 <= job_arrival j
NEQ2: job_arrival j < t2
QTt1: definitions.quiet_time sched j t1
NQT: forall t : nat, t1 < t < t2 -> ~ definitions.quiet_time sched j t
t1 <= job_arrival j < t2
Task: TaskType
H: TaskCost Task
Job: JobType
H0: JobTask Job Task
H1: JobArrival Job
H2: JobCost Job
arr_seq: arrival_sequence Job
H_valid_arrival_sequence: valid_arrival_sequence arr_seq
sched: schedule (processor_state Job)
H_jobs_come_from_arrival_sequence: jobs_come_from_arrival_sequence sched arr_seq
H_jobs_must_arrive_to_execute: jobs_must_arrive_to_execute sched
H_completed_jobs_dont_execute: completed_jobs_dont_execute sched
H3: JLFP_policy Job
H_priority_is_reflexive: reflexive_priorities
H_priority_is_transitive: transitive_priorities
tsk: Task
H_sequential_tasks: sequential_tasks arr_seq sched
H_JLFP_respects_sequential_tasks: policy_respects_sequential_tasks
quiet_time_cl:= quiet_time arr_seq sched: Job -> instant -> Prop
quiet_time_ab:= definitions.quiet_time sched: Job -> instant -> Prop
busy_interval_prefix_cl:= busy_interval_prefix arr_seq sched: Job -> instant -> instant -> Prop
busy_interval_prefix_ab:= definitions.busy_interval_prefix sched: Job -> instant -> instant -> Prop
busy_interval_cl:= busy_interval arr_seq sched: Job -> instant -> instant -> Prop
busy_interval_ab:= definitions.busy_interval sched: Job -> instant -> instant -> Prop
j: Job
H_j_arrives: arrives_in arr_seq j
H_job_cost_positive: job_cost_positive j
t1, t2: instant
NEQ1: t1 <= job_arrival j
NEQ2: job_arrival j < t2
QTt1: definitions.quiet_time sched j t1
NQT: forall t : nat, t1 < t < t2 -> ~ definitions.quiet_time sched j t

t1 < t2
Task: TaskType
H: TaskCost Task
Job: JobType
H0: JobTask Job Task
H1: JobArrival Job
H2: JobCost Job
arr_seq: arrival_sequence Job
H_valid_arrival_sequence: valid_arrival_sequence arr_seq
sched: schedule (processor_state Job)
H_jobs_come_from_arrival_sequence: jobs_come_from_arrival_sequence sched arr_seq
H_jobs_must_arrive_to_execute: jobs_must_arrive_to_execute sched
H_completed_jobs_dont_execute: completed_jobs_dont_execute sched
H3: JLFP_policy Job
H_priority_is_reflexive: reflexive_priorities
H_priority_is_transitive: transitive_priorities
tsk: Task
H_sequential_tasks: sequential_tasks arr_seq sched
H_JLFP_respects_sequential_tasks: policy_respects_sequential_tasks
quiet_time_cl:= quiet_time arr_seq sched: Job -> instant -> Prop
quiet_time_ab:= definitions.quiet_time sched: Job -> instant -> Prop
busy_interval_prefix_cl:= busy_interval_prefix arr_seq sched: Job -> instant -> instant -> Prop
busy_interval_prefix_ab:= definitions.busy_interval_prefix sched: Job -> instant -> instant -> Prop
busy_interval_cl:= busy_interval arr_seq sched: Job -> instant -> instant -> Prop
busy_interval_ab:= definitions.busy_interval sched: Job -> instant -> instant -> Prop
j: Job
H_j_arrives: arrives_in arr_seq j
H_job_cost_positive: job_cost_positive j
t1, t2: instant
NEQ1: t1 <= job_arrival j
NEQ2: job_arrival j < t2
QTt1: definitions.quiet_time sched j t1
NQT: forall t : nat, t1 < t < t2 -> ~ definitions.quiet_time sched j t
quiet_time arr_seq sched j t1
Task: TaskType
H: TaskCost Task
Job: JobType
H0: JobTask Job Task
H1: JobArrival Job
H2: JobCost Job
arr_seq: arrival_sequence Job
H_valid_arrival_sequence: valid_arrival_sequence arr_seq
sched: schedule (processor_state Job)
H_jobs_come_from_arrival_sequence: jobs_come_from_arrival_sequence sched arr_seq
H_jobs_must_arrive_to_execute: jobs_must_arrive_to_execute sched
H_completed_jobs_dont_execute: completed_jobs_dont_execute sched
H3: JLFP_policy Job
H_priority_is_reflexive: reflexive_priorities
H_priority_is_transitive: transitive_priorities
tsk: Task
H_sequential_tasks: sequential_tasks arr_seq sched
H_JLFP_respects_sequential_tasks: policy_respects_sequential_tasks
quiet_time_cl:= quiet_time arr_seq sched: Job -> instant -> Prop
quiet_time_ab:= definitions.quiet_time sched: Job -> instant -> Prop
busy_interval_prefix_cl:= busy_interval_prefix arr_seq sched: Job -> instant -> instant -> Prop
busy_interval_prefix_ab:= definitions.busy_interval_prefix sched: Job -> instant -> instant -> Prop
busy_interval_cl:= busy_interval arr_seq sched: Job -> instant -> instant -> Prop
busy_interval_ab:= definitions.busy_interval sched: Job -> instant -> instant -> Prop
j: Job
H_j_arrives: arrives_in arr_seq j
H_job_cost_positive: job_cost_positive j
t1, t2: instant
NEQ1: t1 <= job_arrival j
NEQ2: job_arrival j < t2
QTt1: definitions.quiet_time sched j t1
NQT: forall t : nat, t1 < t < t2 -> ~ definitions.quiet_time sched j t
forall t : nat, t1 < t < t2 -> ~ quiet_time arr_seq sched j t
Task: TaskType
H: TaskCost Task
Job: JobType
H0: JobTask Job Task
H1: JobArrival Job
H2: JobCost Job
arr_seq: arrival_sequence Job
H_valid_arrival_sequence: valid_arrival_sequence arr_seq
sched: schedule (processor_state Job)
H_jobs_come_from_arrival_sequence: jobs_come_from_arrival_sequence sched arr_seq
H_jobs_must_arrive_to_execute: jobs_must_arrive_to_execute sched
H_completed_jobs_dont_execute: completed_jobs_dont_execute sched
H3: JLFP_policy Job
H_priority_is_reflexive: reflexive_priorities
H_priority_is_transitive: transitive_priorities
tsk: Task
H_sequential_tasks: sequential_tasks arr_seq sched
H_JLFP_respects_sequential_tasks: policy_respects_sequential_tasks
quiet_time_cl:= quiet_time arr_seq sched: Job -> instant -> Prop
quiet_time_ab:= definitions.quiet_time sched: Job -> instant -> Prop
busy_interval_prefix_cl:= busy_interval_prefix arr_seq sched: Job -> instant -> instant -> Prop
busy_interval_prefix_ab:= definitions.busy_interval_prefix sched: Job -> instant -> instant -> Prop
busy_interval_cl:= busy_interval arr_seq sched: Job -> instant -> instant -> Prop
busy_interval_ab:= definitions.busy_interval sched: Job -> instant -> instant -> Prop
j: Job
H_j_arrives: arrives_in arr_seq j
H_job_cost_positive: job_cost_positive j
t1, t2: instant
NEQ1: t1 <= job_arrival j
NEQ2: job_arrival j < t2
QTt1: definitions.quiet_time sched j t1
NQT: forall t : nat, t1 < t < t2 -> ~ definitions.quiet_time sched j t
t1 <= job_arrival j < t2
Task: TaskType
H: TaskCost Task
Job: JobType
H0: JobTask Job Task
H1: JobArrival Job
H2: JobCost Job
arr_seq: arrival_sequence Job
H_valid_arrival_sequence: valid_arrival_sequence arr_seq
sched: schedule (processor_state Job)
H_jobs_come_from_arrival_sequence: jobs_come_from_arrival_sequence sched arr_seq
H_jobs_must_arrive_to_execute: jobs_must_arrive_to_execute sched
H_completed_jobs_dont_execute: completed_jobs_dont_execute sched
H3: JLFP_policy Job
H_priority_is_reflexive: reflexive_priorities
H_priority_is_transitive: transitive_priorities
tsk: Task
H_sequential_tasks: sequential_tasks arr_seq sched
H_JLFP_respects_sequential_tasks: policy_respects_sequential_tasks
quiet_time_cl:= quiet_time arr_seq sched: Job -> instant -> Prop
quiet_time_ab:= definitions.quiet_time sched: Job -> instant -> Prop
busy_interval_prefix_cl:= busy_interval_prefix arr_seq sched: Job -> instant -> instant -> Prop
busy_interval_prefix_ab:= definitions.busy_interval_prefix sched: Job -> instant -> instant -> Prop
busy_interval_cl:= busy_interval arr_seq sched: Job -> instant -> instant -> Prop
busy_interval_ab:= definitions.busy_interval sched: Job -> instant -> instant -> Prop
j: Job
H_j_arrives: arrives_in arr_seq j
H_job_cost_positive: job_cost_positive j
t1, t2: instant
NEQ1: t1 <= job_arrival j
NEQ2: job_arrival j < t2
QTt1: definitions.quiet_time sched j t1
NQT: forall t : nat, t1 < t < t2 -> ~ definitions.quiet_time sched j t

quiet_time arr_seq sched j t1
Task: TaskType
H: TaskCost Task
Job: JobType
H0: JobTask Job Task
H1: JobArrival Job
H2: JobCost Job
arr_seq: arrival_sequence Job
H_valid_arrival_sequence: valid_arrival_sequence arr_seq
sched: schedule (processor_state Job)
H_jobs_come_from_arrival_sequence: jobs_come_from_arrival_sequence sched arr_seq
H_jobs_must_arrive_to_execute: jobs_must_arrive_to_execute sched
H_completed_jobs_dont_execute: completed_jobs_dont_execute sched
H3: JLFP_policy Job
H_priority_is_reflexive: reflexive_priorities
H_priority_is_transitive: transitive_priorities
tsk: Task
H_sequential_tasks: sequential_tasks arr_seq sched
H_JLFP_respects_sequential_tasks: policy_respects_sequential_tasks
quiet_time_cl:= quiet_time arr_seq sched: Job -> instant -> Prop
quiet_time_ab:= definitions.quiet_time sched: Job -> instant -> Prop
busy_interval_prefix_cl:= busy_interval_prefix arr_seq sched: Job -> instant -> instant -> Prop
busy_interval_prefix_ab:= definitions.busy_interval_prefix sched: Job -> instant -> instant -> Prop
busy_interval_cl:= busy_interval arr_seq sched: Job -> instant -> instant -> Prop
busy_interval_ab:= definitions.busy_interval sched: Job -> instant -> instant -> Prop
j: Job
H_j_arrives: arrives_in arr_seq j
H_job_cost_positive: job_cost_positive j
t1, t2: instant
NEQ1: t1 <= job_arrival j
NEQ2: job_arrival j < t2
QTt1: definitions.quiet_time sched j t1
NQT: forall t : nat, t1 < t < t2 -> ~ definitions.quiet_time sched j t
forall t : nat, t1 < t < t2 -> ~ quiet_time arr_seq sched j t
Task: TaskType
H: TaskCost Task
Job: JobType
H0: JobTask Job Task
H1: JobArrival Job
H2: JobCost Job
arr_seq: arrival_sequence Job
H_valid_arrival_sequence: valid_arrival_sequence arr_seq
sched: schedule (processor_state Job)
H_jobs_come_from_arrival_sequence: jobs_come_from_arrival_sequence sched arr_seq
H_jobs_must_arrive_to_execute: jobs_must_arrive_to_execute sched
H_completed_jobs_dont_execute: completed_jobs_dont_execute sched
H3: JLFP_policy Job
H_priority_is_reflexive: reflexive_priorities
H_priority_is_transitive: transitive_priorities
tsk: Task
H_sequential_tasks: sequential_tasks arr_seq sched
H_JLFP_respects_sequential_tasks: policy_respects_sequential_tasks
quiet_time_cl:= quiet_time arr_seq sched: Job -> instant -> Prop
quiet_time_ab:= definitions.quiet_time sched: Job -> instant -> Prop
busy_interval_prefix_cl:= busy_interval_prefix arr_seq sched: Job -> instant -> instant -> Prop
busy_interval_prefix_ab:= definitions.busy_interval_prefix sched: Job -> instant -> instant -> Prop
busy_interval_cl:= busy_interval arr_seq sched: Job -> instant -> instant -> Prop
busy_interval_ab:= definitions.busy_interval sched: Job -> instant -> instant -> Prop
j: Job
H_j_arrives: arrives_in arr_seq j
H_job_cost_positive: job_cost_positive j
t1, t2: instant
NEQ1: t1 <= job_arrival j
NEQ2: job_arrival j < t2
QTt1: definitions.quiet_time sched j t1
NQT: forall t : nat, t1 < t < t2 -> ~ definitions.quiet_time sched j t
t1 <= job_arrival j < t2
Task: TaskType
H: TaskCost Task
Job: JobType
H0: JobTask Job Task
H1: JobArrival Job
H2: JobCost Job
arr_seq: arrival_sequence Job
H_valid_arrival_sequence: valid_arrival_sequence arr_seq
sched: schedule (processor_state Job)
H_jobs_come_from_arrival_sequence: jobs_come_from_arrival_sequence sched arr_seq
H_jobs_must_arrive_to_execute: jobs_must_arrive_to_execute sched
H_completed_jobs_dont_execute: completed_jobs_dont_execute sched
H3: JLFP_policy Job
H_priority_is_reflexive: reflexive_priorities
H_priority_is_transitive: transitive_priorities
tsk: Task
H_sequential_tasks: sequential_tasks arr_seq sched
H_JLFP_respects_sequential_tasks: policy_respects_sequential_tasks
quiet_time_cl:= quiet_time arr_seq sched: Job -> instant -> Prop
quiet_time_ab:= definitions.quiet_time sched: Job -> instant -> Prop
busy_interval_prefix_cl:= busy_interval_prefix arr_seq sched: Job -> instant -> instant -> Prop
busy_interval_prefix_ab:= definitions.busy_interval_prefix sched: Job -> instant -> instant -> Prop
busy_interval_cl:= busy_interval arr_seq sched: Job -> instant -> instant -> Prop
busy_interval_ab:= definitions.busy_interval sched: Job -> instant -> instant -> Prop
j: Job
H_j_arrives: arrives_in arr_seq j
H_job_cost_positive: job_cost_positive j
t1, t2: instant
NEQ1: t1 <= job_arrival j
NEQ2: job_arrival j < t2
QTt1: definitions.quiet_time sched j t1
NQT: forall t : nat, t1 < t < t2 -> ~ definitions.quiet_time sched j t

quiet_time arr_seq sched j t1
Task: TaskType
H: TaskCost Task
Job: JobType
H0: JobTask Job Task
H1: JobArrival Job
H2: JobCost Job
arr_seq: arrival_sequence Job
H_valid_arrival_sequence: valid_arrival_sequence arr_seq
sched: schedule (processor_state Job)
H_jobs_come_from_arrival_sequence: jobs_come_from_arrival_sequence sched arr_seq
H_jobs_must_arrive_to_execute: jobs_must_arrive_to_execute sched
H_completed_jobs_dont_execute: completed_jobs_dont_execute sched
H3: JLFP_policy Job
H_priority_is_reflexive: reflexive_priorities
H_priority_is_transitive: transitive_priorities
tsk: Task
H_sequential_tasks: sequential_tasks arr_seq sched
H_JLFP_respects_sequential_tasks: policy_respects_sequential_tasks
quiet_time_cl:= quiet_time arr_seq sched: Job -> instant -> Prop
quiet_time_ab:= definitions.quiet_time sched: Job -> instant -> Prop
busy_interval_prefix_cl:= busy_interval_prefix arr_seq sched: Job -> instant -> instant -> Prop
busy_interval_prefix_ab:= definitions.busy_interval_prefix sched: Job -> instant -> instant -> Prop
busy_interval_cl:= busy_interval arr_seq sched: Job -> instant -> instant -> Prop
busy_interval_ab:= definitions.busy_interval sched: Job -> instant -> instant -> Prop
j: Job
H_j_arrives: arrives_in arr_seq j
H_job_cost_positive: job_cost_positive j
t1, t2: instant
NEQ1: t1 <= job_arrival j
NEQ2: job_arrival j < t2
QTt1: definitions.quiet_time sched j t1
NQT: forall t : nat, t1 < t < t2 -> ~ definitions.quiet_time sched j t
forall t : nat, t1 < t < t2 -> ~ quiet_time arr_seq sched j t
Task: TaskType
H: TaskCost Task
Job: JobType
H0: JobTask Job Task
H1: JobArrival Job
H2: JobCost Job
arr_seq: arrival_sequence Job
H_valid_arrival_sequence: valid_arrival_sequence arr_seq
sched: schedule (processor_state Job)
H_jobs_come_from_arrival_sequence: jobs_come_from_arrival_sequence sched arr_seq
H_jobs_must_arrive_to_execute: jobs_must_arrive_to_execute sched
H_completed_jobs_dont_execute: completed_jobs_dont_execute sched
H3: JLFP_policy Job
H_priority_is_reflexive: reflexive_priorities
H_priority_is_transitive: transitive_priorities
tsk: Task
H_sequential_tasks: sequential_tasks arr_seq sched
H_JLFP_respects_sequential_tasks: policy_respects_sequential_tasks
quiet_time_cl:= quiet_time arr_seq sched: Job -> instant -> Prop
quiet_time_ab:= definitions.quiet_time sched: Job -> instant -> Prop
busy_interval_prefix_cl:= busy_interval_prefix arr_seq sched: Job -> instant -> instant -> Prop
busy_interval_prefix_ab:= definitions.busy_interval_prefix sched: Job -> instant -> instant -> Prop
busy_interval_cl:= busy_interval arr_seq sched: Job -> instant -> instant -> Prop
busy_interval_ab:= definitions.busy_interval sched: Job -> instant -> instant -> Prop
j: Job
H_j_arrives: arrives_in arr_seq j
H_job_cost_positive: job_cost_positive j
t1, t2: instant
NEQ1: t1 <= job_arrival j
NEQ2: job_arrival j < t2
QTt1: definitions.quiet_time sched j t1
NQT: forall t : nat, t1 < t < t2 -> ~ definitions.quiet_time sched j t
t1 <= job_arrival j < t2
Task: TaskType
H: TaskCost Task
Job: JobType
H0: JobTask Job Task
H1: JobArrival Job
H2: JobCost Job
arr_seq: arrival_sequence Job
H_valid_arrival_sequence: valid_arrival_sequence arr_seq
sched: schedule (processor_state Job)
H_jobs_come_from_arrival_sequence: jobs_come_from_arrival_sequence sched arr_seq
H_jobs_must_arrive_to_execute: jobs_must_arrive_to_execute sched
H_completed_jobs_dont_execute: completed_jobs_dont_execute sched
H3: JLFP_policy Job
H_priority_is_reflexive: reflexive_priorities
H_priority_is_transitive: transitive_priorities
tsk: Task
H_sequential_tasks: sequential_tasks arr_seq sched
H_JLFP_respects_sequential_tasks: policy_respects_sequential_tasks
quiet_time_cl:= quiet_time arr_seq sched: Job -> instant -> Prop
quiet_time_ab:= definitions.quiet_time sched: Job -> instant -> Prop
busy_interval_prefix_cl:= busy_interval_prefix arr_seq sched: Job -> instant -> instant -> Prop
busy_interval_prefix_ab:= definitions.busy_interval_prefix sched: Job -> instant -> instant -> Prop
busy_interval_cl:= busy_interval arr_seq sched: Job -> instant -> instant -> Prop
busy_interval_ab:= definitions.busy_interval sched: Job -> instant -> instant -> Prop
j: Job
H_j_arrives: arrives_in arr_seq j
H_job_cost_positive: job_cost_positive j
t1, t2: instant
NEQ1: t1 <= job_arrival j
NEQ2: job_arrival j < t2
QTt1: definitions.quiet_time sched j t1
NQT: forall t : nat, t1 < t < t2 -> ~ definitions.quiet_time sched j t

forall t : nat, t1 < t < t2 -> ~ quiet_time arr_seq sched j t
Task: TaskType
H: TaskCost Task
Job: JobType
H0: JobTask Job Task
H1: JobArrival Job
H2: JobCost Job
arr_seq: arrival_sequence Job
H_valid_arrival_sequence: valid_arrival_sequence arr_seq
sched: schedule (processor_state Job)
H_jobs_come_from_arrival_sequence: jobs_come_from_arrival_sequence sched arr_seq
H_jobs_must_arrive_to_execute: jobs_must_arrive_to_execute sched
H_completed_jobs_dont_execute: completed_jobs_dont_execute sched
H3: JLFP_policy Job
H_priority_is_reflexive: reflexive_priorities
H_priority_is_transitive: transitive_priorities
tsk: Task
H_sequential_tasks: sequential_tasks arr_seq sched
H_JLFP_respects_sequential_tasks: policy_respects_sequential_tasks
quiet_time_cl:= quiet_time arr_seq sched: Job -> instant -> Prop
quiet_time_ab:= definitions.quiet_time sched: Job -> instant -> Prop
busy_interval_prefix_cl:= busy_interval_prefix arr_seq sched: Job -> instant -> instant -> Prop
busy_interval_prefix_ab:= definitions.busy_interval_prefix sched: Job -> instant -> instant -> Prop
busy_interval_cl:= busy_interval arr_seq sched: Job -> instant -> instant -> Prop
busy_interval_ab:= definitions.busy_interval sched: Job -> instant -> instant -> Prop
j: Job
H_j_arrives: arrives_in arr_seq j
H_job_cost_positive: job_cost_positive j
t1, t2: instant
NEQ1: t1 <= job_arrival j
NEQ2: job_arrival j < t2
QTt1: definitions.quiet_time sched j t1
NQT: forall t : nat, t1 < t < t2 -> ~ definitions.quiet_time sched j t
t1 <= job_arrival j < t2
Task: TaskType
H: TaskCost Task
Job: JobType
H0: JobTask Job Task
H1: JobArrival Job
H2: JobCost Job
arr_seq: arrival_sequence Job
H_valid_arrival_sequence: valid_arrival_sequence arr_seq
sched: schedule (processor_state Job)
H_jobs_come_from_arrival_sequence: jobs_come_from_arrival_sequence sched arr_seq
H_jobs_must_arrive_to_execute: jobs_must_arrive_to_execute sched
H_completed_jobs_dont_execute: completed_jobs_dont_execute sched
H3: JLFP_policy Job
H_priority_is_reflexive: reflexive_priorities
H_priority_is_transitive: transitive_priorities
tsk: Task
H_sequential_tasks: sequential_tasks arr_seq sched
H_JLFP_respects_sequential_tasks: policy_respects_sequential_tasks
quiet_time_cl:= quiet_time arr_seq sched: Job -> instant -> Prop
quiet_time_ab:= definitions.quiet_time sched: Job -> instant -> Prop
busy_interval_prefix_cl:= busy_interval_prefix arr_seq sched: Job -> instant -> instant -> Prop
busy_interval_prefix_ab:= definitions.busy_interval_prefix sched: Job -> instant -> instant -> Prop
busy_interval_cl:= busy_interval arr_seq sched: Job -> instant -> instant -> Prop
busy_interval_ab:= definitions.busy_interval sched: Job -> instant -> instant -> Prop
j: Job
H_j_arrives: arrives_in arr_seq j
H_job_cost_positive: job_cost_positive j
t1, t2: instant
NEQ1: t1 <= job_arrival j
NEQ2: job_arrival j < t2
QTt1: definitions.quiet_time sched j t1
NQT: forall t : nat, t1 < t < t2 -> ~ definitions.quiet_time sched j t

forall t : nat, t1 < t < t2 -> ~ quiet_time arr_seq sched j t
Task: TaskType
H: TaskCost Task
Job: JobType
H0: JobTask Job Task
H1: JobArrival Job
H2: JobCost Job
arr_seq: arrival_sequence Job
H_valid_arrival_sequence: valid_arrival_sequence arr_seq
sched: schedule (processor_state Job)
H_jobs_come_from_arrival_sequence: jobs_come_from_arrival_sequence sched arr_seq
H_jobs_must_arrive_to_execute: jobs_must_arrive_to_execute sched
H_completed_jobs_dont_execute: completed_jobs_dont_execute sched
H3: JLFP_policy Job
H_priority_is_reflexive: reflexive_priorities
H_priority_is_transitive: transitive_priorities
tsk: Task
H_sequential_tasks: sequential_tasks arr_seq sched
H_JLFP_respects_sequential_tasks: policy_respects_sequential_tasks
quiet_time_cl:= quiet_time arr_seq sched: Job -> instant -> Prop
quiet_time_ab:= definitions.quiet_time sched: Job -> instant -> Prop
busy_interval_prefix_cl:= busy_interval_prefix arr_seq sched: Job -> instant -> instant -> Prop
busy_interval_prefix_ab:= definitions.busy_interval_prefix sched: Job -> instant -> instant -> Prop
busy_interval_cl:= busy_interval arr_seq sched: Job -> instant -> instant -> Prop
busy_interval_ab:= definitions.busy_interval sched: Job -> instant -> instant -> Prop
j: Job
H_j_arrives: arrives_in arr_seq j
H_job_cost_positive: job_cost_positive j
t1, t2: instant
NEQ1: t1 <= job_arrival j
NEQ2: job_arrival j < t2
QTt1: definitions.quiet_time sched j t1
NQT: forall t : nat, t1 < t < t2 -> ~ definitions.quiet_time sched j t
t1 <= job_arrival j < t2
Task: TaskType
H: TaskCost Task
Job: JobType
H0: JobTask Job Task
H1: JobArrival Job
H2: JobCost Job
arr_seq: arrival_sequence Job
H_valid_arrival_sequence: valid_arrival_sequence arr_seq
sched: schedule (processor_state Job)
H_jobs_come_from_arrival_sequence: jobs_come_from_arrival_sequence sched arr_seq
H_jobs_must_arrive_to_execute: jobs_must_arrive_to_execute sched
H_completed_jobs_dont_execute: completed_jobs_dont_execute sched
H3: JLFP_policy Job
H_priority_is_reflexive: reflexive_priorities
H_priority_is_transitive: transitive_priorities
tsk: Task
H_sequential_tasks: sequential_tasks arr_seq sched
H_JLFP_respects_sequential_tasks: policy_respects_sequential_tasks
quiet_time_cl:= quiet_time arr_seq sched: Job -> instant -> Prop
quiet_time_ab:= definitions.quiet_time sched: Job -> instant -> Prop
busy_interval_prefix_cl:= busy_interval_prefix arr_seq sched: Job -> instant -> instant -> Prop
busy_interval_prefix_ab:= definitions.busy_interval_prefix sched: Job -> instant -> instant -> Prop
busy_interval_cl:= busy_interval arr_seq sched: Job -> instant -> instant -> Prop
busy_interval_ab:= definitions.busy_interval sched: Job -> instant -> instant -> Prop
j: Job
H_j_arrives: arrives_in arr_seq j
H_job_cost_positive: job_cost_positive j
t1, t2: instant
NEQ1: t1 <= job_arrival j
NEQ2: job_arrival j < t2
QTt1: definitions.quiet_time sched j t1
NQT: forall t : nat, t1 < t < t2 -> ~ definitions.quiet_time sched j t

t1 <= job_arrival j < t2
Task: TaskType
H: TaskCost Task
Job: JobType
H0: JobTask Job Task
H1: JobArrival Job
H2: JobCost Job
arr_seq: arrival_sequence Job
H_valid_arrival_sequence: valid_arrival_sequence arr_seq
sched: schedule (processor_state Job)
H_jobs_come_from_arrival_sequence: jobs_come_from_arrival_sequence sched arr_seq
H_jobs_must_arrive_to_execute: jobs_must_arrive_to_execute sched
H_completed_jobs_dont_execute: completed_jobs_dont_execute sched
H3: JLFP_policy Job
H_priority_is_reflexive: reflexive_priorities
H_priority_is_transitive: transitive_priorities
tsk: Task
H_sequential_tasks: sequential_tasks arr_seq sched
H_JLFP_respects_sequential_tasks: policy_respects_sequential_tasks
quiet_time_cl:= quiet_time arr_seq sched: Job -> instant -> Prop
quiet_time_ab:= definitions.quiet_time sched: Job -> instant -> Prop
busy_interval_prefix_cl:= busy_interval_prefix arr_seq sched: Job -> instant -> instant -> Prop
busy_interval_prefix_ab:= definitions.busy_interval_prefix sched: Job -> instant -> instant -> Prop
busy_interval_cl:= busy_interval arr_seq sched: Job -> instant -> instant -> Prop
busy_interval_ab:= definitions.busy_interval sched: Job -> instant -> instant -> Prop
j: Job
H_j_arrives: arrives_in arr_seq j
H_job_cost_positive: job_cost_positive j
t1, t2: instant
NEQ1: t1 <= job_arrival j
NEQ2: job_arrival j < t2
QTt1: definitions.quiet_time sched j t1
NQT: forall t : nat, t1 < t < t2 -> ~ definitions.quiet_time sched j t

t1 <= job_arrival j < t2
by apply/andP; split. } Qed. (** Similarly, we prove that the concept of busy interval obtained by instantiating the abstract definition of busy interval coincides with the conventional definition of busy interval. *)
Task: TaskType
H: TaskCost Task
Job: JobType
H0: JobTask Job Task
H1: JobArrival Job
H2: JobCost Job
arr_seq: arrival_sequence Job
H_valid_arrival_sequence: valid_arrival_sequence arr_seq
sched: schedule (processor_state Job)
H_jobs_come_from_arrival_sequence: jobs_come_from_arrival_sequence sched arr_seq
H_jobs_must_arrive_to_execute: jobs_must_arrive_to_execute sched
H_completed_jobs_dont_execute: completed_jobs_dont_execute sched
H3: JLFP_policy Job
H_priority_is_reflexive: reflexive_priorities
H_priority_is_transitive: transitive_priorities
tsk: Task
H_sequential_tasks: sequential_tasks arr_seq sched
H_JLFP_respects_sequential_tasks: policy_respects_sequential_tasks
quiet_time_cl:= quiet_time arr_seq sched: Job -> instant -> Prop
quiet_time_ab:= definitions.quiet_time sched: Job -> instant -> Prop
busy_interval_prefix_cl:= busy_interval_prefix arr_seq sched: Job -> instant -> instant -> Prop
busy_interval_prefix_ab:= definitions.busy_interval_prefix sched: Job -> instant -> instant -> Prop
busy_interval_cl:= busy_interval arr_seq sched: Job -> instant -> instant -> Prop
busy_interval_ab:= definitions.busy_interval sched: Job -> instant -> instant -> Prop
j: Job
H_j_arrives: arrives_in arr_seq j
H_job_cost_positive: job_cost_positive j

forall t1 t2 : instant, busy_interval_cl j t1 t2 <-> busy_interval_ab j t1 t2
Task: TaskType
H: TaskCost Task
Job: JobType
H0: JobTask Job Task
H1: JobArrival Job
H2: JobCost Job
arr_seq: arrival_sequence Job
H_valid_arrival_sequence: valid_arrival_sequence arr_seq
sched: schedule (processor_state Job)
H_jobs_come_from_arrival_sequence: jobs_come_from_arrival_sequence sched arr_seq
H_jobs_must_arrive_to_execute: jobs_must_arrive_to_execute sched
H_completed_jobs_dont_execute: completed_jobs_dont_execute sched
H3: JLFP_policy Job
H_priority_is_reflexive: reflexive_priorities
H_priority_is_transitive: transitive_priorities
tsk: Task
H_sequential_tasks: sequential_tasks arr_seq sched
H_JLFP_respects_sequential_tasks: policy_respects_sequential_tasks
quiet_time_cl:= quiet_time arr_seq sched: Job -> instant -> Prop
quiet_time_ab:= definitions.quiet_time sched: Job -> instant -> Prop
busy_interval_prefix_cl:= busy_interval_prefix arr_seq sched: Job -> instant -> instant -> Prop
busy_interval_prefix_ab:= definitions.busy_interval_prefix sched: Job -> instant -> instant -> Prop
busy_interval_cl:= busy_interval arr_seq sched: Job -> instant -> instant -> Prop
busy_interval_ab:= definitions.busy_interval sched: Job -> instant -> instant -> Prop
j: Job
H_j_arrives: arrives_in arr_seq j
H_job_cost_positive: job_cost_positive j

forall t1 t2 : instant, busy_interval_cl j t1 t2 <-> busy_interval_ab j t1 t2
Task: TaskType
H: TaskCost Task
Job: JobType
H0: JobTask Job Task
H1: JobArrival Job
H2: JobCost Job
arr_seq: arrival_sequence Job
H_valid_arrival_sequence: valid_arrival_sequence arr_seq
sched: schedule (processor_state Job)
H_jobs_come_from_arrival_sequence: jobs_come_from_arrival_sequence sched arr_seq
H_jobs_must_arrive_to_execute: jobs_must_arrive_to_execute sched
H_completed_jobs_dont_execute: completed_jobs_dont_execute sched
H3: JLFP_policy Job
H_priority_is_reflexive: reflexive_priorities
H_priority_is_transitive: transitive_priorities
tsk: Task
H_sequential_tasks: sequential_tasks arr_seq sched
H_JLFP_respects_sequential_tasks: policy_respects_sequential_tasks
quiet_time_cl:= quiet_time arr_seq sched: Job -> instant -> Prop
quiet_time_ab:= definitions.quiet_time sched: Job -> instant -> Prop
busy_interval_prefix_cl:= busy_interval_prefix arr_seq sched: Job -> instant -> instant -> Prop
busy_interval_prefix_ab:= definitions.busy_interval_prefix sched: Job -> instant -> instant -> Prop
busy_interval_cl:= busy_interval arr_seq sched: Job -> instant -> instant -> Prop
busy_interval_ab:= definitions.busy_interval sched: Job -> instant -> instant -> Prop
j: Job
H_j_arrives: arrives_in arr_seq j
H_job_cost_positive: job_cost_positive j
t1, t2: instant

busy_interval_cl j t1 t2 -> busy_interval_ab j t1 t2
Task: TaskType
H: TaskCost Task
Job: JobType
H0: JobTask Job Task
H1: JobArrival Job
H2: JobCost Job
arr_seq: arrival_sequence Job
H_valid_arrival_sequence: valid_arrival_sequence arr_seq
sched: schedule (processor_state Job)
H_jobs_come_from_arrival_sequence: jobs_come_from_arrival_sequence sched arr_seq
H_jobs_must_arrive_to_execute: jobs_must_arrive_to_execute sched
H_completed_jobs_dont_execute: completed_jobs_dont_execute sched
H3: JLFP_policy Job
H_priority_is_reflexive: reflexive_priorities
H_priority_is_transitive: transitive_priorities
tsk: Task
H_sequential_tasks: sequential_tasks arr_seq sched
H_JLFP_respects_sequential_tasks: policy_respects_sequential_tasks
quiet_time_cl:= quiet_time arr_seq sched: Job -> instant -> Prop
quiet_time_ab:= definitions.quiet_time sched: Job -> instant -> Prop
busy_interval_prefix_cl:= busy_interval_prefix arr_seq sched: Job -> instant -> instant -> Prop
busy_interval_prefix_ab:= definitions.busy_interval_prefix sched: Job -> instant -> instant -> Prop
busy_interval_cl:= busy_interval arr_seq sched: Job -> instant -> instant -> Prop
busy_interval_ab:= definitions.busy_interval sched: Job -> instant -> instant -> Prop
j: Job
H_j_arrives: arrives_in arr_seq j
H_job_cost_positive: job_cost_positive j
t1, t2: instant
busy_interval_ab j t1 t2 -> busy_interval_cl j t1 t2
Task: TaskType
H: TaskCost Task
Job: JobType
H0: JobTask Job Task
H1: JobArrival Job
H2: JobCost Job
arr_seq: arrival_sequence Job
H_valid_arrival_sequence: valid_arrival_sequence arr_seq
sched: schedule (processor_state Job)
H_jobs_come_from_arrival_sequence: jobs_come_from_arrival_sequence sched arr_seq
H_jobs_must_arrive_to_execute: jobs_must_arrive_to_execute sched
H_completed_jobs_dont_execute: completed_jobs_dont_execute sched
H3: JLFP_policy Job
H_priority_is_reflexive: reflexive_priorities
H_priority_is_transitive: transitive_priorities
tsk: Task
H_sequential_tasks: sequential_tasks arr_seq sched
H_JLFP_respects_sequential_tasks: policy_respects_sequential_tasks
quiet_time_cl:= quiet_time arr_seq sched: Job -> instant -> Prop
quiet_time_ab:= definitions.quiet_time sched: Job -> instant -> Prop
busy_interval_prefix_cl:= busy_interval_prefix arr_seq sched: Job -> instant -> instant -> Prop
busy_interval_prefix_ab:= definitions.busy_interval_prefix sched: Job -> instant -> instant -> Prop
busy_interval_cl:= busy_interval arr_seq sched: Job -> instant -> instant -> Prop
busy_interval_ab:= definitions.busy_interval sched: Job -> instant -> instant -> Prop
j: Job
H_j_arrives: arrives_in arr_seq j
H_job_cost_positive: job_cost_positive j
t1, t2: instant

busy_interval_cl j t1 t2 -> busy_interval_ab j t1 t2
Task: TaskType
H: TaskCost Task
Job: JobType
H0: JobTask Job Task
H1: JobArrival Job
H2: JobCost Job
arr_seq: arrival_sequence Job
H_valid_arrival_sequence: valid_arrival_sequence arr_seq
sched: schedule (processor_state Job)
H_jobs_come_from_arrival_sequence: jobs_come_from_arrival_sequence sched arr_seq
H_jobs_must_arrive_to_execute: jobs_must_arrive_to_execute sched
H_completed_jobs_dont_execute: completed_jobs_dont_execute sched
H3: JLFP_policy Job
H_priority_is_reflexive: reflexive_priorities
H_priority_is_transitive: transitive_priorities
tsk: Task
H_sequential_tasks: sequential_tasks arr_seq sched
H_JLFP_respects_sequential_tasks: policy_respects_sequential_tasks
quiet_time_cl:= quiet_time arr_seq sched: Job -> instant -> Prop
quiet_time_ab:= definitions.quiet_time sched: Job -> instant -> Prop
busy_interval_prefix_cl:= busy_interval_prefix arr_seq sched: Job -> instant -> instant -> Prop
busy_interval_prefix_ab:= definitions.busy_interval_prefix sched: Job -> instant -> instant -> Prop
busy_interval_cl:= busy_interval arr_seq sched: Job -> instant -> instant -> Prop
busy_interval_ab:= definitions.busy_interval sched: Job -> instant -> instant -> Prop
j: Job
H_j_arrives: arrives_in arr_seq j
H_job_cost_positive: job_cost_positive j
t1, t2: instant
PREF: busy_interval_prefix arr_seq sched j t1 t2
QTt2: quiet_time arr_seq sched j t2

definitions.busy_interval_prefix sched j t1 t2
Task: TaskType
H: TaskCost Task
Job: JobType
H0: JobTask Job Task
H1: JobArrival Job
H2: JobCost Job
arr_seq: arrival_sequence Job
H_valid_arrival_sequence: valid_arrival_sequence arr_seq
sched: schedule (processor_state Job)
H_jobs_come_from_arrival_sequence: jobs_come_from_arrival_sequence sched arr_seq
H_jobs_must_arrive_to_execute: jobs_must_arrive_to_execute sched
H_completed_jobs_dont_execute: completed_jobs_dont_execute sched
H3: JLFP_policy Job
H_priority_is_reflexive: reflexive_priorities
H_priority_is_transitive: transitive_priorities
tsk: Task
H_sequential_tasks: sequential_tasks arr_seq sched
H_JLFP_respects_sequential_tasks: policy_respects_sequential_tasks
quiet_time_cl:= quiet_time arr_seq sched: Job -> instant -> Prop
quiet_time_ab:= definitions.quiet_time sched: Job -> instant -> Prop
busy_interval_prefix_cl:= busy_interval_prefix arr_seq sched: Job -> instant -> instant -> Prop
busy_interval_prefix_ab:= definitions.busy_interval_prefix sched: Job -> instant -> instant -> Prop
busy_interval_cl:= busy_interval arr_seq sched: Job -> instant -> instant -> Prop
busy_interval_ab:= definitions.busy_interval sched: Job -> instant -> instant -> Prop
j: Job
H_j_arrives: arrives_in arr_seq j
H_job_cost_positive: job_cost_positive j
t1, t2: instant
PREF: busy_interval_prefix arr_seq sched j t1 t2
QTt2: quiet_time arr_seq sched j t2
definitions.quiet_time sched j t2
Task: TaskType
H: TaskCost Task
Job: JobType
H0: JobTask Job Task
H1: JobArrival Job
H2: JobCost Job
arr_seq: arrival_sequence Job
H_valid_arrival_sequence: valid_arrival_sequence arr_seq
sched: schedule (processor_state Job)
H_jobs_come_from_arrival_sequence: jobs_come_from_arrival_sequence sched arr_seq
H_jobs_must_arrive_to_execute: jobs_must_arrive_to_execute sched
H_completed_jobs_dont_execute: completed_jobs_dont_execute sched
H3: JLFP_policy Job
H_priority_is_reflexive: reflexive_priorities
H_priority_is_transitive: transitive_priorities
tsk: Task
H_sequential_tasks: sequential_tasks arr_seq sched
H_JLFP_respects_sequential_tasks: policy_respects_sequential_tasks
quiet_time_cl:= quiet_time arr_seq sched: Job -> instant -> Prop
quiet_time_ab:= definitions.quiet_time sched: Job -> instant -> Prop
busy_interval_prefix_cl:= busy_interval_prefix arr_seq sched: Job -> instant -> instant -> Prop
busy_interval_prefix_ab:= definitions.busy_interval_prefix sched: Job -> instant -> instant -> Prop
busy_interval_cl:= busy_interval arr_seq sched: Job -> instant -> instant -> Prop
busy_interval_ab:= definitions.busy_interval sched: Job -> instant -> instant -> Prop
j: Job
H_j_arrives: arrives_in arr_seq j
H_job_cost_positive: job_cost_positive j
t1, t2: instant
PREF: busy_interval_prefix arr_seq sched j t1 t2
QTt2: quiet_time arr_seq sched j t2

definitions.busy_interval_prefix sched j t1 t2
Task: TaskType
H: TaskCost Task
Job: JobType
H0: JobTask Job Task
H1: JobArrival Job
H2: JobCost Job
arr_seq: arrival_sequence Job
H_valid_arrival_sequence: valid_arrival_sequence arr_seq
sched: schedule (processor_state Job)
H_jobs_come_from_arrival_sequence: jobs_come_from_arrival_sequence sched arr_seq
H_jobs_must_arrive_to_execute: jobs_must_arrive_to_execute sched
H_completed_jobs_dont_execute: completed_jobs_dont_execute sched
H3: JLFP_policy Job
H_priority_is_reflexive: reflexive_priorities
H_priority_is_transitive: transitive_priorities
tsk: Task
H_sequential_tasks: sequential_tasks arr_seq sched
H_JLFP_respects_sequential_tasks: policy_respects_sequential_tasks
quiet_time_cl:= quiet_time arr_seq sched: Job -> instant -> Prop
quiet_time_ab:= definitions.quiet_time sched: Job -> instant -> Prop
busy_interval_prefix_cl:= busy_interval_prefix arr_seq sched: Job -> instant -> instant -> Prop
busy_interval_prefix_ab:= definitions.busy_interval_prefix sched: Job -> instant -> instant -> Prop
busy_interval_cl:= busy_interval arr_seq sched: Job -> instant -> instant -> Prop
busy_interval_ab:= definitions.busy_interval sched: Job -> instant -> instant -> Prop
j: Job
H_j_arrives: arrives_in arr_seq j
H_job_cost_positive: job_cost_positive j
t1, t2: instant
PREF: busy_interval_prefix arr_seq sched j t1 t2
QTt2: quiet_time arr_seq sched j t2
definitions.quiet_time sched j t2
Task: TaskType
H: TaskCost Task
Job: JobType
H0: JobTask Job Task
H1: JobArrival Job
H2: JobCost Job
arr_seq: arrival_sequence Job
H_valid_arrival_sequence: valid_arrival_sequence arr_seq
sched: schedule (processor_state Job)
H_jobs_come_from_arrival_sequence: jobs_come_from_arrival_sequence sched arr_seq
H_jobs_must_arrive_to_execute: jobs_must_arrive_to_execute sched
H_completed_jobs_dont_execute: completed_jobs_dont_execute sched
H3: JLFP_policy Job
H_priority_is_reflexive: reflexive_priorities
H_priority_is_transitive: transitive_priorities
tsk: Task
H_sequential_tasks: sequential_tasks arr_seq sched
H_JLFP_respects_sequential_tasks: policy_respects_sequential_tasks
quiet_time_cl:= quiet_time arr_seq sched: Job -> instant -> Prop
quiet_time_ab:= definitions.quiet_time sched: Job -> instant -> Prop
busy_interval_prefix_cl:= busy_interval_prefix arr_seq sched: Job -> instant -> instant -> Prop
busy_interval_prefix_ab:= definitions.busy_interval_prefix sched: Job -> instant -> instant -> Prop
busy_interval_cl:= busy_interval arr_seq sched: Job -> instant -> instant -> Prop
busy_interval_ab:= definitions.busy_interval sched: Job -> instant -> instant -> Prop
j: Job
H_j_arrives: arrives_in arr_seq j
H_job_cost_positive: job_cost_positive j
t1, t2: instant
PREF: busy_interval_prefix arr_seq sched j t1 t2
QTt2: quiet_time arr_seq sched j t2

definitions.quiet_time sched j t2
Task: TaskType
H: TaskCost Task
Job: JobType
H0: JobTask Job Task
H1: JobArrival Job
H2: JobCost Job
arr_seq: arrival_sequence Job
H_valid_arrival_sequence: valid_arrival_sequence arr_seq
sched: schedule (processor_state Job)
H_jobs_come_from_arrival_sequence: jobs_come_from_arrival_sequence sched arr_seq
H_jobs_must_arrive_to_execute: jobs_must_arrive_to_execute sched
H_completed_jobs_dont_execute: completed_jobs_dont_execute sched
H3: JLFP_policy Job
H_priority_is_reflexive: reflexive_priorities
H_priority_is_transitive: transitive_priorities
tsk: Task
H_sequential_tasks: sequential_tasks arr_seq sched
H_JLFP_respects_sequential_tasks: policy_respects_sequential_tasks
quiet_time_cl:= quiet_time arr_seq sched: Job -> instant -> Prop
quiet_time_ab:= definitions.quiet_time sched: Job -> instant -> Prop
busy_interval_prefix_cl:= busy_interval_prefix arr_seq sched: Job -> instant -> instant -> Prop
busy_interval_prefix_ab:= definitions.busy_interval_prefix sched: Job -> instant -> instant -> Prop
busy_interval_cl:= busy_interval arr_seq sched: Job -> instant -> instant -> Prop
busy_interval_ab:= definitions.busy_interval sched: Job -> instant -> instant -> Prop
j: Job
H_j_arrives: arrives_in arr_seq j
H_job_cost_positive: job_cost_positive j
t1, t2: instant
PREF: busy_interval_prefix arr_seq sched j t1 t2
QTt2: quiet_time arr_seq sched j t2

definitions.quiet_time sched j t2
by eapply instantiated_quiet_time_equivalent_quiet_time in QTt2.
Task: TaskType
H: TaskCost Task
Job: JobType
H0: JobTask Job Task
H1: JobArrival Job
H2: JobCost Job
arr_seq: arrival_sequence Job
H_valid_arrival_sequence: valid_arrival_sequence arr_seq
sched: schedule (processor_state Job)
H_jobs_come_from_arrival_sequence: jobs_come_from_arrival_sequence sched arr_seq
H_jobs_must_arrive_to_execute: jobs_must_arrive_to_execute sched
H_completed_jobs_dont_execute: completed_jobs_dont_execute sched
H3: JLFP_policy Job
H_priority_is_reflexive: reflexive_priorities
H_priority_is_transitive: transitive_priorities
tsk: Task
H_sequential_tasks: sequential_tasks arr_seq sched
H_JLFP_respects_sequential_tasks: policy_respects_sequential_tasks
quiet_time_cl:= quiet_time arr_seq sched: Job -> instant -> Prop
quiet_time_ab:= definitions.quiet_time sched: Job -> instant -> Prop
busy_interval_prefix_cl:= busy_interval_prefix arr_seq sched: Job -> instant -> instant -> Prop
busy_interval_prefix_ab:= definitions.busy_interval_prefix sched: Job -> instant -> instant -> Prop
busy_interval_cl:= busy_interval arr_seq sched: Job -> instant -> instant -> Prop
busy_interval_ab:= definitions.busy_interval sched: Job -> instant -> instant -> Prop
j: Job
H_j_arrives: arrives_in arr_seq j
H_job_cost_positive: job_cost_positive j
t1, t2: instant

busy_interval_ab j t1 t2 -> busy_interval_cl j t1 t2
Task: TaskType
H: TaskCost Task
Job: JobType
H0: JobTask Job Task
H1: JobArrival Job
H2: JobCost Job
arr_seq: arrival_sequence Job
H_valid_arrival_sequence: valid_arrival_sequence arr_seq
sched: schedule (processor_state Job)
H_jobs_come_from_arrival_sequence: jobs_come_from_arrival_sequence sched arr_seq
H_jobs_must_arrive_to_execute: jobs_must_arrive_to_execute sched
H_completed_jobs_dont_execute: completed_jobs_dont_execute sched
H3: JLFP_policy Job
H_priority_is_reflexive: reflexive_priorities
H_priority_is_transitive: transitive_priorities
tsk: Task
H_sequential_tasks: sequential_tasks arr_seq sched
H_JLFP_respects_sequential_tasks: policy_respects_sequential_tasks
quiet_time_cl:= quiet_time arr_seq sched: Job -> instant -> Prop
quiet_time_ab:= definitions.quiet_time sched: Job -> instant -> Prop
busy_interval_prefix_cl:= busy_interval_prefix arr_seq sched: Job -> instant -> instant -> Prop
busy_interval_prefix_ab:= definitions.busy_interval_prefix sched: Job -> instant -> instant -> Prop
busy_interval_cl:= busy_interval arr_seq sched: Job -> instant -> instant -> Prop
busy_interval_ab:= definitions.busy_interval sched: Job -> instant -> instant -> Prop
j: Job
H_j_arrives: arrives_in arr_seq j
H_job_cost_positive: job_cost_positive j
t1, t2: instant

busy_interval_ab j t1 t2 -> busy_interval_cl j t1 t2
Task: TaskType
H: TaskCost Task
Job: JobType
H0: JobTask Job Task
H1: JobArrival Job
H2: JobCost Job
arr_seq: arrival_sequence Job
H_valid_arrival_sequence: valid_arrival_sequence arr_seq
sched: schedule (processor_state Job)
H_jobs_come_from_arrival_sequence: jobs_come_from_arrival_sequence sched arr_seq
H_jobs_must_arrive_to_execute: jobs_must_arrive_to_execute sched
H_completed_jobs_dont_execute: completed_jobs_dont_execute sched
H3: JLFP_policy Job
H_priority_is_reflexive: reflexive_priorities
H_priority_is_transitive: transitive_priorities
tsk: Task
H_sequential_tasks: sequential_tasks arr_seq sched
H_JLFP_respects_sequential_tasks: policy_respects_sequential_tasks
quiet_time_cl:= quiet_time arr_seq sched: Job -> instant -> Prop
quiet_time_ab:= definitions.quiet_time sched: Job -> instant -> Prop
busy_interval_prefix_cl:= busy_interval_prefix arr_seq sched: Job -> instant -> instant -> Prop
busy_interval_prefix_ab:= definitions.busy_interval_prefix sched: Job -> instant -> instant -> Prop
busy_interval_cl:= busy_interval arr_seq sched: Job -> instant -> instant -> Prop
busy_interval_ab:= definitions.busy_interval sched: Job -> instant -> instant -> Prop
j: Job
H_j_arrives: arrives_in arr_seq j
H_job_cost_positive: job_cost_positive j
t1, t2: instant
PREF: definitions.busy_interval_prefix sched j t1 t2
QTt2: definitions.quiet_time sched j t2

busy_interval_prefix arr_seq sched j t1 t2
Task: TaskType
H: TaskCost Task
Job: JobType
H0: JobTask Job Task
H1: JobArrival Job
H2: JobCost Job
arr_seq: arrival_sequence Job
H_valid_arrival_sequence: valid_arrival_sequence arr_seq
sched: schedule (processor_state Job)
H_jobs_come_from_arrival_sequence: jobs_come_from_arrival_sequence sched arr_seq
H_jobs_must_arrive_to_execute: jobs_must_arrive_to_execute sched
H_completed_jobs_dont_execute: completed_jobs_dont_execute sched
H3: JLFP_policy Job
H_priority_is_reflexive: reflexive_priorities
H_priority_is_transitive: transitive_priorities
tsk: Task
H_sequential_tasks: sequential_tasks arr_seq sched
H_JLFP_respects_sequential_tasks: policy_respects_sequential_tasks
quiet_time_cl:= quiet_time arr_seq sched: Job -> instant -> Prop
quiet_time_ab:= definitions.quiet_time sched: Job -> instant -> Prop
busy_interval_prefix_cl:= busy_interval_prefix arr_seq sched: Job -> instant -> instant -> Prop
busy_interval_prefix_ab:= definitions.busy_interval_prefix sched: Job -> instant -> instant -> Prop
busy_interval_cl:= busy_interval arr_seq sched: Job -> instant -> instant -> Prop
busy_interval_ab:= definitions.busy_interval sched: Job -> instant -> instant -> Prop
j: Job
H_j_arrives: arrives_in arr_seq j
H_job_cost_positive: job_cost_positive j
t1, t2: instant
PREF: definitions.busy_interval_prefix sched j t1 t2
QTt2: definitions.quiet_time sched j t2
quiet_time arr_seq sched j t2
Task: TaskType
H: TaskCost Task
Job: JobType
H0: JobTask Job Task
H1: JobArrival Job
H2: JobCost Job
arr_seq: arrival_sequence Job
H_valid_arrival_sequence: valid_arrival_sequence arr_seq
sched: schedule (processor_state Job)
H_jobs_come_from_arrival_sequence: jobs_come_from_arrival_sequence sched arr_seq
H_jobs_must_arrive_to_execute: jobs_must_arrive_to_execute sched
H_completed_jobs_dont_execute: completed_jobs_dont_execute sched
H3: JLFP_policy Job
H_priority_is_reflexive: reflexive_priorities
H_priority_is_transitive: transitive_priorities
tsk: Task
H_sequential_tasks: sequential_tasks arr_seq sched
H_JLFP_respects_sequential_tasks: policy_respects_sequential_tasks
quiet_time_cl:= quiet_time arr_seq sched: Job -> instant -> Prop
quiet_time_ab:= definitions.quiet_time sched: Job -> instant -> Prop
busy_interval_prefix_cl:= busy_interval_prefix arr_seq sched: Job -> instant -> instant -> Prop
busy_interval_prefix_ab:= definitions.busy_interval_prefix sched: Job -> instant -> instant -> Prop
busy_interval_cl:= busy_interval arr_seq sched: Job -> instant -> instant -> Prop
busy_interval_ab:= definitions.busy_interval sched: Job -> instant -> instant -> Prop
j: Job
H_j_arrives: arrives_in arr_seq j
H_job_cost_positive: job_cost_positive j
t1, t2: instant
PREF: definitions.busy_interval_prefix sched j t1 t2
QTt2: definitions.quiet_time sched j t2

busy_interval_prefix arr_seq sched j t1 t2
Task: TaskType
H: TaskCost Task
Job: JobType
H0: JobTask Job Task
H1: JobArrival Job
H2: JobCost Job
arr_seq: arrival_sequence Job
H_valid_arrival_sequence: valid_arrival_sequence arr_seq
sched: schedule (processor_state Job)
H_jobs_come_from_arrival_sequence: jobs_come_from_arrival_sequence sched arr_seq
H_jobs_must_arrive_to_execute: jobs_must_arrive_to_execute sched
H_completed_jobs_dont_execute: completed_jobs_dont_execute sched
H3: JLFP_policy Job
H_priority_is_reflexive: reflexive_priorities
H_priority_is_transitive: transitive_priorities
tsk: Task
H_sequential_tasks: sequential_tasks arr_seq sched
H_JLFP_respects_sequential_tasks: policy_respects_sequential_tasks
quiet_time_cl:= quiet_time arr_seq sched: Job -> instant -> Prop
quiet_time_ab:= definitions.quiet_time sched: Job -> instant -> Prop
busy_interval_prefix_cl:= busy_interval_prefix arr_seq sched: Job -> instant -> instant -> Prop
busy_interval_prefix_ab:= definitions.busy_interval_prefix sched: Job -> instant -> instant -> Prop
busy_interval_cl:= busy_interval arr_seq sched: Job -> instant -> instant -> Prop
busy_interval_ab:= definitions.busy_interval sched: Job -> instant -> instant -> Prop
j: Job
H_j_arrives: arrives_in arr_seq j
H_job_cost_positive: job_cost_positive j
t1, t2: instant
PREF: definitions.busy_interval_prefix sched j t1 t2
QTt2: definitions.quiet_time sched j t2
quiet_time arr_seq sched j t2
Task: TaskType
H: TaskCost Task
Job: JobType
H0: JobTask Job Task
H1: JobArrival Job
H2: JobCost Job
arr_seq: arrival_sequence Job
H_valid_arrival_sequence: valid_arrival_sequence arr_seq
sched: schedule (processor_state Job)
H_jobs_come_from_arrival_sequence: jobs_come_from_arrival_sequence sched arr_seq
H_jobs_must_arrive_to_execute: jobs_must_arrive_to_execute sched
H_completed_jobs_dont_execute: completed_jobs_dont_execute sched
H3: JLFP_policy Job
H_priority_is_reflexive: reflexive_priorities
H_priority_is_transitive: transitive_priorities
tsk: Task
H_sequential_tasks: sequential_tasks arr_seq sched
H_JLFP_respects_sequential_tasks: policy_respects_sequential_tasks
quiet_time_cl:= quiet_time arr_seq sched: Job -> instant -> Prop
quiet_time_ab:= definitions.quiet_time sched: Job -> instant -> Prop
busy_interval_prefix_cl:= busy_interval_prefix arr_seq sched: Job -> instant -> instant -> Prop
busy_interval_prefix_ab:= definitions.busy_interval_prefix sched: Job -> instant -> instant -> Prop
busy_interval_cl:= busy_interval arr_seq sched: Job -> instant -> instant -> Prop
busy_interval_ab:= definitions.busy_interval sched: Job -> instant -> instant -> Prop
j: Job
H_j_arrives: arrives_in arr_seq j
H_job_cost_positive: job_cost_positive j
t1, t2: instant
PREF: definitions.busy_interval_prefix sched j t1 t2
QTt2: definitions.quiet_time sched j t2

quiet_time arr_seq sched j t2
Task: TaskType
H: TaskCost Task
Job: JobType
H0: JobTask Job Task
H1: JobArrival Job
H2: JobCost Job
arr_seq: arrival_sequence Job
H_valid_arrival_sequence: valid_arrival_sequence arr_seq
sched: schedule (processor_state Job)
H_jobs_come_from_arrival_sequence: jobs_come_from_arrival_sequence sched arr_seq
H_jobs_must_arrive_to_execute: jobs_must_arrive_to_execute sched
H_completed_jobs_dont_execute: completed_jobs_dont_execute sched
H3: JLFP_policy Job
H_priority_is_reflexive: reflexive_priorities
H_priority_is_transitive: transitive_priorities
tsk: Task
H_sequential_tasks: sequential_tasks arr_seq sched
H_JLFP_respects_sequential_tasks: policy_respects_sequential_tasks
quiet_time_cl:= quiet_time arr_seq sched: Job -> instant -> Prop
quiet_time_ab:= definitions.quiet_time sched: Job -> instant -> Prop
busy_interval_prefix_cl:= busy_interval_prefix arr_seq sched: Job -> instant -> instant -> Prop
busy_interval_prefix_ab:= definitions.busy_interval_prefix sched: Job -> instant -> instant -> Prop
busy_interval_cl:= busy_interval arr_seq sched: Job -> instant -> instant -> Prop
busy_interval_ab:= definitions.busy_interval sched: Job -> instant -> instant -> Prop
j: Job
H_j_arrives: arrives_in arr_seq j
H_job_cost_positive: job_cost_positive j
t1, t2: instant
PREF: definitions.busy_interval_prefix sched j t1 t2
QTt2: definitions.quiet_time sched j t2

quiet_time arr_seq sched j t2
by eapply instantiated_quiet_time_equivalent_quiet_time; rt_eauto. } Qed. End BusyIntervalEquivalence. End Equivalences. (** In this section we prove some properties about the interference and interfering workload as defined in this file. *) Section I_IW_correctness. (** Consider work-bearing readiness. *) Context `{@JobReady Job (ideal.processor_state Job) _ _}. Hypothesis H_work_bearing_readiness : work_bearing_readiness arr_seq sched. (** Assume that the schedule is valid and work-conserving. *) Hypothesis H_sched_valid : @valid_schedule Job (ideal.processor_state Job) sched _ _ _ arr_seq. (** Note that we differentiate between abstract and classical notions of work-conserving schedule. *) Let work_conserving_ab := definitions.work_conserving arr_seq sched. Let work_conserving_cl := work_conserving.work_conserving arr_seq sched. Let busy_interval_prefix_ab := definitions.busy_interval_prefix sched. (** We assume that the schedule is a work-conserving schedule in the _classical_ sense, and later prove that the hypothesis about abstract work-conservation also holds. *) Hypothesis H_work_conserving : work_conserving_cl. (** Assume the scheduling policy under consideration is reflexive. *) Hypothesis policy_reflexive : reflexive_priorities. (** In this section, we prove the correctness of interference inside the busy interval, i.e., we prove that if interference for a job is [false] then the job is scheduled and vice versa. This property is referred to as abstract work conservation. *) Section Abstract_Work_Conservation. (** Consider a job [j] that is in the arrival sequence and has a positive job cost. *) Variable j : Job. Hypothesis H_arrives : arrives_in arr_seq j. Hypothesis H_job_cost_positive : 0 < job_cost j. (** Let the busy interval of the job be <<[t1,t2)>>. *) Variable t1 t2 : instant. Hypothesis H_busy_interval_prefix : busy_interval_prefix_ab j t1 t2. (** Consider a time [t] inside the busy interval of the job. *) Variable t : instant. Hypothesis H_t_in_busy_interval : t1 <= t < t2. (** First, we prove that if interference is [false] at a time [t] then the job is scheduled. *)
Task: TaskType
H: TaskCost Task
Job: JobType
H0: JobTask Job Task
H1: JobArrival Job
H2: JobCost Job
arr_seq: arrival_sequence Job
H_valid_arrival_sequence: valid_arrival_sequence arr_seq
sched: schedule (processor_state Job)
H_jobs_come_from_arrival_sequence: jobs_come_from_arrival_sequence sched arr_seq
H_jobs_must_arrive_to_execute: jobs_must_arrive_to_execute sched
H_completed_jobs_dont_execute: completed_jobs_dont_execute sched
H3: JLFP_policy Job
H_priority_is_reflexive: reflexive_priorities
H_priority_is_transitive: transitive_priorities
tsk: Task
H_sequential_tasks: sequential_tasks arr_seq sched
H_JLFP_respects_sequential_tasks: policy_respects_sequential_tasks
H4: JobReady Job (processor_state Job)
H_work_bearing_readiness: work_bearing_readiness arr_seq sched
H_sched_valid: valid_schedule sched arr_seq
work_conserving_ab:= work_conserving arr_seq sched: Prop
work_conserving_cl:= work_conserving.work_conserving arr_seq sched: Prop
busy_interval_prefix_ab:= definitions.busy_interval_prefix sched: Job -> instant -> instant -> Prop
H_work_conserving: work_conserving_cl
policy_reflexive: reflexive_priorities
j: Job
H_arrives: arrives_in arr_seq j
H_job_cost_positive: 0 < job_cost j
t1, t2: instant
H_busy_interval_prefix: busy_interval_prefix_ab j t1 t2
t: instant
H_t_in_busy_interval: t1 <= t < t2

~ interference j t -> receives_service_at sched j t
Task: TaskType
H: TaskCost Task
Job: JobType
H0: JobTask Job Task
H1: JobArrival Job
H2: JobCost Job
arr_seq: arrival_sequence Job
H_valid_arrival_sequence: valid_arrival_sequence arr_seq
sched: schedule (processor_state Job)
H_jobs_come_from_arrival_sequence: jobs_come_from_arrival_sequence sched arr_seq
H_jobs_must_arrive_to_execute: jobs_must_arrive_to_execute sched
H_completed_jobs_dont_execute: completed_jobs_dont_execute sched
H3: JLFP_policy Job
H_priority_is_reflexive: reflexive_priorities
H_priority_is_transitive: transitive_priorities
tsk: Task
H_sequential_tasks: sequential_tasks arr_seq sched
H_JLFP_respects_sequential_tasks: policy_respects_sequential_tasks
H4: JobReady Job (processor_state Job)
H_work_bearing_readiness: work_bearing_readiness arr_seq sched
H_sched_valid: valid_schedule sched arr_seq
work_conserving_ab:= work_conserving arr_seq sched: Prop
work_conserving_cl:= work_conserving.work_conserving arr_seq sched: Prop
busy_interval_prefix_ab:= definitions.busy_interval_prefix sched: Job -> instant -> instant -> Prop
H_work_conserving: work_conserving_cl
policy_reflexive: reflexive_priorities
j: Job
H_arrives: arrives_in arr_seq j
H_job_cost_positive: 0 < job_cost j
t1, t2: instant
H_busy_interval_prefix: busy_interval_prefix_ab j t1 t2
t: instant
H_t_in_busy_interval: t1 <= t < t2

~ interference j t -> receives_service_at sched j t
Task: TaskType
H: TaskCost Task
Job: JobType
H0: JobTask Job Task
H1: JobArrival Job
H2: JobCost Job
arr_seq: arrival_sequence Job
H_valid_arrival_sequence: valid_arrival_sequence arr_seq
sched: schedule (processor_state Job)
H_jobs_come_from_arrival_sequence: jobs_come_from_arrival_sequence sched arr_seq
H_jobs_must_arrive_to_execute: jobs_must_arrive_to_execute sched
H_completed_jobs_dont_execute: completed_jobs_dont_execute sched
H3: JLFP_policy Job
H_priority_is_reflexive: reflexive_priorities
H_priority_is_transitive: transitive_priorities
tsk: Task
H_sequential_tasks: sequential_tasks arr_seq sched
H_JLFP_respects_sequential_tasks: policy_respects_sequential_tasks
H4: JobReady Job (processor_state Job)
H_work_bearing_readiness: work_bearing_readiness arr_seq sched
H_sched_valid: valid_schedule sched arr_seq
work_conserving_ab:= work_conserving arr_seq sched: Prop
work_conserving_cl:= work_conserving.work_conserving arr_seq sched: Prop
busy_interval_prefix_ab:= definitions.busy_interval_prefix sched: Job -> instant -> instant -> Prop
H_work_conserving: work_conserving_cl
policy_reflexive: reflexive_priorities
j: Job
H_arrives: arrives_in arr_seq j
H_job_cost_positive: 0 < job_cost j
t1, t2: instant
H_busy_interval_prefix: busy_interval_prefix_ab j t1 t2
t: instant
H_t_in_busy_interval: t1 <= t < t2

~~ interference j t -> receives_service_at sched j t
Task: TaskType
H: TaskCost Task
Job: JobType
H0: JobTask Job Task
H1: JobArrival Job
H2: JobCost Job
arr_seq: arrival_sequence Job
H_valid_arrival_sequence: valid_arrival_sequence arr_seq
sched: schedule (processor_state Job)
H_jobs_come_from_arrival_sequence: jobs_come_from_arrival_sequence sched arr_seq
H_jobs_must_arrive_to_execute: jobs_must_arrive_to_execute sched
H_completed_jobs_dont_execute: completed_jobs_dont_execute sched
H3: JLFP_policy Job
H_priority_is_reflexive: reflexive_priorities
H_priority_is_transitive: transitive_priorities
tsk: Task
H_sequential_tasks: sequential_tasks arr_seq sched
H_JLFP_respects_sequential_tasks: policy_respects_sequential_tasks
H4: JobReady Job (processor_state Job)
H_work_bearing_readiness: work_bearing_readiness arr_seq sched
H_sched_valid: valid_schedule sched arr_seq
work_conserving_ab:= work_conserving arr_seq sched: Prop
work_conserving_cl:= work_conserving.work_conserving arr_seq sched: Prop
busy_interval_prefix_ab:= definitions.busy_interval_prefix sched: Job -> instant -> instant -> Prop
H_work_conserving: work_conserving_cl
policy_reflexive: reflexive_priorities
j: Job
H_arrives: arrives_in arr_seq j
H_job_cost_positive: 0 < job_cost j
t1, t2: instant
H_busy_interval_prefix: busy_interval_prefix_ab j t1 t2
t: instant
H_t_in_busy_interval: t1 <= t < t2

~~ priority_inversion_dec arr_seq sched j t && ~~ another_hep_job_interference_dec j t -> receives_service_at sched j t
Task: TaskType
H: TaskCost Task
Job: JobType
H0: JobTask Job Task
H1: JobArrival Job
H2: JobCost Job
arr_seq: arrival_sequence Job
H_valid_arrival_sequence: valid_arrival_sequence arr_seq
sched: schedule (processor_state Job)
H_jobs_come_from_arrival_sequence: jobs_come_from_arrival_sequence sched arr_seq
H_jobs_must_arrive_to_execute: jobs_must_arrive_to_execute sched
H_completed_jobs_dont_execute: completed_jobs_dont_execute sched
H3: JLFP_policy Job
H_priority_is_reflexive: reflexive_priorities
H_priority_is_transitive: transitive_priorities
tsk: Task
H_sequential_tasks: sequential_tasks arr_seq sched
H_JLFP_respects_sequential_tasks: policy_respects_sequential_tasks
H4: JobReady Job (processor_state Job)
H_work_bearing_readiness: work_bearing_readiness arr_seq sched
H_sched_valid: valid_schedule sched arr_seq
work_conserving_ab:= work_conserving arr_seq sched: Prop
work_conserving_cl:= work_conserving.work_conserving arr_seq sched: Prop
busy_interval_prefix_ab:= definitions.busy_interval_prefix sched: Job -> instant -> instant -> Prop
H_work_conserving: work_conserving_cl
policy_reflexive: reflexive_priorities
j: Job
H_arrives: arrives_in arr_seq j
H_job_cost_positive: 0 < job_cost j
t1, t2: instant
H_busy_interval_prefix: busy_interval_prefix_ab j t1 t2
t: instant
H_t_in_busy_interval: t1 <= t < t2
HYP1: ~~ priority_inversion_dec arr_seq sched j t
HYP2: ~~ another_hep_job_interference_dec j t

receives_service_at sched j t
Task: TaskType
H: TaskCost Task
Job: JobType
H0: JobTask Job Task
H1: JobArrival Job
H2: JobCost Job
arr_seq: arrival_sequence Job
H_valid_arrival_sequence: valid_arrival_sequence arr_seq
sched: schedule (processor_state Job)
H_jobs_come_from_arrival_sequence: jobs_come_from_arrival_sequence sched arr_seq
H_jobs_must_arrive_to_execute: jobs_must_arrive_to_execute sched
H_completed_jobs_dont_execute: completed_jobs_dont_execute sched
H3: JLFP_policy Job
H_priority_is_reflexive: reflexive_priorities
H_priority_is_transitive: transitive_priorities
tsk: Task
H_sequential_tasks: sequential_tasks arr_seq sched
H_JLFP_respects_sequential_tasks: policy_respects_sequential_tasks
H4: JobReady Job (processor_state Job)
H_work_bearing_readiness: work_bearing_readiness arr_seq sched
H_sched_valid: valid_schedule sched arr_seq
work_conserving_ab:= work_conserving arr_seq sched: Prop
work_conserving_cl:= work_conserving.work_conserving arr_seq sched: Prop
busy_interval_prefix_ab:= definitions.busy_interval_prefix sched: Job -> instant -> instant -> Prop
H_work_conserving: work_conserving_cl
policy_reflexive: reflexive_priorities
j: Job
H_arrives: arrives_in arr_seq j
H_job_cost_positive: 0 < job_cost j
t1, t2: instant
H_busy_interval_prefix: busy_interval_prefix_ab j t1 t2
t: instant
H_t_in_busy_interval: t1 <= t < t2
HYP1: ~~ priority_inversion_dec arr_seq sched j t
HYP2: ~~ another_hep_job_interference_dec j t
Idle: is_idle sched t
EqIdle: sched t = None

receives_service_at sched j t
Task: TaskType
H: TaskCost Task
Job: JobType
H0: JobTask Job Task
H1: JobArrival Job
H2: JobCost Job
arr_seq: arrival_sequence Job
H_valid_arrival_sequence: valid_arrival_sequence arr_seq
sched: schedule (processor_state Job)
H_jobs_come_from_arrival_sequence: jobs_come_from_arrival_sequence sched arr_seq
H_jobs_must_arrive_to_execute: jobs_must_arrive_to_execute sched
H_completed_jobs_dont_execute: completed_jobs_dont_execute sched
H3: JLFP_policy Job
H_priority_is_reflexive: reflexive_priorities
H_priority_is_transitive: transitive_priorities
tsk: Task
H_sequential_tasks: sequential_tasks arr_seq sched
H_JLFP_respects_sequential_tasks: policy_respects_sequential_tasks
H4: JobReady Job (processor_state Job)
H_work_bearing_readiness: work_bearing_readiness arr_seq sched
H_sched_valid: valid_schedule sched arr_seq
work_conserving_ab:= work_conserving arr_seq sched: Prop
work_conserving_cl:= work_conserving.work_conserving arr_seq sched: Prop
busy_interval_prefix_ab:= definitions.busy_interval_prefix sched: Job -> instant -> instant -> Prop
H_work_conserving: work_conserving_cl
policy_reflexive: reflexive_priorities
j: Job
H_arrives: arrives_in arr_seq j
H_job_cost_positive: 0 < job_cost j
t1, t2: instant
H_busy_interval_prefix: busy_interval_prefix_ab j t1 t2
t: instant
H_t_in_busy_interval: t1 <= t < t2
HYP1: ~~ priority_inversion_dec arr_seq sched j t
HYP2: ~~ another_hep_job_interference_dec j t
jo: Job
Sched_jo: scheduled_at sched jo t
EqSched_jo: #|[pred x | let 'FiniteQuant.Quantified F := FiniteQuant.ex (T:=Core) (, scheduled_on jo (sched t) x) x x in F]| <> 0
receives_service_at sched j t
Task: TaskType
H: TaskCost Task
Job: JobType
H0: JobTask Job Task
H1: JobArrival Job
H2: JobCost Job
arr_seq: arrival_sequence Job
H_valid_arrival_sequence: valid_arrival_sequence arr_seq
sched: schedule (processor_state Job)
H_jobs_come_from_arrival_sequence: jobs_come_from_arrival_sequence sched arr_seq
H_jobs_must_arrive_to_execute: jobs_must_arrive_to_execute sched
H_completed_jobs_dont_execute: completed_jobs_dont_execute sched
H3: JLFP_policy Job
H_priority_is_reflexive: reflexive_priorities
H_priority_is_transitive: transitive_priorities
tsk: Task
H_sequential_tasks: sequential_tasks arr_seq sched
H_JLFP_respects_sequential_tasks: policy_respects_sequential_tasks
H4: JobReady Job (processor_state Job)
H_work_bearing_readiness: work_bearing_readiness arr_seq sched
H_sched_valid: valid_schedule sched arr_seq
work_conserving_ab:= work_conserving arr_seq sched: Prop
work_conserving_cl:= work_conserving.work_conserving arr_seq sched: Prop
busy_interval_prefix_ab:= definitions.busy_interval_prefix sched: Job -> instant -> instant -> Prop
H_work_conserving: work_conserving_cl
policy_reflexive: reflexive_priorities
j: Job
H_arrives: arrives_in arr_seq j
H_job_cost_positive: 0 < job_cost j
t1, t2: instant
H_busy_interval_prefix: busy_interval_prefix_ab j t1 t2
t: instant
H_t_in_busy_interval: t1 <= t < t2
HYP1: ~~ priority_inversion_dec arr_seq sched j t
HYP2: ~~ another_hep_job_interference_dec j t
Idle: is_idle sched t
EqIdle: sched t = None

receives_service_at sched j t
Task: TaskType
H: TaskCost Task
Job: JobType
H0: JobTask Job Task
H1: JobArrival Job
H2: JobCost Job
arr_seq: arrival_sequence Job
H_valid_arrival_sequence: valid_arrival_sequence arr_seq
sched: schedule (processor_state Job)
H_jobs_come_from_arrival_sequence: jobs_come_from_arrival_sequence sched arr_seq
H_jobs_must_arrive_to_execute: jobs_must_arrive_to_execute sched
H_completed_jobs_dont_execute: completed_jobs_dont_execute sched
H3: JLFP_policy Job
H_priority_is_reflexive: reflexive_priorities
H_priority_is_transitive: transitive_priorities
tsk: Task
H_sequential_tasks: sequential_tasks arr_seq sched
H_JLFP_respects_sequential_tasks: policy_respects_sequential_tasks
H4: JobReady Job (processor_state Job)
H_work_bearing_readiness: work_bearing_readiness arr_seq sched
H_sched_valid: valid_schedule sched arr_seq
work_conserving_ab:= work_conserving arr_seq sched: Prop
work_conserving_cl:= work_conserving.work_conserving arr_seq sched: Prop
busy_interval_prefix_ab:= definitions.busy_interval_prefix sched: Job -> instant -> instant -> Prop
H_work_conserving: work_conserving_cl
policy_reflexive: reflexive_priorities
j: Job
H_arrives: arrives_in arr_seq j
H_job_cost_positive: 0 < job_cost j
t1, t2: instant
H_busy_interval_prefix: busy_interval_prefix_ab j t1 t2
t: instant
H_t_in_busy_interval: t1 <= t < t2
Idle: is_idle sched t
EqIdle: sched t = None

False
Task: TaskType
H: TaskCost Task
Job: JobType
H0: JobTask Job Task
H1: JobArrival Job
H2: JobCost Job
arr_seq: arrival_sequence Job
H_valid_arrival_sequence: valid_arrival_sequence arr_seq
sched: schedule (processor_state Job)
H_jobs_come_from_arrival_sequence: jobs_come_from_arrival_sequence sched arr_seq
H_jobs_must_arrive_to_execute: jobs_must_arrive_to_execute sched
H_completed_jobs_dont_execute: completed_jobs_dont_execute sched
H3: JLFP_policy Job
H_priority_is_reflexive: reflexive_priorities
H_priority_is_transitive: transitive_priorities
tsk: Task
H_sequential_tasks: sequential_tasks arr_seq sched
H_JLFP_respects_sequential_tasks: policy_respects_sequential_tasks
H4: JobReady Job (processor_state Job)
H_work_bearing_readiness: work_bearing_readiness arr_seq sched
H_sched_valid: valid_schedule sched arr_seq
work_conserving_ab:= work_conserving arr_seq sched: Prop
work_conserving_cl:= work_conserving.work_conserving arr_seq sched: Prop
busy_interval_prefix_ab:= definitions.busy_interval_prefix sched: Job -> instant -> instant -> Prop
H_work_conserving: work_conserving_cl
policy_reflexive: reflexive_priorities
j: Job
H_arrives: arrives_in arr_seq j
H_job_cost_positive: 0 < job_cost j
t1, t2: instant
H_busy_interval_prefix: busy_interval_prefix arr_seq sched j t1 t2
t: instant
H_t_in_busy_interval: t1 <= t < t2
Idle: is_idle sched t
EqIdle: sched t = None

False
by eapply not_quiet_implies_not_idle; rt_eauto.
Task: TaskType
H: TaskCost Task
Job: JobType
H0: JobTask Job Task
H1: JobArrival Job
H2: JobCost Job
arr_seq: arrival_sequence Job
H_valid_arrival_sequence: valid_arrival_sequence arr_seq
sched: schedule (processor_state Job)
H_jobs_come_from_arrival_sequence: jobs_come_from_arrival_sequence sched arr_seq
H_jobs_must_arrive_to_execute: jobs_must_arrive_to_execute sched
H_completed_jobs_dont_execute: completed_jobs_dont_execute sched
H3: JLFP_policy Job
H_priority_is_reflexive: reflexive_priorities
H_priority_is_transitive: transitive_priorities
tsk: Task
H_sequential_tasks: sequential_tasks arr_seq sched
H_JLFP_respects_sequential_tasks: policy_respects_sequential_tasks
H4: JobReady Job (processor_state Job)
H_work_bearing_readiness: work_bearing_readiness arr_seq sched
H_sched_valid: valid_schedule sched arr_seq
work_conserving_ab:= work_conserving arr_seq sched: Prop
work_conserving_cl:= work_conserving.work_conserving arr_seq sched: Prop
busy_interval_prefix_ab:= definitions.busy_interval_prefix sched: Job -> instant -> instant -> Prop
H_work_conserving: work_conserving_cl
policy_reflexive: reflexive_priorities
j: Job
H_arrives: arrives_in arr_seq j
H_job_cost_positive: 0 < job_cost j
t1, t2: instant
H_busy_interval_prefix: busy_interval_prefix_ab j t1 t2
t: instant
H_t_in_busy_interval: t1 <= t < t2
HYP1: ~~ priority_inversion_dec arr_seq sched j t
HYP2: ~~ another_hep_job_interference_dec j t
jo: Job
Sched_jo: scheduled_at sched jo t
EqSched_jo: #|[pred x | let 'FiniteQuant.Quantified F := FiniteQuant.ex (T:=Core) (, scheduled_on jo (sched t) x) x x in F]| <> 0

receives_service_at sched j t
Task: TaskType
H: TaskCost Task
Job: JobType
H0: JobTask Job Task
H1: JobArrival Job
H2: JobCost Job
arr_seq: arrival_sequence Job
H_valid_arrival_sequence: valid_arrival_sequence arr_seq
sched: schedule (processor_state Job)
H_jobs_come_from_arrival_sequence: jobs_come_from_arrival_sequence sched arr_seq
H_jobs_must_arrive_to_execute: jobs_must_arrive_to_execute sched
H_completed_jobs_dont_execute: completed_jobs_dont_execute sched
H3: JLFP_policy Job
H_priority_is_reflexive: reflexive_priorities
H_priority_is_transitive: transitive_priorities
tsk: Task
H_sequential_tasks: sequential_tasks arr_seq sched
H_JLFP_respects_sequential_tasks: policy_respects_sequential_tasks
H4: JobReady Job (processor_state Job)
H_work_bearing_readiness: work_bearing_readiness arr_seq sched
H_sched_valid: valid_schedule sched arr_seq
work_conserving_ab:= work_conserving arr_seq sched: Prop
work_conserving_cl:= work_conserving.work_conserving arr_seq sched: Prop
busy_interval_prefix_ab:= definitions.busy_interval_prefix sched: Job -> instant -> instant -> Prop
H_work_conserving: work_conserving_cl
policy_reflexive: reflexive_priorities
j: Job
H_arrives: arrives_in arr_seq j
H_job_cost_positive: 0 < job_cost j
t1, t2: instant
H_busy_interval_prefix: busy_interval_prefix_ab j t1 t2
t: instant
H_t_in_busy_interval: t1 <= t < t2
HYP1: ~~ priority_inversion_dec arr_seq sched j t
HYP2: ~~ another_hep_job_interference_dec j t
jo: Job
Sched_jo: scheduled_at sched jo t
EqSched_jo: #|[pred x | let 'FiniteQuant.Quantified F := FiniteQuant.ex (T:=Core) (, scheduled_on jo (sched t) x) x x in F]| <> 0

receives_service_at sched j t
Task: TaskType
H: TaskCost Task
Job: JobType
H0: JobTask Job Task
H1: JobArrival Job
H2: JobCost Job
arr_seq: arrival_sequence Job
H_valid_arrival_sequence: valid_arrival_sequence arr_seq
sched: schedule (processor_state Job)
H_jobs_come_from_arrival_sequence: jobs_come_from_arrival_sequence sched arr_seq
H_jobs_must_arrive_to_execute: jobs_must_arrive_to_execute sched
H_completed_jobs_dont_execute: completed_jobs_dont_execute sched
H3: JLFP_policy Job
H_priority_is_reflexive: reflexive_priorities
H_priority_is_transitive: transitive_priorities
tsk: Task
H_sequential_tasks: sequential_tasks arr_seq sched
H_JLFP_respects_sequential_tasks: policy_respects_sequential_tasks
H4: JobReady Job (processor_state Job)
H_work_bearing_readiness: work_bearing_readiness arr_seq sched
H_sched_valid: valid_schedule sched arr_seq
work_conserving_ab:= work_conserving arr_seq sched: Prop
work_conserving_cl:= work_conserving.work_conserving arr_seq sched: Prop
busy_interval_prefix_ab:= definitions.busy_interval_prefix sched: Job -> instant -> instant -> Prop
H_work_conserving: work_conserving_cl
policy_reflexive: reflexive_priorities
j: Job
H_arrives: arrives_in arr_seq j
H_job_cost_positive: 0 < job_cost j
t1, t2: instant
H_busy_interval_prefix: busy_interval_prefix_ab j t1 t2
t: instant
H_t_in_busy_interval: t1 <= t < t2
HYP2: ~~ another_hep_job_interference_dec j t
jo: Job
Sched_jo: scheduled_at sched jo t
EqSched_jo: #|[pred x | let 'FiniteQuant.Quantified F := FiniteQuant.ex (T:=Core) (, scheduled_on jo (sched t) x) x x in F]| <> 0
PINV: ~ priority_inversion sched j t

receives_service_at sched j t
Task: TaskType
H: TaskCost Task
Job: JobType
H0: JobTask Job Task
H1: JobArrival Job
H2: JobCost Job
arr_seq: arrival_sequence Job
H_valid_arrival_sequence: valid_arrival_sequence arr_seq
sched: schedule (processor_state Job)
H_jobs_come_from_arrival_sequence: jobs_come_from_arrival_sequence sched arr_seq
H_jobs_must_arrive_to_execute: jobs_must_arrive_to_execute sched
H_completed_jobs_dont_execute: completed_jobs_dont_execute sched
H3: JLFP_policy Job
H_priority_is_reflexive: reflexive_priorities
H_priority_is_transitive: transitive_priorities
tsk: Task
H_sequential_tasks: sequential_tasks arr_seq sched
H_JLFP_respects_sequential_tasks: policy_respects_sequential_tasks
H4: JobReady Job (processor_state Job)
H_work_bearing_readiness: work_bearing_readiness arr_seq sched
H_sched_valid: valid_schedule sched arr_seq
work_conserving_ab:= work_conserving arr_seq sched: Prop
work_conserving_cl:= work_conserving.work_conserving arr_seq sched: Prop
busy_interval_prefix_ab:= definitions.busy_interval_prefix sched: Job -> instant -> instant -> Prop
H_work_conserving: work_conserving_cl
policy_reflexive: reflexive_priorities
j: Job
H_arrives: arrives_in arr_seq j
H_job_cost_positive: 0 < job_cost j
t1, t2: instant
H_busy_interval_prefix: busy_interval_prefix_ab j t1 t2
t: instant
H_t_in_busy_interval: t1 <= t < t2
jo: Job
Sched_jo: scheduled_at sched jo t
EqSched_jo: #|[pred x | let 'FiniteQuant.Quantified F := FiniteQuant.ex (T:=Core) (, scheduled_on jo (sched t) x) x x in F]| <> 0
PINV: ~ priority_inversion sched j t
INT: ~ another_hep_job_interference j t

receives_service_at sched j t
Task: TaskType
H: TaskCost Task
Job: JobType
H0: JobTask Job Task
H1: JobArrival Job
H2: JobCost Job
arr_seq: arrival_sequence Job
H_valid_arrival_sequence: valid_arrival_sequence arr_seq
sched: schedule (processor_state Job)
H_jobs_come_from_arrival_sequence: jobs_come_from_arrival_sequence sched arr_seq
H_jobs_must_arrive_to_execute: jobs_must_arrive_to_execute sched
H_completed_jobs_dont_execute: completed_jobs_dont_execute sched
H3: JLFP_policy Job
H_priority_is_reflexive: reflexive_priorities
H_priority_is_transitive: transitive_priorities
tsk: Task
H_sequential_tasks: sequential_tasks arr_seq sched
H_JLFP_respects_sequential_tasks: policy_respects_sequential_tasks
H4: JobReady Job (processor_state Job)
H_work_bearing_readiness: work_bearing_readiness arr_seq sched
H_sched_valid: valid_schedule sched arr_seq
work_conserving_ab:= work_conserving arr_seq sched: Prop
work_conserving_cl:= work_conserving.work_conserving arr_seq sched: Prop
busy_interval_prefix_ab:= definitions.busy_interval_prefix sched: Job -> instant -> instant -> Prop
H_work_conserving: work_conserving_cl
policy_reflexive: reflexive_priorities
j: Job
H_arrives: arrives_in arr_seq j
H_job_cost_positive: 0 < job_cost j
t1, t2: instant
H_busy_interval_prefix: busy_interval_prefix_ab j t1 t2
t: instant
H_t_in_busy_interval: t1 <= t < t2
jo: Job
Sched_jo: scheduled_at sched jo t
EqSched_jo: #|[pred x | let 'FiniteQuant.Quantified F := FiniteQuant.ex (T:=Core) (, scheduled_on jo (sched t) x) x x in F]| <> 0
PINV: ~ priority_inversion sched j t
INT: ~ another_hep_job jo j

receives_service_at sched j t
Task: TaskType
H: TaskCost Task
Job: JobType
H0: JobTask Job Task
H1: JobArrival Job
H2: JobCost Job
arr_seq: arrival_sequence Job
H_valid_arrival_sequence: valid_arrival_sequence arr_seq
sched: schedule (processor_state Job)
H_jobs_come_from_arrival_sequence: jobs_come_from_arrival_sequence sched arr_seq
H_jobs_must_arrive_to_execute: jobs_must_arrive_to_execute sched
H_completed_jobs_dont_execute: completed_jobs_dont_execute sched
H3: JLFP_policy Job
H_priority_is_reflexive: reflexive_priorities
H_priority_is_transitive: transitive_priorities
tsk: Task
H_sequential_tasks: sequential_tasks arr_seq sched
H_JLFP_respects_sequential_tasks: policy_respects_sequential_tasks
H4: JobReady Job (processor_state Job)
H_work_bearing_readiness: work_bearing_readiness arr_seq sched
H_sched_valid: valid_schedule sched arr_seq
work_conserving_ab:= work_conserving arr_seq sched: Prop
work_conserving_cl:= work_conserving.work_conserving arr_seq sched: Prop
busy_interval_prefix_ab:= definitions.busy_interval_prefix sched: Job -> instant -> instant -> Prop
H_work_conserving: work_conserving_cl
policy_reflexive: reflexive_priorities
j: Job
H_arrives: arrives_in arr_seq j
H_job_cost_positive: 0 < job_cost j
t1, t2: instant
H_busy_interval_prefix: busy_interval_prefix_ab j t1 t2
t: instant
H_t_in_busy_interval: t1 <= t < t2
jo: Job
Sched_jo: scheduled_at sched jo t
EqSched_jo: #|[pred x | let 'FiniteQuant.Quantified F := FiniteQuant.ex (T:=Core) (, scheduled_on jo (sched t) x) x x in F]| <> 0
PINV: ~ priority_inversion sched j t

~~ another_hep_job jo j -> receives_service_at sched j t
Task: TaskType
H: TaskCost Task
Job: JobType
H0: JobTask Job Task
H1: JobArrival Job
H2: JobCost Job
arr_seq: arrival_sequence Job
H_valid_arrival_sequence: valid_arrival_sequence arr_seq
sched: schedule (processor_state Job)
H_jobs_come_from_arrival_sequence: jobs_come_from_arrival_sequence sched arr_seq
H_jobs_must_arrive_to_execute: jobs_must_arrive_to_execute sched
H_completed_jobs_dont_execute: completed_jobs_dont_execute sched
H3: JLFP_policy Job
H_priority_is_reflexive: reflexive_priorities
H_priority_is_transitive: transitive_priorities
tsk: Task
H_sequential_tasks: sequential_tasks arr_seq sched
H_JLFP_respects_sequential_tasks: policy_respects_sequential_tasks
H4: JobReady Job (processor_state Job)
H_work_bearing_readiness: work_bearing_readiness arr_seq sched
H_sched_valid: valid_schedule sched arr_seq
work_conserving_ab:= work_conserving arr_seq sched: Prop
work_conserving_cl:= work_conserving.work_conserving arr_seq sched: Prop
busy_interval_prefix_ab:= definitions.busy_interval_prefix sched: Job -> instant -> instant -> Prop
H_work_conserving: work_conserving_cl
policy_reflexive: reflexive_priorities
j: Job
H_arrives: arrives_in arr_seq j
H_job_cost_positive: 0 < job_cost j
t1, t2: instant
H_busy_interval_prefix: busy_interval_prefix_ab j t1 t2
t: instant
H_t_in_busy_interval: t1 <= t < t2
jo: Job
Sched_jo: scheduled_at sched jo t
EqSched_jo: #|[pred x | let 'FiniteQuant.Quantified F := FiniteQuant.ex (T:=Core) (, scheduled_on jo (sched t) x) x x in F]| <> 0
PINV: ~ priority_inversion sched j t
NHEP: ~~ hep_job jo j

receives_service_at sched j t
Task: TaskType
H: TaskCost Task
Job: JobType
H0: JobTask Job Task
H1: JobArrival Job
H2: JobCost Job
arr_seq: arrival_sequence Job
H_valid_arrival_sequence: valid_arrival_sequence arr_seq
sched: schedule (processor_state Job)
H_jobs_come_from_arrival_sequence: jobs_come_from_arrival_sequence sched arr_seq
H_jobs_must_arrive_to_execute: jobs_must_arrive_to_execute sched
H_completed_jobs_dont_execute: completed_jobs_dont_execute sched
H3: JLFP_policy Job
H_priority_is_reflexive: reflexive_priorities
H_priority_is_transitive: transitive_priorities
tsk: Task
H_sequential_tasks: sequential_tasks arr_seq sched
H_JLFP_respects_sequential_tasks: policy_respects_sequential_tasks
H4: JobReady Job (processor_state Job)
H_work_bearing_readiness: work_bearing_readiness arr_seq sched
H_sched_valid: valid_schedule sched arr_seq
work_conserving_ab:= work_conserving arr_seq sched: Prop
work_conserving_cl:= work_conserving.work_conserving arr_seq sched: Prop
busy_interval_prefix_ab:= definitions.busy_interval_prefix sched: Job -> instant -> instant -> Prop
H_work_conserving: work_conserving_cl
policy_reflexive: reflexive_priorities
j: Job
H_arrives: arrives_in arr_seq j
H_job_cost_positive: 0 < job_cost j
t1, t2: instant
H_busy_interval_prefix: busy_interval_prefix_ab j t1 t2
t: instant
H_t_in_busy_interval: t1 <= t < t2
jo: Job
Sched_jo: scheduled_at sched jo t
EqSched_jo: #|[pred x | let 'FiniteQuant.Quantified F := FiniteQuant.ex (T:=Core) (, scheduled_on jo (sched t) x) x x in F]| <> 0
PINV: ~ priority_inversion sched j t
EQ: ~~ (jo != j)
receives_service_at sched j t
Task: TaskType
H: TaskCost Task
Job: JobType
H0: JobTask Job Task
H1: JobArrival Job
H2: JobCost Job
arr_seq: arrival_sequence Job
H_valid_arrival_sequence: valid_arrival_sequence arr_seq
sched: schedule (processor_state Job)
H_jobs_come_from_arrival_sequence: jobs_come_from_arrival_sequence sched arr_seq
H_jobs_must_arrive_to_execute: jobs_must_arrive_to_execute sched
H_completed_jobs_dont_execute: completed_jobs_dont_execute sched
H3: JLFP_policy Job
H_priority_is_reflexive: reflexive_priorities
H_priority_is_transitive: transitive_priorities
tsk: Task
H_sequential_tasks: sequential_tasks arr_seq sched
H_JLFP_respects_sequential_tasks: policy_respects_sequential_tasks
H4: JobReady Job (processor_state Job)
H_work_bearing_readiness: work_bearing_readiness arr_seq sched
H_sched_valid: valid_schedule sched arr_seq
work_conserving_ab:= work_conserving arr_seq sched: Prop
work_conserving_cl:= work_conserving.work_conserving arr_seq sched: Prop
busy_interval_prefix_ab:= definitions.busy_interval_prefix sched: Job -> instant -> instant -> Prop
H_work_conserving: work_conserving_cl
policy_reflexive: reflexive_priorities
j: Job
H_arrives: arrives_in arr_seq j
H_job_cost_positive: 0 < job_cost j
t1, t2: instant
H_busy_interval_prefix: busy_interval_prefix_ab j t1 t2
t: instant
H_t_in_busy_interval: t1 <= t < t2
jo: Job
Sched_jo: scheduled_at sched jo t
EqSched_jo: #|[pred x | let 'FiniteQuant.Quantified F := FiniteQuant.ex (T:=Core) (, scheduled_on jo (sched t) x) x x in F]| <> 0
PINV: ~ priority_inversion sched j t
NHEP: ~~ hep_job jo j

receives_service_at sched j t
Task: TaskType
H: TaskCost Task
Job: JobType
H0: JobTask Job Task
H1: JobArrival Job
H2: JobCost Job
arr_seq: arrival_sequence Job
H_valid_arrival_sequence: valid_arrival_sequence arr_seq
sched: schedule (processor_state Job)
H_jobs_come_from_arrival_sequence: jobs_come_from_arrival_sequence sched arr_seq
H_jobs_must_arrive_to_execute: jobs_must_arrive_to_execute sched
H_completed_jobs_dont_execute: completed_jobs_dont_execute sched
H3: JLFP_policy Job
H_priority_is_reflexive: reflexive_priorities
H_priority_is_transitive: transitive_priorities
tsk: Task
H_sequential_tasks: sequential_tasks arr_seq sched
H_JLFP_respects_sequential_tasks: policy_respects_sequential_tasks
H4: JobReady Job (processor_state Job)
H_work_bearing_readiness: work_bearing_readiness arr_seq sched
H_sched_valid: valid_schedule sched arr_seq
work_conserving_ab:= work_conserving arr_seq sched: Prop
work_conserving_cl:= work_conserving.work_conserving arr_seq sched: Prop
busy_interval_prefix_ab:= definitions.busy_interval_prefix sched: Job -> instant -> instant -> Prop
H_work_conserving: work_conserving_cl
policy_reflexive: reflexive_priorities
j: Job
H_arrives: arrives_in arr_seq j
H_job_cost_positive: 0 < job_cost j
t1, t2: instant
H_busy_interval_prefix: busy_interval_prefix_ab j t1 t2
t: instant
H_t_in_busy_interval: t1 <= t < t2
jo: Job
Sched_jo: scheduled_at sched jo t
EqSched_jo: #|[pred x | let 'FiniteQuant.Quantified F := FiniteQuant.ex (T:=Core) (, scheduled_on jo (sched t) x) x x in F]| <> 0
PINV: ~ priority_inversion sched j t
EQ: ~~ (jo != j)
receives_service_at sched j t
Task: TaskType
H: TaskCost Task
Job: JobType
H0: JobTask Job Task
H1: JobArrival Job
H2: JobCost Job
arr_seq: arrival_sequence Job
H_valid_arrival_sequence: valid_arrival_sequence arr_seq
sched: schedule (processor_state Job)
H_jobs_come_from_arrival_sequence: jobs_come_from_arrival_sequence sched arr_seq
H_jobs_must_arrive_to_execute: jobs_must_arrive_to_execute sched
H_completed_jobs_dont_execute: completed_jobs_dont_execute sched
H3: JLFP_policy Job
H_priority_is_reflexive: reflexive_priorities
H_priority_is_transitive: transitive_priorities
tsk: Task
H_sequential_tasks: sequential_tasks arr_seq sched
H_JLFP_respects_sequential_tasks: policy_respects_sequential_tasks
H4: JobReady Job (processor_state Job)
H_work_bearing_readiness: work_bearing_readiness arr_seq sched
H_sched_valid: valid_schedule sched arr_seq
work_conserving_ab:= work_conserving arr_seq sched: Prop
work_conserving_cl:= work_conserving.work_conserving arr_seq sched: Prop
busy_interval_prefix_ab:= definitions.busy_interval_prefix sched: Job -> instant -> instant -> Prop
H_work_conserving: work_conserving_cl
policy_reflexive: reflexive_priorities
j: Job
H_arrives: arrives_in arr_seq j
H_job_cost_positive: 0 < job_cost j
t1, t2: instant
H_busy_interval_prefix: busy_interval_prefix_ab j t1 t2
t: instant
H_t_in_busy_interval: t1 <= t < t2
jo: Job
Sched_jo: scheduled_at sched jo t
EqSched_jo: #|[pred x | let 'FiniteQuant.Quantified F := FiniteQuant.ex (T:=Core) (, scheduled_on jo (sched t) x) x x in F]| <> 0
PINV: ~ priority_inversion sched j t
NHEP: ~~ hep_job jo j
ZS: service_at sched j t = 0

False
Task: TaskType
H: TaskCost Task
Job: JobType
H0: JobTask Job Task
H1: JobArrival Job
H2: JobCost Job
arr_seq: arrival_sequence Job
H_valid_arrival_sequence: valid_arrival_sequence arr_seq
sched: schedule (processor_state Job)
H_jobs_come_from_arrival_sequence: jobs_come_from_arrival_sequence sched arr_seq
H_jobs_must_arrive_to_execute: jobs_must_arrive_to_execute sched
H_completed_jobs_dont_execute: completed_jobs_dont_execute sched
H3: JLFP_policy Job
H_priority_is_reflexive: reflexive_priorities
H_priority_is_transitive: transitive_priorities
tsk: Task
H_sequential_tasks: sequential_tasks arr_seq sched
H_JLFP_respects_sequential_tasks: policy_respects_sequential_tasks
H4: JobReady Job (processor_state Job)
H_work_bearing_readiness: work_bearing_readiness arr_seq sched
H_sched_valid: valid_schedule sched arr_seq
work_conserving_ab:= work_conserving arr_seq sched: Prop
work_conserving_cl:= work_conserving.work_conserving arr_seq sched: Prop
busy_interval_prefix_ab:= definitions.busy_interval_prefix sched: Job -> instant -> instant -> Prop
H_work_conserving: work_conserving_cl
policy_reflexive: reflexive_priorities
j: Job
H_arrives: arrives_in arr_seq j
H_job_cost_positive: 0 < job_cost j
t1, t2: instant
H_busy_interval_prefix: busy_interval_prefix_ab j t1 t2
t: instant
H_t_in_busy_interval: t1 <= t < t2
jo: Job
Sched_jo: scheduled_at sched jo t
EqSched_jo: #|[pred x | let 'FiniteQuant.Quantified F := FiniteQuant.ex (T:=Core) (, scheduled_on jo (sched t) x) x x in F]| <> 0
PINV: ~ priority_inversion sched j t
EQ: ~~ (jo != j)
receives_service_at sched j t
Task: TaskType
H: TaskCost Task
Job: JobType
H0: JobTask Job Task
H1: JobArrival Job
H2: JobCost Job
arr_seq: arrival_sequence Job
H_valid_arrival_sequence: valid_arrival_sequence arr_seq
sched: schedule (processor_state Job)
H_jobs_come_from_arrival_sequence: jobs_come_from_arrival_sequence sched arr_seq
H_jobs_must_arrive_to_execute: jobs_must_arrive_to_execute sched
H_completed_jobs_dont_execute: completed_jobs_dont_execute sched
H3: JLFP_policy Job
H_priority_is_reflexive: reflexive_priorities
H_priority_is_transitive: transitive_priorities
tsk: Task
H_sequential_tasks: sequential_tasks arr_seq sched
H_JLFP_respects_sequential_tasks: policy_respects_sequential_tasks
H4: JobReady Job (processor_state Job)
H_work_bearing_readiness: work_bearing_readiness arr_seq sched
H_sched_valid: valid_schedule sched arr_seq
work_conserving_ab:= work_conserving arr_seq sched: Prop
work_conserving_cl:= work_conserving.work_conserving arr_seq sched: Prop
busy_interval_prefix_ab:= definitions.busy_interval_prefix sched: Job -> instant -> instant -> Prop
H_work_conserving: work_conserving_cl
policy_reflexive: reflexive_priorities
j: Job
H_arrives: arrives_in arr_seq j
H_job_cost_positive: 0 < job_cost j
t1, t2: instant
H_busy_interval_prefix: busy_interval_prefix_ab j t1 t2
t: instant
H_t_in_busy_interval: t1 <= t < t2
jo: Job
Sched_jo: scheduled_at sched jo t
EqSched_jo: #|[pred x | let 'FiniteQuant.Quantified F := FiniteQuant.ex (T:=Core) (, scheduled_on jo (sched t) x) x x in F]| <> 0
NHEP: ~~ hep_job jo j
ZS: ~~ scheduled_at sched j t

priority_inversion sched j t
Task: TaskType
H: TaskCost Task
Job: JobType
H0: JobTask Job Task
H1: JobArrival Job
H2: JobCost Job
arr_seq: arrival_sequence Job
H_valid_arrival_sequence: valid_arrival_sequence arr_seq
sched: schedule (processor_state Job)
H_jobs_come_from_arrival_sequence: jobs_come_from_arrival_sequence sched arr_seq
H_jobs_must_arrive_to_execute: jobs_must_arrive_to_execute sched
H_completed_jobs_dont_execute: completed_jobs_dont_execute sched
H3: JLFP_policy Job
H_priority_is_reflexive: reflexive_priorities
H_priority_is_transitive: transitive_priorities
tsk: Task
H_sequential_tasks: sequential_tasks arr_seq sched
H_JLFP_respects_sequential_tasks: policy_respects_sequential_tasks
H4: JobReady Job (processor_state Job)
H_work_bearing_readiness: work_bearing_readiness arr_seq sched
H_sched_valid: valid_schedule sched arr_seq
work_conserving_ab:= work_conserving arr_seq sched: Prop
work_conserving_cl:= work_conserving.work_conserving arr_seq sched: Prop
busy_interval_prefix_ab:= definitions.busy_interval_prefix sched: Job -> instant -> instant -> Prop
H_work_conserving: work_conserving_cl
policy_reflexive: reflexive_priorities
j: Job
H_arrives: arrives_in arr_seq j
H_job_cost_positive: 0 < job_cost j
t1, t2: instant
H_busy_interval_prefix: busy_interval_prefix_ab j t1 t2
t: instant
H_t_in_busy_interval: t1 <= t < t2
jo: Job
Sched_jo: scheduled_at sched jo t
EqSched_jo: #|[pred x | let 'FiniteQuant.Quantified F := FiniteQuant.ex (T:=Core) (, scheduled_on jo (sched t) x) x x in F]| <> 0
PINV: ~ priority_inversion sched j t
EQ: ~~ (jo != j)
receives_service_at sched j t
Task: TaskType
H: TaskCost Task
Job: JobType
H0: JobTask Job Task
H1: JobArrival Job
H2: JobCost Job
arr_seq: arrival_sequence Job
H_valid_arrival_sequence: valid_arrival_sequence arr_seq
sched: schedule (processor_state Job)
H_jobs_come_from_arrival_sequence: jobs_come_from_arrival_sequence sched arr_seq
H_jobs_must_arrive_to_execute: jobs_must_arrive_to_execute sched
H_completed_jobs_dont_execute: completed_jobs_dont_execute sched
H3: JLFP_policy Job
H_priority_is_reflexive: reflexive_priorities
H_priority_is_transitive: transitive_priorities
tsk: Task
H_sequential_tasks: sequential_tasks arr_seq sched
H_JLFP_respects_sequential_tasks: policy_respects_sequential_tasks
H4: JobReady Job (processor_state Job)
H_work_bearing_readiness: work_bearing_readiness arr_seq sched
H_sched_valid: valid_schedule sched arr_seq
work_conserving_ab:= work_conserving arr_seq sched: Prop
work_conserving_cl:= work_conserving.work_conserving arr_seq sched: Prop
busy_interval_prefix_ab:= definitions.busy_interval_prefix sched: Job -> instant -> instant -> Prop
H_work_conserving: work_conserving_cl
policy_reflexive: reflexive_priorities
j: Job
H_arrives: arrives_in arr_seq j
H_job_cost_positive: 0 < job_cost j
t1, t2: instant
H_busy_interval_prefix: busy_interval_prefix_ab j t1 t2
t: instant
H_t_in_busy_interval: t1 <= t < t2
jo: Job
Sched_jo: scheduled_at sched jo t
EqSched_jo: #|[pred x | let 'FiniteQuant.Quantified F := FiniteQuant.ex (T:=Core) (, scheduled_on jo (sched t) x) x x in F]| <> 0
PINV: ~ priority_inversion sched j t
EQ: ~~ (jo != j)

receives_service_at sched j t
Task: TaskType
H: TaskCost Task
Job: JobType
H0: JobTask Job Task
H1: JobArrival Job
H2: JobCost Job
arr_seq: arrival_sequence Job
H_valid_arrival_sequence: valid_arrival_sequence arr_seq
sched: schedule (processor_state Job)
H_jobs_come_from_arrival_sequence: jobs_come_from_arrival_sequence sched arr_seq
H_jobs_must_arrive_to_execute: jobs_must_arrive_to_execute sched
H_completed_jobs_dont_execute: completed_jobs_dont_execute sched
H3: JLFP_policy Job
H_priority_is_reflexive: reflexive_priorities
H_priority_is_transitive: transitive_priorities
tsk: Task
H_sequential_tasks: sequential_tasks arr_seq sched
H_JLFP_respects_sequential_tasks: policy_respects_sequential_tasks
H4: JobReady Job (processor_state Job)
H_work_bearing_readiness: work_bearing_readiness arr_seq sched
H_sched_valid: valid_schedule sched arr_seq
work_conserving_ab:= work_conserving arr_seq sched: Prop
work_conserving_cl:= work_conserving.work_conserving arr_seq sched: Prop
busy_interval_prefix_ab:= definitions.busy_interval_prefix sched: Job -> instant -> instant -> Prop
H_work_conserving: work_conserving_cl
policy_reflexive: reflexive_priorities
j: Job
H_arrives: arrives_in arr_seq j
H_job_cost_positive: 0 < job_cost j
t1, t2: instant
H_busy_interval_prefix: busy_interval_prefix_ab j t1 t2
t: instant
H_t_in_busy_interval: t1 <= t < t2
jo: Job
Sched_jo: scheduled_at sched jo t
EqSched_jo: #|[pred x | let 'FiniteQuant.Quantified F := FiniteQuant.ex (T:=Core) (, scheduled_on jo (sched t) x) x x in F]| <> 0
PINV: ~ priority_inversion sched j t
EQ: ~~ (jo != j)

receives_service_at sched j t
Task: TaskType
H: TaskCost Task
Job: JobType
H0: JobTask Job Task
H1: JobArrival Job
H2: JobCost Job
arr_seq: arrival_sequence Job
H_valid_arrival_sequence: valid_arrival_sequence arr_seq
sched: schedule (processor_state Job)
H_jobs_come_from_arrival_sequence: jobs_come_from_arrival_sequence sched arr_seq
H_jobs_must_arrive_to_execute: jobs_must_arrive_to_execute sched
H_completed_jobs_dont_execute: completed_jobs_dont_execute sched
H3: JLFP_policy Job
H_priority_is_reflexive: reflexive_priorities
H_priority_is_transitive: transitive_priorities
tsk: Task
H_sequential_tasks: sequential_tasks arr_seq sched
H_JLFP_respects_sequential_tasks: policy_respects_sequential_tasks
H4: JobReady Job (processor_state Job)
H_work_bearing_readiness: work_bearing_readiness arr_seq sched
H_sched_valid: valid_schedule sched arr_seq
work_conserving_ab:= work_conserving arr_seq sched: Prop
work_conserving_cl:= work_conserving.work_conserving arr_seq sched: Prop
busy_interval_prefix_ab:= definitions.busy_interval_prefix sched: Job -> instant -> instant -> Prop
H_work_conserving: work_conserving_cl
policy_reflexive: reflexive_priorities
j: Job
H_arrives: arrives_in arr_seq j
H_job_cost_positive: 0 < job_cost j
t1, t2: instant
H_busy_interval_prefix: busy_interval_prefix_ab j t1 t2
t: instant
H_t_in_busy_interval: t1 <= t < t2
EqSched_jo: #|[pred x | let 'FiniteQuant.Quantified F := FiniteQuant.ex (T:=Core) (, scheduled_on j (sched t) x) x x in F]| <> 0
Sched_jo: scheduled_at sched j t
PINV: ~ priority_inversion sched j t

receives_service_at sched j t
by rewrite /receives_service_at service_at_is_scheduled_at Sched_jo. } Qed. (** Conversely, if the job is scheduled at [t] then interference is [false]. *)
Task: TaskType
H: TaskCost Task
Job: JobType
H0: JobTask Job Task
H1: JobArrival Job
H2: JobCost Job
arr_seq: arrival_sequence Job
H_valid_arrival_sequence: valid_arrival_sequence arr_seq
sched: schedule (processor_state Job)
H_jobs_come_from_arrival_sequence: jobs_come_from_arrival_sequence sched arr_seq
H_jobs_must_arrive_to_execute: jobs_must_arrive_to_execute sched
H_completed_jobs_dont_execute: completed_jobs_dont_execute sched
H3: JLFP_policy Job
H_priority_is_reflexive: reflexive_priorities
H_priority_is_transitive: transitive_priorities
tsk: Task
H_sequential_tasks: sequential_tasks arr_seq sched
H_JLFP_respects_sequential_tasks: policy_respects_sequential_tasks
H4: JobReady Job (processor_state Job)
H_work_bearing_readiness: work_bearing_readiness arr_seq sched
H_sched_valid: valid_schedule sched arr_seq
work_conserving_ab:= work_conserving arr_seq sched: Prop
work_conserving_cl:= work_conserving.work_conserving arr_seq sched: Prop
busy_interval_prefix_ab:= definitions.busy_interval_prefix sched: Job -> instant -> instant -> Prop
H_work_conserving: work_conserving_cl
policy_reflexive: reflexive_priorities
j: Job
H_arrives: arrives_in arr_seq j
H_job_cost_positive: 0 < job_cost j
t1, t2: instant
H_busy_interval_prefix: busy_interval_prefix_ab j t1 t2
t: instant
H_t_in_busy_interval: t1 <= t < t2

receives_service_at sched j t -> ~ interference j t
Task: TaskType
H: TaskCost Task
Job: JobType
H0: JobTask Job Task
H1: JobArrival Job
H2: JobCost Job
arr_seq: arrival_sequence Job
H_valid_arrival_sequence: valid_arrival_sequence arr_seq
sched: schedule (processor_state Job)
H_jobs_come_from_arrival_sequence: jobs_come_from_arrival_sequence sched arr_seq
H_jobs_must_arrive_to_execute: jobs_must_arrive_to_execute sched
H_completed_jobs_dont_execute: completed_jobs_dont_execute sched
H3: JLFP_policy Job
H_priority_is_reflexive: reflexive_priorities
H_priority_is_transitive: transitive_priorities
tsk: Task
H_sequential_tasks: sequential_tasks arr_seq sched
H_JLFP_respects_sequential_tasks: policy_respects_sequential_tasks
H4: JobReady Job (processor_state Job)
H_work_bearing_readiness: work_bearing_readiness arr_seq sched
H_sched_valid: valid_schedule sched arr_seq
work_conserving_ab:= work_conserving arr_seq sched: Prop
work_conserving_cl:= work_conserving.work_conserving arr_seq sched: Prop
busy_interval_prefix_ab:= definitions.busy_interval_prefix sched: Job -> instant -> instant -> Prop
H_work_conserving: work_conserving_cl
policy_reflexive: reflexive_priorities
j: Job
H_arrives: arrives_in arr_seq j
H_job_cost_positive: 0 < job_cost j
t1, t2: instant
H_busy_interval_prefix: busy_interval_prefix_ab j t1 t2
t: instant
H_t_in_busy_interval: t1 <= t < t2

receives_service_at sched j t -> ~ interference j t
Task: TaskType
H: TaskCost Task
Job: JobType
H0: JobTask Job Task
H1: JobArrival Job
H2: JobCost Job
arr_seq: arrival_sequence Job
H_valid_arrival_sequence: valid_arrival_sequence arr_seq
sched: schedule (processor_state Job)
H_jobs_come_from_arrival_sequence: jobs_come_from_arrival_sequence sched arr_seq
H_jobs_must_arrive_to_execute: jobs_must_arrive_to_execute sched
H_completed_jobs_dont_execute: completed_jobs_dont_execute sched
H3: JLFP_policy Job
H_priority_is_reflexive: reflexive_priorities
H_priority_is_transitive: transitive_priorities
tsk: Task
H_sequential_tasks: sequential_tasks arr_seq sched
H_JLFP_respects_sequential_tasks: policy_respects_sequential_tasks
H4: JobReady Job (processor_state Job)
H_work_bearing_readiness: work_bearing_readiness arr_seq sched
H_sched_valid: valid_schedule sched arr_seq
work_conserving_ab:= work_conserving arr_seq sched: Prop
work_conserving_cl:= work_conserving.work_conserving arr_seq sched: Prop
busy_interval_prefix_ab:= definitions.busy_interval_prefix sched: Job -> instant -> instant -> Prop
H_work_conserving: work_conserving_cl
policy_reflexive: reflexive_priorities
j: Job
H_arrives: arrives_in arr_seq j
H_job_cost_positive: 0 < job_cost j
t1, t2: instant
H_busy_interval_prefix: busy_interval_prefix_ab j t1 t2
t: instant
H_t_in_busy_interval: t1 <= t < t2
RSERV: receives_service_at sched j t
PINV: priority_inversion_dec arr_seq sched j t

False
Task: TaskType
H: TaskCost Task
Job: JobType
H0: JobTask Job Task
H1: JobArrival Job
H2: JobCost Job
arr_seq: arrival_sequence Job
H_valid_arrival_sequence: valid_arrival_sequence arr_seq
sched: schedule (processor_state Job)
H_jobs_come_from_arrival_sequence: jobs_come_from_arrival_sequence sched arr_seq
H_jobs_must_arrive_to_execute: jobs_must_arrive_to_execute sched
H_completed_jobs_dont_execute: completed_jobs_dont_execute sched
H3: JLFP_policy Job
H_priority_is_reflexive: reflexive_priorities
H_priority_is_transitive: transitive_priorities
tsk: Task
H_sequential_tasks: sequential_tasks arr_seq sched
H_JLFP_respects_sequential_tasks: policy_respects_sequential_tasks
H4: JobReady Job (processor_state Job)
H_work_bearing_readiness: work_bearing_readiness arr_seq sched
H_sched_valid: valid_schedule sched arr_seq
work_conserving_ab:= work_conserving arr_seq sched: Prop
work_conserving_cl:= work_conserving.work_conserving arr_seq sched: Prop
busy_interval_prefix_ab:= definitions.busy_interval_prefix sched: Job -> instant -> instant -> Prop
H_work_conserving: work_conserving_cl
policy_reflexive: reflexive_priorities
j: Job
H_arrives: arrives_in arr_seq j
H_job_cost_positive: 0 < job_cost j
t1, t2: instant
H_busy_interval_prefix: busy_interval_prefix_ab j t1 t2
t: instant
H_t_in_busy_interval: t1 <= t < t2
RSERV: receives_service_at sched j t
INT: another_hep_job_interference j t
False
Task: TaskType
H: TaskCost Task
Job: JobType
H0: JobTask Job Task
H1: JobArrival Job
H2: JobCost Job
arr_seq: arrival_sequence Job
H_valid_arrival_sequence: valid_arrival_sequence arr_seq
sched: schedule (processor_state Job)
H_jobs_come_from_arrival_sequence: jobs_come_from_arrival_sequence sched arr_seq
H_jobs_must_arrive_to_execute: jobs_must_arrive_to_execute sched
H_completed_jobs_dont_execute: completed_jobs_dont_execute sched
H3: JLFP_policy Job
H_priority_is_reflexive: reflexive_priorities
H_priority_is_transitive: transitive_priorities
tsk: Task
H_sequential_tasks: sequential_tasks arr_seq sched
H_JLFP_respects_sequential_tasks: policy_respects_sequential_tasks
H4: JobReady Job (processor_state Job)
H_work_bearing_readiness: work_bearing_readiness arr_seq sched
H_sched_valid: valid_schedule sched arr_seq
work_conserving_ab:= work_conserving arr_seq sched: Prop
work_conserving_cl:= work_conserving.work_conserving arr_seq sched: Prop
busy_interval_prefix_ab:= definitions.busy_interval_prefix sched: Job -> instant -> instant -> Prop
H_work_conserving: work_conserving_cl
policy_reflexive: reflexive_priorities
j: Job
H_arrives: arrives_in arr_seq j
H_job_cost_positive: 0 < job_cost j
t1, t2: instant
H_busy_interval_prefix: busy_interval_prefix_ab j t1 t2
t: instant
H_t_in_busy_interval: t1 <= t < t2
RSERV: receives_service_at sched j t
PINV: priority_inversion_dec arr_seq sched j t

False
Task: TaskType
H: TaskCost Task
Job: JobType
H0: JobTask Job Task
H1: JobArrival Job
H2: JobCost Job
arr_seq: arrival_sequence Job
H_valid_arrival_sequence: valid_arrival_sequence arr_seq
sched: schedule (processor_state Job)
H_jobs_come_from_arrival_sequence: jobs_come_from_arrival_sequence sched arr_seq
H_jobs_must_arrive_to_execute: jobs_must_arrive_to_execute sched
H_completed_jobs_dont_execute: completed_jobs_dont_execute sched
H3: JLFP_policy Job
H_priority_is_reflexive: reflexive_priorities
H_priority_is_transitive: transitive_priorities
tsk: Task
H_sequential_tasks: sequential_tasks arr_seq sched
H_JLFP_respects_sequential_tasks: policy_respects_sequential_tasks
H4: JobReady Job (processor_state Job)
H_work_bearing_readiness: work_bearing_readiness arr_seq sched
H_sched_valid: valid_schedule sched arr_seq
work_conserving_ab:= work_conserving arr_seq sched: Prop
work_conserving_cl:= work_conserving.work_conserving arr_seq sched: Prop
busy_interval_prefix_ab:= definitions.busy_interval_prefix sched: Job -> instant -> instant -> Prop
H_work_conserving: work_conserving_cl
policy_reflexive: reflexive_priorities
j: Job
H_arrives: arrives_in arr_seq j
H_job_cost_positive: 0 < job_cost j
t1, t2: instant
H_busy_interval_prefix: busy_interval_prefix_ab j t1 t2
t: instant
H_t_in_busy_interval: t1 <= t < t2
RSERV: receives_service_at sched j t
INT: another_hep_job_interference j t
False
Task: TaskType
H: TaskCost Task
Job: JobType
H0: JobTask Job Task
H1: JobArrival Job
H2: JobCost Job
arr_seq: arrival_sequence Job
H_valid_arrival_sequence: valid_arrival_sequence arr_seq
sched: schedule (processor_state Job)
H_jobs_come_from_arrival_sequence: jobs_come_from_arrival_sequence sched arr_seq
H_jobs_must_arrive_to_execute: jobs_must_arrive_to_execute sched
H_completed_jobs_dont_execute: completed_jobs_dont_execute sched
H3: JLFP_policy Job
H_priority_is_reflexive: reflexive_priorities
H_priority_is_transitive: transitive_priorities
tsk: Task
H_sequential_tasks: sequential_tasks arr_seq sched
H_JLFP_respects_sequential_tasks: policy_respects_sequential_tasks
H4: JobReady Job (processor_state Job)
H_work_bearing_readiness: work_bearing_readiness arr_seq sched
H_sched_valid: valid_schedule sched arr_seq
work_conserving_ab:= work_conserving arr_seq sched: Prop
work_conserving_cl:= work_conserving.work_conserving arr_seq sched: Prop
busy_interval_prefix_ab:= definitions.busy_interval_prefix sched: Job -> instant -> instant -> Prop
H_work_conserving: work_conserving_cl
policy_reflexive: reflexive_priorities
j: Job
H_arrives: arrives_in arr_seq j
H_job_cost_positive: 0 < job_cost j
t1, t2: instant
H_busy_interval_prefix: busy_interval_prefix_ab j t1 t2
t: instant
H_t_in_busy_interval: t1 <= t < t2
RSERV: receives_service_at sched j t

scheduled_at sched j t
Task: TaskType
H: TaskCost Task
Job: JobType
H0: JobTask Job Task
H1: JobArrival Job
H2: JobCost Job
arr_seq: arrival_sequence Job
H_valid_arrival_sequence: valid_arrival_sequence arr_seq
sched: schedule (processor_state Job)
H_jobs_come_from_arrival_sequence: jobs_come_from_arrival_sequence sched arr_seq
H_jobs_must_arrive_to_execute: jobs_must_arrive_to_execute sched
H_completed_jobs_dont_execute: completed_jobs_dont_execute sched
H3: JLFP_policy Job
H_priority_is_reflexive: reflexive_priorities
H_priority_is_transitive: transitive_priorities
tsk: Task
H_sequential_tasks: sequential_tasks arr_seq sched
H_JLFP_respects_sequential_tasks: policy_respects_sequential_tasks
H4: JobReady Job (processor_state Job)
H_work_bearing_readiness: work_bearing_readiness arr_seq sched
H_sched_valid: valid_schedule sched arr_seq
work_conserving_ab:= work_conserving arr_seq sched: Prop
work_conserving_cl:= work_conserving.work_conserving arr_seq sched: Prop
busy_interval_prefix_ab:= definitions.busy_interval_prefix sched: Job -> instant -> instant -> Prop
H_work_conserving: work_conserving_cl
policy_reflexive: reflexive_priorities
j: Job
H_arrives: arrives_in arr_seq j
H_job_cost_positive: 0 < job_cost j
t1, t2: instant
H_busy_interval_prefix: busy_interval_prefix_ab j t1 t2
t: instant
H_t_in_busy_interval: t1 <= t < t2
RSERV: receives_service_at sched j t
INT: another_hep_job_interference j t
False
Task: TaskType
H: TaskCost Task
Job: JobType
H0: JobTask Job Task
H1: JobArrival Job
H2: JobCost Job
arr_seq: arrival_sequence Job
H_valid_arrival_sequence: valid_arrival_sequence arr_seq
sched: schedule (processor_state Job)
H_jobs_come_from_arrival_sequence: jobs_come_from_arrival_sequence sched arr_seq
H_jobs_must_arrive_to_execute: jobs_must_arrive_to_execute sched
H_completed_jobs_dont_execute: completed_jobs_dont_execute sched
H3: JLFP_policy Job
H_priority_is_reflexive: reflexive_priorities
H_priority_is_transitive: transitive_priorities
tsk: Task
H_sequential_tasks: sequential_tasks arr_seq sched
H_JLFP_respects_sequential_tasks: policy_respects_sequential_tasks
H4: JobReady Job (processor_state Job)
H_work_bearing_readiness: work_bearing_readiness arr_seq sched
H_sched_valid: valid_schedule sched arr_seq
work_conserving_ab:= work_conserving arr_seq sched: Prop
work_conserving_cl:= work_conserving.work_conserving arr_seq sched: Prop
busy_interval_prefix_ab:= definitions.busy_interval_prefix sched: Job -> instant -> instant -> Prop
H_work_conserving: work_conserving_cl
policy_reflexive: reflexive_priorities
j: Job
H_arrives: arrives_in arr_seq j
H_job_cost_positive: 0 < job_cost j
t1, t2: instant
H_busy_interval_prefix: busy_interval_prefix_ab j t1 t2
t: instant
H_t_in_busy_interval: t1 <= t < t2
RSERV: receives_service_at sched j t
INT: another_hep_job_interference j t

False
Task: TaskType
H: TaskCost Task
Job: JobType
H0: JobTask Job Task
H1: JobArrival Job
H2: JobCost Job
arr_seq: arrival_sequence Job
H_valid_arrival_sequence: valid_arrival_sequence arr_seq
sched: schedule (processor_state Job)
H_jobs_come_from_arrival_sequence: jobs_come_from_arrival_sequence sched arr_seq
H_jobs_must_arrive_to_execute: jobs_must_arrive_to_execute sched
H_completed_jobs_dont_execute: completed_jobs_dont_execute sched
H3: JLFP_policy Job
H_priority_is_reflexive: reflexive_priorities
H_priority_is_transitive: transitive_priorities
tsk: Task
H_sequential_tasks: sequential_tasks arr_seq sched
H_JLFP_respects_sequential_tasks: policy_respects_sequential_tasks
H4: JobReady Job (processor_state Job)
H_work_bearing_readiness: work_bearing_readiness arr_seq sched
H_sched_valid: valid_schedule sched arr_seq
work_conserving_ab:= work_conserving arr_seq sched: Prop
work_conserving_cl:= work_conserving.work_conserving arr_seq sched: Prop
busy_interval_prefix_ab:= definitions.busy_interval_prefix sched: Job -> instant -> instant -> Prop
H_work_conserving: work_conserving_cl
policy_reflexive: reflexive_priorities
j: Job
H_arrives: arrives_in arr_seq j
H_job_cost_positive: 0 < job_cost j
t1, t2: instant
H_busy_interval_prefix: busy_interval_prefix_ab j t1 t2
t: instant
H_t_in_busy_interval: t1 <= t < t2
RSERV: receives_service_at sched j t
INT: another_hep_job_interference j t

False
Task: TaskType
H: TaskCost Task
Job: JobType
H0: JobTask Job Task
H1: JobArrival Job
H2: JobCost Job
arr_seq: arrival_sequence Job
H_valid_arrival_sequence: valid_arrival_sequence arr_seq
sched: schedule (processor_state Job)
H_jobs_come_from_arrival_sequence: jobs_come_from_arrival_sequence sched arr_seq
H_jobs_must_arrive_to_execute: jobs_must_arrive_to_execute sched
H_completed_jobs_dont_execute: completed_jobs_dont_execute sched
H3: JLFP_policy Job
H_priority_is_reflexive: reflexive_priorities
H_priority_is_transitive: transitive_priorities
tsk: Task
H_sequential_tasks: sequential_tasks arr_seq sched
H_JLFP_respects_sequential_tasks: policy_respects_sequential_tasks
H4: JobReady Job (processor_state Job)
H_work_bearing_readiness: work_bearing_readiness arr_seq sched
H_sched_valid: valid_schedule sched arr_seq
work_conserving_ab:= work_conserving arr_seq sched: Prop
work_conserving_cl:= work_conserving.work_conserving arr_seq sched: Prop
busy_interval_prefix_ab:= definitions.busy_interval_prefix sched: Job -> instant -> instant -> Prop
H_work_conserving: work_conserving_cl
policy_reflexive: reflexive_priorities
j: Job
H_arrives: arrives_in arr_seq j
H_job_cost_positive: 0 < job_cost j
t1, t2: instant
H_busy_interval_prefix: busy_interval_prefix_ab j t1 t2
t: instant
H_t_in_busy_interval: t1 <= t < t2
INT: another_hep_job_interference j t
RSERV: scheduled_at sched j t

False
by apply interference_ahep_job_eq_false in RSERV. Qed. End Abstract_Work_Conservation. (** Using the above two lemmas, we can prove that abstract work conservation always holds for these instantiations of [I] and [IW]. *)
Task: TaskType
H: TaskCost Task
Job: JobType
H0: JobTask Job Task
H1: JobArrival Job
H2: JobCost Job
arr_seq: arrival_sequence Job
H_valid_arrival_sequence: valid_arrival_sequence arr_seq
sched: schedule (processor_state Job)
H_jobs_come_from_arrival_sequence: jobs_come_from_arrival_sequence sched arr_seq
H_jobs_must_arrive_to_execute: jobs_must_arrive_to_execute sched
H_completed_jobs_dont_execute: completed_jobs_dont_execute sched
H3: JLFP_policy Job
H_priority_is_reflexive: reflexive_priorities
H_priority_is_transitive: transitive_priorities
tsk: Task
H_sequential_tasks: sequential_tasks arr_seq sched
H_JLFP_respects_sequential_tasks: policy_respects_sequential_tasks
H4: JobReady Job (processor_state Job)
H_work_bearing_readiness: work_bearing_readiness arr_seq sched
H_sched_valid: valid_schedule sched arr_seq
work_conserving_ab:= work_conserving arr_seq sched: Prop
work_conserving_cl:= work_conserving.work_conserving arr_seq sched: Prop
busy_interval_prefix_ab:= definitions.busy_interval_prefix sched: Job -> instant -> instant -> Prop
H_work_conserving: work_conserving_cl
policy_reflexive: reflexive_priorities

work_conserving_ab
Task: TaskType
H: TaskCost Task
Job: JobType
H0: JobTask Job Task
H1: JobArrival Job
H2: JobCost Job
arr_seq: arrival_sequence Job
H_valid_arrival_sequence: valid_arrival_sequence arr_seq
sched: schedule (processor_state Job)
H_jobs_come_from_arrival_sequence: jobs_come_from_arrival_sequence sched arr_seq
H_jobs_must_arrive_to_execute: jobs_must_arrive_to_execute sched
H_completed_jobs_dont_execute: completed_jobs_dont_execute sched
H3: JLFP_policy Job
H_priority_is_reflexive: reflexive_priorities
H_priority_is_transitive: transitive_priorities
tsk: Task
H_sequential_tasks: sequential_tasks arr_seq sched
H_JLFP_respects_sequential_tasks: policy_respects_sequential_tasks
H4: JobReady Job (processor_state Job)
H_work_bearing_readiness: work_bearing_readiness arr_seq sched
H_sched_valid: valid_schedule sched arr_seq
work_conserving_ab:= work_conserving arr_seq sched: Prop
work_conserving_cl:= work_conserving.work_conserving arr_seq sched: Prop
busy_interval_prefix_ab:= definitions.busy_interval_prefix sched: Job -> instant -> instant -> Prop
H_work_conserving: work_conserving_cl
policy_reflexive: reflexive_priorities

work_conserving_ab
Task: TaskType
H: TaskCost Task
Job: JobType
H0: JobTask Job Task
H1: JobArrival Job
H2: JobCost Job
arr_seq: arrival_sequence Job
H_valid_arrival_sequence: valid_arrival_sequence arr_seq
sched: schedule (processor_state Job)
H_jobs_come_from_arrival_sequence: jobs_come_from_arrival_sequence sched arr_seq
H_jobs_must_arrive_to_execute: jobs_must_arrive_to_execute sched
H_completed_jobs_dont_execute: completed_jobs_dont_execute sched
H3: JLFP_policy Job
H_priority_is_reflexive: reflexive_priorities
H_priority_is_transitive: transitive_priorities
tsk: Task
H_sequential_tasks: sequential_tasks arr_seq sched
H_JLFP_respects_sequential_tasks: policy_respects_sequential_tasks
H4: JobReady Job (processor_state Job)
H_work_bearing_readiness: work_bearing_readiness arr_seq sched
H_sched_valid: valid_schedule sched arr_seq
work_conserving_ab:= work_conserving arr_seq sched: Prop
work_conserving_cl:= work_conserving.work_conserving arr_seq sched: Prop
busy_interval_prefix_ab:= definitions.busy_interval_prefix sched: Job -> instant -> instant -> Prop
H_work_conserving: work_conserving_cl
policy_reflexive: reflexive_priorities
j: Job
t1, t2: instant
t: nat
ARR: arrives_in arr_seq j
POS: 0 < job_cost j
BUSY: definitions.busy_interval_prefix sched j t1 t2
NEQ: t1 <= t < t2

~ interference j t -> receives_service_at sched j t
Task: TaskType
H: TaskCost Task
Job: JobType
H0: JobTask Job Task
H1: JobArrival Job
H2: JobCost Job
arr_seq: arrival_sequence Job
H_valid_arrival_sequence: valid_arrival_sequence arr_seq
sched: schedule (processor_state Job)
H_jobs_come_from_arrival_sequence: jobs_come_from_arrival_sequence sched arr_seq
H_jobs_must_arrive_to_execute: jobs_must_arrive_to_execute sched
H_completed_jobs_dont_execute: completed_jobs_dont_execute sched
H3: JLFP_policy Job
H_priority_is_reflexive: reflexive_priorities
H_priority_is_transitive: transitive_priorities
tsk: Task
H_sequential_tasks: sequential_tasks arr_seq sched
H_JLFP_respects_sequential_tasks: policy_respects_sequential_tasks
H4: JobReady Job (processor_state Job)
H_work_bearing_readiness: work_bearing_readiness arr_seq sched
H_sched_valid: valid_schedule sched arr_seq
work_conserving_ab:= work_conserving arr_seq sched: Prop
work_conserving_cl:= work_conserving.work_conserving arr_seq sched: Prop
busy_interval_prefix_ab:= definitions.busy_interval_prefix sched: Job -> instant -> instant -> Prop
H_work_conserving: work_conserving_cl
policy_reflexive: reflexive_priorities
j: Job
t1, t2: instant
t: nat
ARR: arrives_in arr_seq j
POS: 0 < job_cost j
BUSY: definitions.busy_interval_prefix sched j t1 t2
NEQ: t1 <= t < t2
receives_service_at sched j t -> ~ interference j t
Task: TaskType
H: TaskCost Task
Job: JobType
H0: JobTask Job Task
H1: JobArrival Job
H2: JobCost Job
arr_seq: arrival_sequence Job
H_valid_arrival_sequence: valid_arrival_sequence arr_seq
sched: schedule (processor_state Job)
H_jobs_come_from_arrival_sequence: jobs_come_from_arrival_sequence sched arr_seq
H_jobs_must_arrive_to_execute: jobs_must_arrive_to_execute sched
H_completed_jobs_dont_execute: completed_jobs_dont_execute sched
H3: JLFP_policy Job
H_priority_is_reflexive: reflexive_priorities
H_priority_is_transitive: transitive_priorities
tsk: Task
H_sequential_tasks: sequential_tasks arr_seq sched
H_JLFP_respects_sequential_tasks: policy_respects_sequential_tasks
H4: JobReady Job (processor_state Job)
H_work_bearing_readiness: work_bearing_readiness arr_seq sched
H_sched_valid: valid_schedule sched arr_seq
work_conserving_ab:= work_conserving arr_seq sched: Prop
work_conserving_cl:= work_conserving.work_conserving arr_seq sched: Prop
busy_interval_prefix_ab:= definitions.busy_interval_prefix sched: Job -> instant -> instant -> Prop
H_work_conserving: work_conserving_cl
policy_reflexive: reflexive_priorities
j: Job
t1, t2: instant
t: nat
ARR: arrives_in arr_seq j
POS: 0 < job_cost j
BUSY: definitions.busy_interval_prefix sched j t1 t2
NEQ: t1 <= t < t2

~ interference j t -> receives_service_at sched j t
Task: TaskType
H: TaskCost Task
Job: JobType
H0: JobTask Job Task
H1: JobArrival Job
H2: JobCost Job
arr_seq: arrival_sequence Job
H_valid_arrival_sequence: valid_arrival_sequence arr_seq
sched: schedule (processor_state Job)
H_jobs_come_from_arrival_sequence: jobs_come_from_arrival_sequence sched arr_seq
H_jobs_must_arrive_to_execute: jobs_must_arrive_to_execute sched
H_completed_jobs_dont_execute: completed_jobs_dont_execute sched
H3: JLFP_policy Job
H_priority_is_reflexive: reflexive_priorities
H_priority_is_transitive: transitive_priorities
tsk: Task
H_sequential_tasks: sequential_tasks arr_seq sched
H_JLFP_respects_sequential_tasks: policy_respects_sequential_tasks
H4: JobReady Job (processor_state Job)
H_work_bearing_readiness: work_bearing_readiness arr_seq sched
H_sched_valid: valid_schedule sched arr_seq
work_conserving_ab:= work_conserving arr_seq sched: Prop
work_conserving_cl:= work_conserving.work_conserving arr_seq sched: Prop
busy_interval_prefix_ab:= definitions.busy_interval_prefix sched: Job -> instant -> instant -> Prop
H_work_conserving: work_conserving_cl
policy_reflexive: reflexive_priorities
j: Job
t1, t2: instant
t: nat
ARR: arrives_in arr_seq j
POS: 0 < job_cost j
BUSY: definitions.busy_interval_prefix sched j t1 t2
NEQ: t1 <= t < t2
receives_service_at sched j t -> ~ interference j t
Task: TaskType
H: TaskCost Task
Job: JobType
H0: JobTask Job Task
H1: JobArrival Job
H2: JobCost Job
arr_seq: arrival_sequence Job
H_valid_arrival_sequence: valid_arrival_sequence arr_seq
sched: schedule (processor_state Job)
H_jobs_come_from_arrival_sequence: jobs_come_from_arrival_sequence sched arr_seq
H_jobs_must_arrive_to_execute: jobs_must_arrive_to_execute sched
H_completed_jobs_dont_execute: completed_jobs_dont_execute sched
H3: JLFP_policy Job
H_priority_is_reflexive: reflexive_priorities
H_priority_is_transitive: transitive_priorities
tsk: Task
H_sequential_tasks: sequential_tasks arr_seq sched
H_JLFP_respects_sequential_tasks: policy_respects_sequential_tasks
H4: JobReady Job (processor_state Job)
H_work_bearing_readiness: work_bearing_readiness arr_seq sched
H_sched_valid: valid_schedule sched arr_seq
work_conserving_ab:= work_conserving arr_seq sched: Prop
work_conserving_cl:= work_conserving.work_conserving arr_seq sched: Prop
busy_interval_prefix_ab:= definitions.busy_interval_prefix sched: Job -> instant -> instant -> Prop
H_work_conserving: work_conserving_cl
policy_reflexive: reflexive_priorities
j: Job
t1, t2: instant
t: nat
ARR: arrives_in arr_seq j
POS: 0 < job_cost j
BUSY: definitions.busy_interval_prefix sched j t1 t2
NEQ: t1 <= t < t2

receives_service_at sched j t -> ~ interference j t
Task: TaskType
H: TaskCost Task
Job: JobType
H0: JobTask Job Task
H1: JobArrival Job
H2: JobCost Job
arr_seq: arrival_sequence Job
H_valid_arrival_sequence: valid_arrival_sequence arr_seq
sched: schedule (processor_state Job)
H_jobs_come_from_arrival_sequence: jobs_come_from_arrival_sequence sched arr_seq
H_jobs_must_arrive_to_execute: jobs_must_arrive_to_execute sched
H_completed_jobs_dont_execute: completed_jobs_dont_execute sched
H3: JLFP_policy Job
H_priority_is_reflexive: reflexive_priorities
H_priority_is_transitive: transitive_priorities
tsk: Task
H_sequential_tasks: sequential_tasks arr_seq sched
H_JLFP_respects_sequential_tasks: policy_respects_sequential_tasks
H4: JobReady Job (processor_state Job)
H_work_bearing_readiness: work_bearing_readiness arr_seq sched
H_sched_valid: valid_schedule sched arr_seq
work_conserving_ab:= work_conserving arr_seq sched: Prop
work_conserving_cl:= work_conserving.work_conserving arr_seq sched: Prop
busy_interval_prefix_ab:= definitions.busy_interval_prefix sched: Job -> instant -> instant -> Prop
H_work_conserving: work_conserving_cl
policy_reflexive: reflexive_priorities
j: Job
t1, t2: instant
t: nat
ARR: arrives_in arr_seq j
POS: 0 < job_cost j
BUSY: definitions.busy_interval_prefix sched j t1 t2
NEQ: t1 <= t < t2

receives_service_at sched j t -> ~ interference j t
by apply (scheduled_implies_no_interference j t ). Qed. (** Next, in order to prove that these definitions of [I] and [IW] are consistent with sequential tasks, we need to assume that the policy under consideration respects sequential tasks. *) Hypothesis H_policy_respects_sequential_tasks : policy_respects_sequential_tasks. (** We prove that these definitions of [I] and [IW] are consistent with sequential tasks. *)
Task: TaskType
H: TaskCost Task
Job: JobType
H0: JobTask Job Task
H1: JobArrival Job
H2: JobCost Job
arr_seq: arrival_sequence Job
H_valid_arrival_sequence: valid_arrival_sequence arr_seq
sched: schedule (processor_state Job)
H_jobs_come_from_arrival_sequence: jobs_come_from_arrival_sequence sched arr_seq
H_jobs_must_arrive_to_execute: jobs_must_arrive_to_execute sched
H_completed_jobs_dont_execute: completed_jobs_dont_execute sched
H3: JLFP_policy Job
H_priority_is_reflexive: reflexive_priorities
H_priority_is_transitive: transitive_priorities
tsk: Task
H_sequential_tasks: sequential_tasks arr_seq sched
H_JLFP_respects_sequential_tasks: policy_respects_sequential_tasks
H4: JobReady Job (processor_state Job)
H_work_bearing_readiness: work_bearing_readiness arr_seq sched
H_sched_valid: valid_schedule sched arr_seq
work_conserving_ab:= work_conserving arr_seq sched: Prop
work_conserving_cl:= work_conserving.work_conserving arr_seq sched: Prop
busy_interval_prefix_ab:= definitions.busy_interval_prefix sched: Job -> instant -> instant -> Prop
H_work_conserving: work_conserving_cl
policy_reflexive: reflexive_priorities
H_policy_respects_sequential_tasks: policy_respects_sequential_tasks

interference_and_workload_consistent_with_sequential_tasks arr_seq sched tsk
Task: TaskType
H: TaskCost Task
Job: JobType
H0: JobTask Job Task
H1: JobArrival Job
H2: JobCost Job
arr_seq: arrival_sequence Job
H_valid_arrival_sequence: valid_arrival_sequence arr_seq
sched: schedule (processor_state Job)
H_jobs_come_from_arrival_sequence: jobs_come_from_arrival_sequence sched arr_seq
H_jobs_must_arrive_to_execute: jobs_must_arrive_to_execute sched
H_completed_jobs_dont_execute: completed_jobs_dont_execute sched
H3: JLFP_policy Job
H_priority_is_reflexive: reflexive_priorities
H_priority_is_transitive: transitive_priorities
tsk: Task
H_sequential_tasks: sequential_tasks arr_seq sched
H_JLFP_respects_sequential_tasks: policy_respects_sequential_tasks
H4: JobReady Job (processor_state Job)
H_work_bearing_readiness: work_bearing_readiness arr_seq sched
H_sched_valid: valid_schedule sched arr_seq
work_conserving_ab:= work_conserving arr_seq sched: Prop
work_conserving_cl:= work_conserving.work_conserving arr_seq sched: Prop
busy_interval_prefix_ab:= definitions.busy_interval_prefix sched: Job -> instant -> instant -> Prop
H_work_conserving: work_conserving_cl
policy_reflexive: reflexive_priorities
H_policy_respects_sequential_tasks: policy_respects_sequential_tasks

interference_and_workload_consistent_with_sequential_tasks arr_seq sched tsk
Task: TaskType
H: TaskCost Task
Job: JobType
H0: JobTask Job Task
H1: JobArrival Job
H2: JobCost Job
arr_seq: arrival_sequence Job
H_valid_arrival_sequence: valid_arrival_sequence arr_seq
sched: schedule (processor_state Job)
H_jobs_come_from_arrival_sequence: jobs_come_from_arrival_sequence sched arr_seq
H_jobs_must_arrive_to_execute: jobs_must_arrive_to_execute sched
H_completed_jobs_dont_execute: completed_jobs_dont_execute sched
H3: JLFP_policy Job
H_priority_is_reflexive: reflexive_priorities
H_priority_is_transitive: transitive_priorities
tsk: Task
H_sequential_tasks: sequential_tasks arr_seq sched
H_JLFP_respects_sequential_tasks: policy_respects_sequential_tasks
H4: JobReady Job (processor_state Job)
H_work_bearing_readiness: work_bearing_readiness arr_seq sched
H_sched_valid: valid_schedule sched arr_seq
work_conserving_ab:= work_conserving arr_seq sched: Prop
work_conserving_cl:= work_conserving.work_conserving arr_seq sched: Prop
busy_interval_prefix_ab:= definitions.busy_interval_prefix sched: Job -> instant -> instant -> Prop
H_work_conserving: work_conserving_cl
policy_reflexive: reflexive_priorities
H_policy_respects_sequential_tasks: policy_respects_sequential_tasks
j: Job
t1, t2: instant
ARR: arrives_in arr_seq j
TSK: job_task j = tsk
POS: 0 < job_cost j
BUSY: definitions.busy_interval sched j t1 t2

task_workload_between arr_seq tsk 0 t1 = task_service_of_jobs_in sched tsk (arrivals_between arr_seq 0 t1) 0 t1
Task: TaskType
H: TaskCost Task
Job: JobType
H0: JobTask Job Task
H1: JobArrival Job
H2: JobCost Job
arr_seq: arrival_sequence Job
H_valid_arrival_sequence: valid_arrival_sequence arr_seq
sched: schedule (processor_state Job)
H_jobs_come_from_arrival_sequence: jobs_come_from_arrival_sequence sched arr_seq
H_jobs_must_arrive_to_execute: jobs_must_arrive_to_execute sched
H_completed_jobs_dont_execute: completed_jobs_dont_execute sched
H3: JLFP_policy Job
H_priority_is_reflexive: reflexive_priorities
H_priority_is_transitive: transitive_priorities
tsk: Task
H_sequential_tasks: sequential_tasks arr_seq sched
H_JLFP_respects_sequential_tasks: policy_respects_sequential_tasks
H4: JobReady Job (processor_state Job)
H_work_bearing_readiness: work_bearing_readiness arr_seq sched
H_sched_valid: valid_schedule sched arr_seq
work_conserving_ab:= work_conserving arr_seq sched: Prop
work_conserving_cl:= work_conserving.work_conserving arr_seq sched: Prop
busy_interval_prefix_ab:= definitions.busy_interval_prefix sched: Job -> instant -> instant -> Prop
H_work_conserving: work_conserving_cl
policy_reflexive: reflexive_priorities
H_policy_respects_sequential_tasks: policy_respects_sequential_tasks
j: Job
t1, t2: instant
ARR: arrives_in arr_seq j
TSK: job_task j = tsk
POS: 0 < job_cost j
BUSY: busy_interval arr_seq sched j t1 t2

task_workload_between arr_seq tsk 0 t1 = task_service_of_jobs_in sched tsk (arrivals_between arr_seq 0 t1) 0 t1
Task: TaskType
H: TaskCost Task
Job: JobType
H0: JobTask Job Task
H1: JobArrival Job
H2: JobCost Job
arr_seq: arrival_sequence Job
H_valid_arrival_sequence: valid_arrival_sequence arr_seq
sched: schedule (processor_state Job)
H_jobs_come_from_arrival_sequence: jobs_come_from_arrival_sequence sched arr_seq
H_jobs_must_arrive_to_execute: jobs_must_arrive_to_execute sched
H_completed_jobs_dont_execute: completed_jobs_dont_execute sched
H3: JLFP_policy Job
H_priority_is_reflexive: reflexive_priorities
H_priority_is_transitive: transitive_priorities
tsk: Task
H_sequential_tasks: sequential_tasks arr_seq sched
H_JLFP_respects_sequential_tasks: policy_respects_sequential_tasks
H4: JobReady Job (processor_state Job)
H_work_bearing_readiness: work_bearing_readiness arr_seq sched
H_sched_valid: valid_schedule sched arr_seq
work_conserving_ab:= work_conserving arr_seq sched: Prop
work_conserving_cl:= work_conserving.work_conserving arr_seq sched: Prop
busy_interval_prefix_ab:= definitions.busy_interval_prefix sched: Job -> instant -> instant -> Prop
H_work_conserving: work_conserving_cl
policy_reflexive: reflexive_priorities
H_policy_respects_sequential_tasks: policy_respects_sequential_tasks
j: Job
t1, t2: instant
ARR: arrives_in arr_seq j
TSK: job_task j = tsk
POS: 0 < job_cost j
BUSY: busy_interval arr_seq sched j t1 t2

forall j : Job, j \in arrivals_between arr_seq 0 t1 -> job_of_task tsk j -> completed_by sched j t1
Task: TaskType
H: TaskCost Task
Job: JobType
H0: JobTask Job Task
H1: JobArrival Job
H2: JobCost Job
arr_seq: arrival_sequence Job
H_valid_arrival_sequence: valid_arrival_sequence arr_seq
sched: schedule (processor_state Job)
H_jobs_come_from_arrival_sequence: jobs_come_from_arrival_sequence sched arr_seq
H_jobs_must_arrive_to_execute: jobs_must_arrive_to_execute sched
H_completed_jobs_dont_execute: completed_jobs_dont_execute sched
H3: JLFP_policy Job
H_priority_is_reflexive: reflexive_priorities
H_priority_is_transitive: transitive_priorities
tsk: Task
H_sequential_tasks: sequential_tasks arr_seq sched
H_JLFP_respects_sequential_tasks: policy_respects_sequential_tasks
H4: JobReady Job (processor_state Job)
H_work_bearing_readiness: work_bearing_readiness arr_seq sched
H_sched_valid: valid_schedule sched arr_seq
work_conserving_ab:= work_conserving arr_seq sched: Prop
work_conserving_cl:= work_conserving.work_conserving arr_seq sched: Prop
busy_interval_prefix_ab:= definitions.busy_interval_prefix sched: Job -> instant -> instant -> Prop
H_work_conserving: work_conserving_cl
policy_reflexive: reflexive_priorities
H_policy_respects_sequential_tasks: policy_respects_sequential_tasks
j: Job
t1, t2: instant
ARR: arrives_in arr_seq j
TSK: job_task j = tsk
POS: 0 < job_cost j
BUSY: busy_interval arr_seq sched j t1 t2
s: Job
INs: s \in arrivals_between arr_seq 0 t1
TSKs: job_task s = tsk

completed_by sched s t1
Task: TaskType
H: TaskCost Task
Job: JobType
H0: JobTask Job Task
H1: JobArrival Job
H2: JobCost Job
arr_seq: arrival_sequence Job
H_valid_arrival_sequence: valid_arrival_sequence arr_seq
sched: schedule (processor_state Job)
H_jobs_come_from_arrival_sequence: jobs_come_from_arrival_sequence sched arr_seq
H_jobs_must_arrive_to_execute: jobs_must_arrive_to_execute sched
H_completed_jobs_dont_execute: completed_jobs_dont_execute sched
H3: JLFP_policy Job
H_priority_is_reflexive: reflexive_priorities
H_priority_is_transitive: transitive_priorities
tsk: Task
H_sequential_tasks: sequential_tasks arr_seq sched
H_JLFP_respects_sequential_tasks: policy_respects_sequential_tasks
H4: JobReady Job (processor_state Job)
H_work_bearing_readiness: work_bearing_readiness arr_seq sched
H_sched_valid: valid_schedule sched arr_seq
work_conserving_ab:= work_conserving arr_seq sched: Prop
work_conserving_cl:= work_conserving.work_conserving arr_seq sched: Prop
busy_interval_prefix_ab:= definitions.busy_interval_prefix sched: Job -> instant -> instant -> Prop
H_work_conserving: work_conserving_cl
policy_reflexive: reflexive_priorities
H_policy_respects_sequential_tasks: policy_respects_sequential_tasks
j: Job
t1, t2: instant
ARR: arrives_in arr_seq j
TSK: job_task j = tsk
POS: 0 < job_cost j
BUSY: busy_interval arr_seq sched j t1 t2
s: Job
INs: s \in arrivals_between arr_seq 0 t1
TSKs: job_task s = tsk
NEQ: s \in arrivals_between arr_seq 0 t1

completed_by sched s t1
Task: TaskType
H: TaskCost Task
Job: JobType
H0: JobTask Job Task
H1: JobArrival Job
H2: JobCost Job
arr_seq: arrival_sequence Job
H_valid_arrival_sequence: valid_arrival_sequence arr_seq
sched: schedule (processor_state Job)
H_jobs_come_from_arrival_sequence: jobs_come_from_arrival_sequence sched arr_seq
H_jobs_must_arrive_to_execute: jobs_must_arrive_to_execute sched
H_completed_jobs_dont_execute: completed_jobs_dont_execute sched
H3: JLFP_policy Job
H_priority_is_reflexive: reflexive_priorities
H_priority_is_transitive: transitive_priorities
tsk: Task
H_sequential_tasks: sequential_tasks arr_seq sched
H_JLFP_respects_sequential_tasks: policy_respects_sequential_tasks
H4: JobReady Job (processor_state Job)
H_work_bearing_readiness: work_bearing_readiness arr_seq sched
H_sched_valid: valid_schedule sched arr_seq
work_conserving_ab:= work_conserving arr_seq sched: Prop
work_conserving_cl:= work_conserving.work_conserving arr_seq sched: Prop
busy_interval_prefix_ab:= definitions.busy_interval_prefix sched: Job -> instant -> instant -> Prop
H_work_conserving: work_conserving_cl
policy_reflexive: reflexive_priorities
H_policy_respects_sequential_tasks: policy_respects_sequential_tasks
j: Job
t1, t2: instant
ARR: arrives_in arr_seq j
TSK: job_task j = tsk
POS: 0 < job_cost j
BUSY: busy_interval arr_seq sched j t1 t2
s: Job
INs: s \in arrivals_between arr_seq 0 t1
TSKs: job_task s = tsk
NEQ: arrived_between s 0 t1

completed_by sched s t1
Task: TaskType
H: TaskCost Task
Job: JobType
H0: JobTask Job Task
H1: JobArrival Job
H2: JobCost Job
arr_seq: arrival_sequence Job
H_valid_arrival_sequence: valid_arrival_sequence arr_seq
sched: schedule (processor_state Job)
H_jobs_come_from_arrival_sequence: jobs_come_from_arrival_sequence sched arr_seq
H_jobs_must_arrive_to_execute: jobs_must_arrive_to_execute sched
H_completed_jobs_dont_execute: completed_jobs_dont_execute sched
H3: JLFP_policy Job
H_priority_is_reflexive: reflexive_priorities
H_priority_is_transitive: transitive_priorities
tsk: Task
H_sequential_tasks: sequential_tasks arr_seq sched
H_JLFP_respects_sequential_tasks: policy_respects_sequential_tasks
H4: JobReady Job (processor_state Job)
H_work_bearing_readiness: work_bearing_readiness arr_seq sched
H_sched_valid: valid_schedule sched arr_seq
work_conserving_ab:= work_conserving arr_seq sched: Prop
work_conserving_cl:= work_conserving.work_conserving arr_seq sched: Prop
busy_interval_prefix_ab:= definitions.busy_interval_prefix sched: Job -> instant -> instant -> Prop
H_work_conserving: work_conserving_cl
policy_reflexive: reflexive_priorities
H_policy_respects_sequential_tasks: policy_respects_sequential_tasks
j: Job
t1, t2: instant
ARR: arrives_in arr_seq j
TSK: job_task j = tsk
POS: 0 < job_cost j
BUSY: busy_interval arr_seq sched j t1 t2
s: Job
INs: s \in arrivals_between arr_seq 0 t1
TSKs: job_task s = tsk
JAs: job_arrival s < t1

completed_by sched s t1
Task: TaskType
H: TaskCost Task
Job: JobType
H0: JobTask Job Task
H1: JobArrival Job
H2: JobCost Job
arr_seq: arrival_sequence Job
H_valid_arrival_sequence: valid_arrival_sequence arr_seq
sched: schedule (processor_state Job)
H_jobs_come_from_arrival_sequence: jobs_come_from_arrival_sequence sched arr_seq
H_jobs_must_arrive_to_execute: jobs_must_arrive_to_execute sched
H_completed_jobs_dont_execute: completed_jobs_dont_execute sched
H3: JLFP_policy Job
H_priority_is_reflexive: reflexive_priorities
H_priority_is_transitive: transitive_priorities
tsk: Task
H_sequential_tasks: sequential_tasks arr_seq sched
H_JLFP_respects_sequential_tasks: policy_respects_sequential_tasks
H4: JobReady Job (processor_state Job)
H_work_bearing_readiness: work_bearing_readiness arr_seq sched
H_sched_valid: valid_schedule sched arr_seq
work_conserving_ab:= work_conserving arr_seq sched: Prop
work_conserving_cl:= work_conserving.work_conserving arr_seq sched: Prop
busy_interval_prefix_ab:= definitions.busy_interval_prefix sched: Job -> instant -> instant -> Prop
H_work_conserving: work_conserving_cl
policy_reflexive: reflexive_priorities
H_policy_respects_sequential_tasks: policy_respects_sequential_tasks
j: Job
t1, t2: instant
ARR: arrives_in arr_seq j
TSK: job_task j = tsk
POS: 0 < job_cost j
BUSY: busy_interval arr_seq sched j t1 t2
s: Job
INs: s \in arrivals_between arr_seq 0 t1
TSKs: job_task s = tsk
JAs: job_arrival s < t1
QT: quiet_time arr_seq sched j t1
JAj: t1 <= job_arrival j

completed_by sched s t1
Task: TaskType
H: TaskCost Task
Job: JobType
H0: JobTask Job Task
H1: JobArrival Job
H2: JobCost Job
arr_seq: arrival_sequence Job
H_valid_arrival_sequence: valid_arrival_sequence arr_seq
sched: schedule (processor_state Job)
H_jobs_come_from_arrival_sequence: jobs_come_from_arrival_sequence sched arr_seq
H_jobs_must_arrive_to_execute: jobs_must_arrive_to_execute sched
H_completed_jobs_dont_execute: completed_jobs_dont_execute sched
H3: JLFP_policy Job
H_priority_is_reflexive: reflexive_priorities
H_priority_is_transitive: transitive_priorities
tsk: Task
H_sequential_tasks: sequential_tasks arr_seq sched
H_JLFP_respects_sequential_tasks: policy_respects_sequential_tasks
H4: JobReady Job (processor_state Job)
H_work_bearing_readiness: work_bearing_readiness arr_seq sched
H_sched_valid: valid_schedule sched arr_seq
work_conserving_ab:= work_conserving arr_seq sched: Prop
work_conserving_cl:= work_conserving.work_conserving arr_seq sched: Prop
busy_interval_prefix_ab:= definitions.busy_interval_prefix sched: Job -> instant -> instant -> Prop
H_work_conserving: work_conserving_cl
policy_reflexive: reflexive_priorities
H_policy_respects_sequential_tasks: policy_respects_sequential_tasks
j: Job
t1, t2: instant
ARR: arrives_in arr_seq j
TSK: job_task j = tsk
POS: 0 < job_cost j
BUSY: busy_interval arr_seq sched j t1 t2
s: Job
INs: s \in arrivals_between arr_seq 0 t1
TSKs: job_task s = tsk
JAs: job_arrival s < t1
QT: quiet_time arr_seq sched j t1
JAj: t1 <= job_arrival j

hep_job s j
Task: TaskType
H: TaskCost Task
Job: JobType
H0: JobTask Job Task
H1: JobArrival Job
H2: JobCost Job
arr_seq: arrival_sequence Job
H_valid_arrival_sequence: valid_arrival_sequence arr_seq
sched: schedule (processor_state Job)
H_jobs_come_from_arrival_sequence: jobs_come_from_arrival_sequence sched arr_seq
H_jobs_must_arrive_to_execute: jobs_must_arrive_to_execute sched
H_completed_jobs_dont_execute: completed_jobs_dont_execute sched
H3: JLFP_policy Job
H_priority_is_reflexive: reflexive_priorities
H_priority_is_transitive: transitive_priorities
tsk: Task
H_sequential_tasks: sequential_tasks arr_seq sched
H_JLFP_respects_sequential_tasks: policy_respects_sequential_tasks
H4: JobReady Job (processor_state Job)
H_work_bearing_readiness: work_bearing_readiness arr_seq sched
H_sched_valid: valid_schedule sched arr_seq
work_conserving_ab:= work_conserving arr_seq sched: Prop
work_conserving_cl:= work_conserving.work_conserving arr_seq sched: Prop
busy_interval_prefix_ab:= definitions.busy_interval_prefix sched: Job -> instant -> instant -> Prop
H_work_conserving: work_conserving_cl
policy_reflexive: reflexive_priorities
H_policy_respects_sequential_tasks: policy_respects_sequential_tasks
j: Job
t1, t2: instant
ARR: arrives_in arr_seq j
TSK: job_task j = tsk
POS: 0 < job_cost j
BUSY: busy_interval arr_seq sched j t1 t2
s: Job
INs: s \in arrivals_between arr_seq 0 t1
TSKs: job_task s = tsk
JAs: job_arrival s < t1
QT: quiet_time arr_seq sched j t1
JAj: t1 <= job_arrival j

job_arrival s <= job_arrival j
by apply leq_trans with t1; [lia | done]. Qed. (** Since interfering and interfering workload are sufficient to define the busy window, next, we reason about the bound on the length of the busy window. *) Section BusyWindowBound. (** Consider an arrival curve. *) Context `{MaxArrivals Task}. (** Consider a set of tasks that respects the arrival curve. *) Variable ts : list Task. Hypothesis H_taskset_respects_max_arrivals : taskset_respects_max_arrivals arr_seq ts. (** Assume that all jobs come from this task set. *) Hypothesis H_all_jobs_from_taskset : all_jobs_from_taskset arr_seq ts. (** Consider a constant [L] such that... *) Variable L : duration. (** ... [L] is greater than [0], and... *) Hypothesis H_L_positive : L > 0. (** [L] is the fixed point of the following equation. *) Hypothesis H_fixed_point : L = total_request_bound_function ts L. (** Assume all jobs have a valid job cost. *) Hypothesis H_arrivals_have_valid_job_costs : arrivals_have_valid_job_costs arr_seq. (** Then, we prove that [L] is a bound on the length of the busy window. *)
Task: TaskType
H: TaskCost Task
Job: JobType
H0: JobTask Job Task
H1: JobArrival Job
H2: JobCost Job
arr_seq: arrival_sequence Job
H_valid_arrival_sequence: valid_arrival_sequence arr_seq
sched: schedule (processor_state Job)
H_jobs_come_from_arrival_sequence: jobs_come_from_arrival_sequence sched arr_seq
H_jobs_must_arrive_to_execute: jobs_must_arrive_to_execute sched
H_completed_jobs_dont_execute: completed_jobs_dont_execute sched
H3: JLFP_policy Job
H_priority_is_reflexive: reflexive_priorities
H_priority_is_transitive: transitive_priorities
tsk: Task
H_sequential_tasks: sequential_tasks arr_seq sched
H_JLFP_respects_sequential_tasks: policy_respects_sequential_tasks
H4: JobReady Job (processor_state Job)
H_work_bearing_readiness: work_bearing_readiness arr_seq sched
H_sched_valid: valid_schedule sched arr_seq
work_conserving_ab:= work_conserving arr_seq sched: Prop
work_conserving_cl:= work_conserving.work_conserving arr_seq sched: Prop
busy_interval_prefix_ab:= definitions.busy_interval_prefix sched: Job -> instant -> instant -> Prop
H_work_conserving: work_conserving_cl
policy_reflexive: reflexive_priorities
H_policy_respects_sequential_tasks: policy_respects_sequential_tasks
H5: MaxArrivals Task
ts: seq Task
H_taskset_respects_max_arrivals: taskset_respects_max_arrivals arr_seq ts
H_all_jobs_from_taskset: all_jobs_from_taskset arr_seq ts
L: duration
H_L_positive: 0 < L
H_fixed_point: L = total_request_bound_function ts L
H_arrivals_have_valid_job_costs: arrivals_have_valid_job_costs arr_seq

busy_intervals_are_bounded_by arr_seq sched tsk L
Task: TaskType
H: TaskCost Task
Job: JobType
H0: JobTask Job Task
H1: JobArrival Job
H2: JobCost Job
arr_seq: arrival_sequence Job
H_valid_arrival_sequence: valid_arrival_sequence arr_seq
sched: schedule (processor_state Job)
H_jobs_come_from_arrival_sequence: jobs_come_from_arrival_sequence sched arr_seq
H_jobs_must_arrive_to_execute: jobs_must_arrive_to_execute sched
H_completed_jobs_dont_execute: completed_jobs_dont_execute sched
H3: JLFP_policy Job
H_priority_is_reflexive: reflexive_priorities
H_priority_is_transitive: transitive_priorities
tsk: Task
H_sequential_tasks: sequential_tasks arr_seq sched
H_JLFP_respects_sequential_tasks: policy_respects_sequential_tasks
H4: JobReady Job (processor_state Job)
H_work_bearing_readiness: work_bearing_readiness arr_seq sched
H_sched_valid: valid_schedule sched arr_seq
work_conserving_ab:= work_conserving arr_seq sched: Prop
work_conserving_cl:= work_conserving.work_conserving arr_seq sched: Prop
busy_interval_prefix_ab:= definitions.busy_interval_prefix sched: Job -> instant -> instant -> Prop
H_work_conserving: work_conserving_cl
policy_reflexive: reflexive_priorities
H_policy_respects_sequential_tasks: policy_respects_sequential_tasks
H5: MaxArrivals Task
ts: seq Task
H_taskset_respects_max_arrivals: taskset_respects_max_arrivals arr_seq ts
H_all_jobs_from_taskset: all_jobs_from_taskset arr_seq ts
L: duration
H_L_positive: 0 < L
H_fixed_point: L = total_request_bound_function ts L
H_arrivals_have_valid_job_costs: arrivals_have_valid_job_costs arr_seq

busy_intervals_are_bounded_by arr_seq sched tsk L
Task: TaskType
H: TaskCost Task
Job: JobType
H0: JobTask Job Task
H1: JobArrival Job
H2: JobCost Job
arr_seq: arrival_sequence Job
H_valid_arrival_sequence: valid_arrival_sequence arr_seq
sched: schedule (processor_state Job)
H_jobs_come_from_arrival_sequence: jobs_come_from_arrival_sequence sched arr_seq
H_jobs_must_arrive_to_execute: jobs_must_arrive_to_execute sched
H_completed_jobs_dont_execute: completed_jobs_dont_execute sched
H3: JLFP_policy Job
H_priority_is_reflexive: reflexive_priorities
H_priority_is_transitive: transitive_priorities
tsk: Task
H_sequential_tasks: sequential_tasks arr_seq sched
H_JLFP_respects_sequential_tasks: policy_respects_sequential_tasks
H4: JobReady Job (processor_state Job)
H_work_bearing_readiness: work_bearing_readiness arr_seq sched
H_sched_valid: valid_schedule sched arr_seq
work_conserving_ab:= work_conserving arr_seq sched: Prop
work_conserving_cl:= work_conserving.work_conserving arr_seq sched: Prop
busy_interval_prefix_ab:= definitions.busy_interval_prefix sched: Job -> instant -> instant -> Prop
H_work_conserving: work_conserving_cl
policy_reflexive: reflexive_priorities
H_policy_respects_sequential_tasks: policy_respects_sequential_tasks
H5: MaxArrivals Task
ts: seq Task
H_taskset_respects_max_arrivals: taskset_respects_max_arrivals arr_seq ts
H_all_jobs_from_taskset: all_jobs_from_taskset arr_seq ts
L: duration
H_L_positive: 0 < L
H_fixed_point: L = total_request_bound_function ts L
H_arrivals_have_valid_job_costs: arrivals_have_valid_job_costs arr_seq
j: Job
ARR: arrives_in arr_seq j
TSK: job_of_task tsk j
POS: 0 < job_cost j

exists t1 t2 : nat, t1 <= job_arrival j < t2 /\ t2 <= t1 + L /\ definitions.busy_interval sched j t1 t2
Task: TaskType
H: TaskCost Task
Job: JobType
H0: JobTask Job Task
H1: JobArrival Job
H2: JobCost Job
arr_seq: arrival_sequence Job
H_valid_arrival_sequence: valid_arrival_sequence arr_seq
sched: schedule (processor_state Job)
H_jobs_come_from_arrival_sequence: jobs_come_from_arrival_sequence sched arr_seq
H_jobs_must_arrive_to_execute: jobs_must_arrive_to_execute sched
H_completed_jobs_dont_execute: completed_jobs_dont_execute sched
H3: JLFP_policy Job
H_priority_is_reflexive: reflexive_priorities
H_priority_is_transitive: transitive_priorities
tsk: Task
H_sequential_tasks: sequential_tasks arr_seq sched
H_JLFP_respects_sequential_tasks: policy_respects_sequential_tasks
H4: JobReady Job (processor_state Job)
H_work_bearing_readiness: work_bearing_readiness arr_seq sched
H_sched_valid: valid_schedule sched arr_seq
work_conserving_ab:= work_conserving arr_seq sched: Prop
work_conserving_cl:= work_conserving.work_conserving arr_seq sched: Prop
busy_interval_prefix_ab:= definitions.busy_interval_prefix sched: Job -> instant -> instant -> Prop
H_work_conserving: work_conserving_cl
policy_reflexive: reflexive_priorities
H_policy_respects_sequential_tasks: policy_respects_sequential_tasks
H5: MaxArrivals Task
ts: seq Task
H_taskset_respects_max_arrivals: taskset_respects_max_arrivals arr_seq ts
H_all_jobs_from_taskset: all_jobs_from_taskset arr_seq ts
L: duration
H_L_positive: 0 < L
H_fixed_point: L = total_request_bound_function ts L
H_arrivals_have_valid_job_costs: arrivals_have_valid_job_costs arr_seq
j: Job
ARR: arrives_in arr_seq j
TSK: job_of_task tsk j
POS: 0 < job_cost j

forall t : instant, workload_of_jobs predT (arrivals_between arr_seq t (t + L)) <= L
Task: TaskType
H: TaskCost Task
Job: JobType
H0: JobTask Job Task
H1: JobArrival Job
H2: JobCost Job
arr_seq: arrival_sequence Job
H_valid_arrival_sequence: valid_arrival_sequence arr_seq
sched: schedule (processor_state Job)
H_jobs_come_from_arrival_sequence: jobs_come_from_arrival_sequence sched arr_seq
H_jobs_must_arrive_to_execute: jobs_must_arrive_to_execute sched
H_completed_jobs_dont_execute: completed_jobs_dont_execute sched
H3: JLFP_policy Job
H_priority_is_reflexive: reflexive_priorities
H_priority_is_transitive: transitive_priorities
tsk: Task
H_sequential_tasks: sequential_tasks arr_seq sched
H_JLFP_respects_sequential_tasks: policy_respects_sequential_tasks
H4: JobReady Job (processor_state Job)
H_work_bearing_readiness: work_bearing_readiness arr_seq sched
H_sched_valid: valid_schedule sched arr_seq
work_conserving_ab:= work_conserving arr_seq sched: Prop
work_conserving_cl:= work_conserving.work_conserving arr_seq sched: Prop
busy_interval_prefix_ab:= definitions.busy_interval_prefix sched: Job -> instant -> instant -> Prop
H_work_conserving: work_conserving_cl
policy_reflexive: reflexive_priorities
H_policy_respects_sequential_tasks: policy_respects_sequential_tasks
H5: MaxArrivals Task
ts: seq Task
H_taskset_respects_max_arrivals: taskset_respects_max_arrivals arr_seq ts
H_all_jobs_from_taskset: all_jobs_from_taskset arr_seq ts
L: duration
H_L_positive: 0 < L
H_fixed_point: L = total_request_bound_function ts L
H_arrivals_have_valid_job_costs: arrivals_have_valid_job_costs arr_seq
j: Job
ARR: arrives_in arr_seq j
TSK: job_of_task tsk j
POS: 0 < job_cost j
t1, t2: nat
T1: t1 <= job_arrival j < t2
T2: t2 <= t1 + L
GGG: busy_interval arr_seq sched j t1 t2
exists t1 t2 : nat, t1 <= job_arrival j < t2 /\ t2 <= t1 + L /\ definitions.busy_interval sched j t1 t2
Task: TaskType
H: TaskCost Task
Job: JobType
H0: JobTask Job Task
H1: JobArrival Job
H2: JobCost Job
arr_seq: arrival_sequence Job
H_valid_arrival_sequence: valid_arrival_sequence arr_seq
sched: schedule (processor_state Job)
H_jobs_come_from_arrival_sequence: jobs_come_from_arrival_sequence sched arr_seq
H_jobs_must_arrive_to_execute: jobs_must_arrive_to_execute sched
H_completed_jobs_dont_execute: completed_jobs_dont_execute sched
H3: JLFP_policy Job
H_priority_is_reflexive: reflexive_priorities
H_priority_is_transitive: transitive_priorities
tsk: Task
H_sequential_tasks: sequential_tasks arr_seq sched
H_JLFP_respects_sequential_tasks: policy_respects_sequential_tasks
H4: JobReady Job (processor_state Job)
H_work_bearing_readiness: work_bearing_readiness arr_seq sched
H_sched_valid: valid_schedule sched arr_seq
work_conserving_ab:= work_conserving arr_seq sched: Prop
work_conserving_cl:= work_conserving.work_conserving arr_seq sched: Prop
busy_interval_prefix_ab:= definitions.busy_interval_prefix sched: Job -> instant -> instant -> Prop
H_work_conserving: work_conserving_cl
policy_reflexive: reflexive_priorities
H_policy_respects_sequential_tasks: policy_respects_sequential_tasks
H5: MaxArrivals Task
ts: seq Task
H_taskset_respects_max_arrivals: taskset_respects_max_arrivals arr_seq ts
H_all_jobs_from_taskset: all_jobs_from_taskset arr_seq ts
L: duration
H_L_positive: 0 < L
H_fixed_point: L = total_request_bound_function ts L
H_arrivals_have_valid_job_costs: arrivals_have_valid_job_costs arr_seq
j: Job
ARR: arrives_in arr_seq j
TSK: job_of_task tsk j
POS: 0 < job_cost j

forall t : instant, workload_of_jobs predT (arrivals_between arr_seq t (t + L)) <= L
move => t; rewrite {2}H_fixed_point; apply total_workload_le_total_rbf; try by done.
Task: TaskType
H: TaskCost Task
Job: JobType
H0: JobTask Job Task
H1: JobArrival Job
H2: JobCost Job
arr_seq: arrival_sequence Job
H_valid_arrival_sequence: valid_arrival_sequence arr_seq
sched: schedule (processor_state Job)
H_jobs_come_from_arrival_sequence: jobs_come_from_arrival_sequence sched arr_seq
H_jobs_must_arrive_to_execute: jobs_must_arrive_to_execute sched
H_completed_jobs_dont_execute: completed_jobs_dont_execute sched
H3: JLFP_policy Job
H_priority_is_reflexive: reflexive_priorities
H_priority_is_transitive: transitive_priorities
tsk: Task
H_sequential_tasks: sequential_tasks arr_seq sched
H_JLFP_respects_sequential_tasks: policy_respects_sequential_tasks
H4: JobReady Job (processor_state Job)
H_work_bearing_readiness: work_bearing_readiness arr_seq sched
H_sched_valid: valid_schedule sched arr_seq
work_conserving_ab:= work_conserving arr_seq sched: Prop
work_conserving_cl:= work_conserving.work_conserving arr_seq sched: Prop
busy_interval_prefix_ab:= definitions.busy_interval_prefix sched: Job -> instant -> instant -> Prop
H_work_conserving: work_conserving_cl
policy_reflexive: reflexive_priorities
H_policy_respects_sequential_tasks: policy_respects_sequential_tasks
H5: MaxArrivals Task
ts: seq Task
H_taskset_respects_max_arrivals: taskset_respects_max_arrivals arr_seq ts
H_all_jobs_from_taskset: all_jobs_from_taskset arr_seq ts
L: duration
H_L_positive: 0 < L
H_fixed_point: L = total_request_bound_function ts L
H_arrivals_have_valid_job_costs: arrivals_have_valid_job_costs arr_seq
j: Job
ARR: arrives_in arr_seq j
TSK: job_of_task tsk j
POS: 0 < job_cost j
t1, t2: nat
T1: t1 <= job_arrival j < t2
T2: t2 <= t1 + L
GGG: busy_interval arr_seq sched j t1 t2

exists t1 t2 : nat, t1 <= job_arrival j < t2 /\ t2 <= t1 + L /\ definitions.busy_interval sched j t1 t2
Task: TaskType
H: TaskCost Task
Job: JobType
H0: JobTask Job Task
H1: JobArrival Job
H2: JobCost Job
arr_seq: arrival_sequence Job
H_valid_arrival_sequence: valid_arrival_sequence arr_seq
sched: schedule (processor_state Job)
H_jobs_come_from_arrival_sequence: jobs_come_from_arrival_sequence sched arr_seq
H_jobs_must_arrive_to_execute: jobs_must_arrive_to_execute sched
H_completed_jobs_dont_execute: completed_jobs_dont_execute sched
H3: JLFP_policy Job
H_priority_is_reflexive: reflexive_priorities
H_priority_is_transitive: transitive_priorities
tsk: Task
H_sequential_tasks: sequential_tasks arr_seq sched
H_JLFP_respects_sequential_tasks: policy_respects_sequential_tasks
H4: JobReady Job (processor_state Job)
H_work_bearing_readiness: work_bearing_readiness arr_seq sched
H_sched_valid: valid_schedule sched arr_seq
work_conserving_ab:= work_conserving arr_seq sched: Prop
work_conserving_cl:= work_conserving.work_conserving arr_seq sched: Prop
busy_interval_prefix_ab:= definitions.busy_interval_prefix sched: Job -> instant -> instant -> Prop
H_work_conserving: work_conserving_cl
policy_reflexive: reflexive_priorities
H_policy_respects_sequential_tasks: policy_respects_sequential_tasks
H5: MaxArrivals Task
ts: seq Task
H_taskset_respects_max_arrivals: taskset_respects_max_arrivals arr_seq ts
H_all_jobs_from_taskset: all_jobs_from_taskset arr_seq ts
L: duration
H_L_positive: 0 < L
H_fixed_point: L = total_request_bound_function ts L
H_arrivals_have_valid_job_costs: arrivals_have_valid_job_costs arr_seq
j: Job
ARR: arrives_in arr_seq j
TSK: job_of_task tsk j
POS: 0 < job_cost j
t1, t2: nat
T1: t1 <= job_arrival j < t2
T2: t2 <= t1 + L
GGG: busy_interval arr_seq sched j t1 t2

t2 <= t1 + L /\ definitions.busy_interval sched j t1 t2
Task: TaskType
H: TaskCost Task
Job: JobType
H0: JobTask Job Task
H1: JobArrival Job
H2: JobCost Job
arr_seq: arrival_sequence Job
H_valid_arrival_sequence: valid_arrival_sequence arr_seq
sched: schedule (processor_state Job)
H_jobs_come_from_arrival_sequence: jobs_come_from_arrival_sequence sched arr_seq
H_jobs_must_arrive_to_execute: jobs_must_arrive_to_execute sched
H_completed_jobs_dont_execute: completed_jobs_dont_execute sched
H3: JLFP_policy Job
H_priority_is_reflexive: reflexive_priorities
H_priority_is_transitive: transitive_priorities
tsk: Task
H_sequential_tasks: sequential_tasks arr_seq sched
H_JLFP_respects_sequential_tasks: policy_respects_sequential_tasks
H4: JobReady Job (processor_state Job)
H_work_bearing_readiness: work_bearing_readiness arr_seq sched
H_sched_valid: valid_schedule sched arr_seq
work_conserving_ab:= work_conserving arr_seq sched: Prop
work_conserving_cl:= work_conserving.work_conserving arr_seq sched: Prop
busy_interval_prefix_ab:= definitions.busy_interval_prefix sched: Job -> instant -> instant -> Prop
H_work_conserving: work_conserving_cl
policy_reflexive: reflexive_priorities
H_policy_respects_sequential_tasks: policy_respects_sequential_tasks
H5: MaxArrivals Task
ts: seq Task
H_taskset_respects_max_arrivals: taskset_respects_max_arrivals arr_seq ts
H_all_jobs_from_taskset: all_jobs_from_taskset arr_seq ts
L: duration
H_L_positive: 0 < L
H_fixed_point: L = total_request_bound_function ts L
H_arrivals_have_valid_job_costs: arrivals_have_valid_job_costs arr_seq
j: Job
ARR: arrives_in arr_seq j
TSK: job_of_task tsk j
POS: 0 < job_cost j
t1, t2: nat
T1: t1 <= job_arrival j < t2
T2: t2 <= t1 + L
GGG: busy_interval arr_seq sched j t1 t2

definitions.busy_interval sched j t1 t2
by apply instantiated_busy_interval_equivalent_busy_interval. Qed. End BusyWindowBound. End I_IW_correctness. End JLFPInstantiation. (** To preserve modularity and hide the implementation details of a technical definition presented in this file, we make the definition opaque. This way, we ensure that the system will treat each of these definitions as a single entity. *) Global Opaque another_hep_job_interference another_hep_job_interference_dec another_task_hep_job_interference another_task_hep_job_interference_dec ideal_jlfp_interference ideal_jlfp_interfering_workload cumulative_another_hep_job_interference cumulative_another_task_hep_job_interference cumulative_other_hep_jobs_interfering_workload other_hep_jobs_interfering_workload.