From 2dc14ac2b5f9ed61f9b69c0c823a7e080085a79b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Bj=C3=B6rn=20Brandenburg?= <bbb@mpi-sws.org> Date: Thu, 12 Dec 2019 14:55:14 +0100 Subject: [PATCH] note that common priority policies are total --- restructuring/model/priority/deadline_monotonic.v | 8 +++++++- restructuring/model/priority/edf.v | 8 +++++++- restructuring/model/priority/fifo.v | 8 +++++++- restructuring/model/priority/numeric_fixed_priority.v | 8 +++++++- restructuring/model/priority/rate_monotonic.v | 8 +++++++- 5 files changed, 35 insertions(+), 5 deletions(-) diff --git a/restructuring/model/priority/deadline_monotonic.v b/restructuring/model/priority/deadline_monotonic.v index ff88a5370..ff680b9dd 100644 --- a/restructuring/model/priority/deadline_monotonic.v +++ b/restructuring/model/priority/deadline_monotonic.v @@ -29,11 +29,17 @@ Section Properties. Lemma DM_is_transitive : transitive_priorities. Proof. by intros t y x z; apply leq_trans. Qed. + (** DM is total. *) + Lemma DM_is_total : total_priorities. + Proof. by move=> t j1 j2; apply leq_total. Qed. + End Properties. (** We add the above lemmas into a "Hint Database" basic_facts, so Coq will be able to apply them automatically. *) Hint Resolve DM_is_reflexive - DM_is_transitive: basic_facts. + DM_is_transitive + DM_is_total + : basic_facts. diff --git a/restructuring/model/priority/edf.v b/restructuring/model/priority/edf.v index aaa2db8a8..16f470985 100644 --- a/restructuring/model/priority/edf.v +++ b/restructuring/model/priority/edf.v @@ -28,11 +28,17 @@ Section PropertiesOfEDF. Lemma EDF_is_transitive : transitive_priorities. Proof. by intros t y x z; apply leq_trans. Qed. + (** EDF is total. *) + Lemma EDF_is_total : total_priorities. + Proof. by move=> t j1 j2; apply leq_total. Qed. + End PropertiesOfEDF. (** We add the above lemmas into a "Hint Database" basic_facts, so Coq will be able to apply them automatically. *) Hint Resolve EDF_is_reflexive - EDF_is_transitive: basic_facts. + EDF_is_transitive + EDF_is_total + : basic_facts. diff --git a/restructuring/model/priority/fifo.v b/restructuring/model/priority/fifo.v index a8bf7af8b..2e16246e8 100644 --- a/restructuring/model/priority/fifo.v +++ b/restructuring/model/priority/fifo.v @@ -25,11 +25,17 @@ Section Properties. Lemma FIFO_is_transitive : transitive_priorities. Proof. by intros t y x z; apply leq_trans. Qed. + (** FIFO is total. *) + Lemma FIFO_is_total : total_priorities. + Proof. by move=> t j1 j2; apply leq_total. Qed. + End Properties. (** We add the above lemmas into a "Hint Database" basic_facts, so Coq will be able to apply them automatically. *) Hint Resolve FIFO_is_reflexive - FIFO_is_transitive: basic_facts. + FIFO_is_transitive + FIFO_is_total + : basic_facts. diff --git a/restructuring/model/priority/numeric_fixed_priority.v b/restructuring/model/priority/numeric_fixed_priority.v index dd926cf88..689f61b98 100644 --- a/restructuring/model/priority/numeric_fixed_priority.v +++ b/restructuring/model/priority/numeric_fixed_priority.v @@ -41,11 +41,17 @@ Section Properties. by move=> PRIO_yx PRIO_zy; apply leq_trans with (n := task_priority (job_task y)). Qed. + (** The resulting priority policy is total. *) + Lemma NFP_is_total : total_priorities. + Proof. by move=> t j1 j2; apply leq_total. Qed. + End Properties. (** We add the above lemmas into a "Hint Database" basic_facts, so Coq will be able to apply them automatically. *) Hint Resolve NFP_is_reflexive - NFP_is_transitive: basic_facts. + NFP_is_transitive + NFP_is_total + : basic_facts. diff --git a/restructuring/model/priority/rate_monotonic.v b/restructuring/model/priority/rate_monotonic.v index 4d3606e01..3ab5fa7f2 100644 --- a/restructuring/model/priority/rate_monotonic.v +++ b/restructuring/model/priority/rate_monotonic.v @@ -31,11 +31,17 @@ Section Properties. Lemma RM_is_transitive : transitive_priorities. Proof. by intros t y x z; apply leq_trans. Qed. + (** RM is total. *) + Lemma RM_is_total : total_priorities. + Proof. by move=> t j1 j2; apply leq_total. Qed. + End Properties. (** We add the above lemmas into a "Hint Database" basic_facts, so Coq will be able to apply them automatically. *) Hint Resolve RM_is_reflexive - RM_is_transitive: basic_facts. + RM_is_transitive + RM_is_total + : basic_facts. -- GitLab