From 71086c3537e3808bf60cf1e7e49f3c1c204bb0f3 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Bj=C3=B6rn=20Brandenburg?= <bbb@mpi-sws.org>
Date: Wed, 18 Dec 2019 12:28:07 +0100
Subject: [PATCH] improve documentation of EDF optimality  result

---
 results/edf/optimality.v | 41 +++++++++++++++++++++++++---------------
 1 file changed, 26 insertions(+), 15 deletions(-)

diff --git a/results/edf/optimality.v b/results/edf/optimality.v
index aaece3ca7..18078928c 100644
--- a/results/edf/optimality.v
+++ b/results/edf/optimality.v
@@ -1,18 +1,23 @@
 Require Export prosa.analysis.facts.transform.edf_opt.
 
-(** This file contains the theorem that states the famous EDF
-    optimality result: if there is any way to meet all deadlines
-    (assuming an ideal uniprocessor), then there is also an EDF
-    schedule in which all deadlines are met. *)
+(** * Optimality of EDF on Ideal Uniprocessors *)
+
+(** This module provides the famous EDF optimality theorem: if there
+    is any way to meet all deadlines (assuming an ideal uniprocessor
+    schedule), then there is also an (ideal) EDF schedule in which all
+    deadlines are met. *)
 
 (** The following results assume ideal uniprocessor schedules... *)
 Require prosa.model.processor.ideal.
 (** ... and the basic (i.e., Liu & Layland) readiness model under which any
-    pending job is ready. *)
+    pending job is always ready. *)
 Require prosa.model.readiness.basic.
 
+(** ** Optimality Theorem *)
+
 Section Optimality.
-  (** For any given type of jobs... *)
+  (** For any given type of jobs, each characterized by execution
+      costs, an arrival time, and an absolute deadline,... *)
   Context {Job : JobType} `{JobCost Job} `{JobDeadline Job} `{JobArrival Job}.
 
   (** ... and any valid job arrival sequence. *)
@@ -45,24 +50,30 @@ Section Optimality.
 
 End Optimality.
 
-(** We further state a weaker notion of the above optimality claim that avoids
-    a dependency on a given arrival sequence. Specifically, it establishes
-    that, given a reference schedule without deadline misses, there exists an
-    EDF schedule of the same jobs in which no deadlines are missed. *)
+(** ** Weak Optimality Theorem *)
+
+(** We further state a weaker notion of the above optimality result
+    that avoids a dependency on a given arrival
+    sequence. Specifically, it establishes that, given a reference
+    schedule without deadline misses, there exists an EDF schedule of
+    the same jobs in which no deadlines are missed. *)
 Section WeakOptimality.
 
-  (** For any given type of jobs,... *)
+  (** For any given type of jobs, each characterized by execution
+      costs, an arrival time, and an absolute deadline,... *)
   Context {Job : JobType} `{JobCost Job} `{JobDeadline Job} `{JobArrival Job}.
 
-  (** ...if we have a well-behaved schedule in which no deadlines are missed,... *)
+  (** ... if we have a well-behaved reference schedule ... *)
   Variable any_sched: schedule (ideal.processor_state Job).
   Hypothesis H_must_arrive: jobs_must_arrive_to_execute any_sched.
   Hypothesis H_completed_dont_execute: completed_jobs_dont_execute any_sched.
+
+  (**  ... in which no deadlines are missed, ... *)
   Hypothesis H_all_deadlines_met: all_deadlines_met any_sched.
 
-  (** ...then there also exists a corresponding EDF schedule in which
-     no deadlines are missed (and in which exactly the same set of
-     jobs is scheduled, as ensured by the last clause). *)
+  (** ...then there also exists an EDF schedule in which no deadlines
+      are missed (and in which exactly the same set of jobs is
+      scheduled, as ensured by the last clause). *)
   Theorem weak_EDF_optimality:
     exists edf_sched : schedule (ideal.processor_state Job),
       jobs_must_arrive_to_execute edf_sched /\
-- 
GitLab