Library prosa.implementation.priority.gel
GEL Priority Policy
#[local] Instance GEL (Job : JobType) `{JobPriorityPoint Job} : JLFP_policy Job :=
{
hep_job (j1 j2 : Job) := (job_priority_point j1 ≤ job_priority_point j2)%R
}.
{
hep_job (j1 j2 : Job) := (job_priority_point j1 ≤ job_priority_point j2)%R
}.
In this section, we prove a few properties about the concrete GEL policy.
Consider any type of jobs with absolute priority points.
Fact GEL_hep_job :
∀ j1 j2,
@hep_job Job (GEL Job) j1 j2
= (job_priority_point j1 ≤ job_priority_point j2)%R.
∀ j1 j2,
@hep_job Job (GEL Job) j1 j2
= (job_priority_point j1 ≤ job_priority_point j2)%R.
GEL is reflexive.
GEL is transitive.
GEL is total.
The concrete GEL implementation is indeed a GEL policy.
We add the above facts into the basic_rt_facts hint database so Coq can
apply them automatically where needed.
Global Hint Resolve
GEL_is_GEL_policy
GEL_is_reflexive
GEL_is_transitive
GEL_is_total
: basic_rt_facts.
GEL_is_GEL_policy
GEL_is_reflexive
GEL_is_transitive
GEL_is_total
: basic_rt_facts.