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
rtproofs
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
Sidebyside
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