Skip to content
GitLab
Projects
Groups
Snippets
Help
Loading...
Help
What's new
10
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
Open sidebar
Sophie Quinton
rt-proofs
Commits
cecba062
Commit
cecba062
authored
Sep 09, 2016
by
Felipe Cerqueira
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
Remove unnecessary assumption job_cost > 0
parent
bf05f1be
Changes
1
Hide whitespace changes
Inline
Side-by-side
Showing
1 changed file
with
10 additions
and
9 deletions
+10
-9
implementation/uni/basic/schedule.v
implementation/uni/basic/schedule.v
+10
-9
No files found.
implementation/uni/basic/schedule.v
View file @
cecba062
...
...
@@ -63,13 +63,9 @@ Module ConcreteScheduler.
Context
{
Job
:
eqType
}.
Variable
job_cost
:
Job
->
time
.
(* Let arr_seq be any job arrival sequence with no duplicates
, ..
. *)
(* Let arr_seq be any job arrival sequence with no duplicates. *)
Variable
arr_seq
:
arrival_sequence
Job
.
Hypothesis
H_arrival_sequence_is_a_set
:
arrival_sequence_is_a_set
arr_seq
.
(* ...where jobs have positive cost. *)
Hypothesis
H_job_cost_positive
:
forall
(
j
:
JobIn
arr_seq
),
job_cost_positive
job_cost
j
.
(* Consider any JLDP policy that is transitive and total. *)
Variable
higher_eq_priority
:
JLDP_policy
arr_seq
.
...
...
@@ -189,7 +185,6 @@ Module ConcreteScheduler.
Theorem
scheduler_completed_jobs_dont_execute
:
completed_jobs_dont_execute
job_cost
sched
.
Proof
.
rename
H_job_cost_positive
into
GT0
.
unfold
completed_jobs_dont_execute
,
service
,
service_during
.
intros
j
t
.
induction
t
;
first
by
rewrite
big_geq
.
...
...
@@ -204,9 +199,15 @@ Module ConcreteScheduler.
rewrite
EQ
-{
2
}[
job_cost
j
]
addn0
;
apply
leq_add
;
first
by
done
.
destruct
t
.
{
rewrite
big_geq
//
in
EQ
.
specialize
(
GT0
j
)
;
unfold
job_cost_positive
in
*.
by
rewrite
-
EQ
ltn0
in
GT0
.
rewrite
/
service_at
/
scheduled_at
.
destruct
(
sched
0
==
Some
j
)
eqn
:
SCHED
;
last
by
done
.
move
:
SCHED
=>
/
eqP
SCHED
.
rewrite
scheduler_picks_first_job
in
SCHED
.
set
jobs
:
=
sorted_pending_jobs
_
_
_
_
_
in
SCHED
.
have
IN
:
j
\
in
jobs
.
by
destruct
jobs
;
last
by
move
:
SCHED
=>
/=
;
case
=>
SAME
;
subst
;
rewrite
in_cons
eq_refl
.
rewrite
mem_sort
mem_filter
in
IN
;
move
:
IN
=>
/
andP
[/
andP
[
_
NOTCOMP
]
_
].
by
rewrite
/
completed_by
-
EQ
eq_refl
in
NOTCOMP
.
}
{
unfold
service_at
,
scheduled_at
.
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
.
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment