Skip to content
GitLab
Projects
Groups
Snippets
Help
Loading...
Help
What's new
7
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in
Toggle navigation
Open sidebar
MEVEL Glen
iris-time-proofs
Commits
ed4ac088
Commit
ed4ac088
authored
Oct 21, 2020
by
Jacques-Henri Jourdan
Browse files
Options
Browse Files
Download
Plain Diff
Merge branch 'master' of gitlab.inria.fr:gmevel/iris-time-proofs into master
parents
831f06c7
e53b2901
Changes
5
Hide whitespace changes
Inline
Side-by-side
Showing
5 changed files
with
9 additions
and
9 deletions
+9
-9
opam
opam
+1
-1
theories/Combined.v
theories/Combined.v
+2
-2
theories/TimeCredits.v
theories/TimeCredits.v
+2
-2
theories/TimeCreditsAltProofs.v
theories/TimeCreditsAltProofs.v
+2
-2
theories/TimeReceipts.v
theories/TimeReceipts.v
+2
-2
No files found.
opam
View file @
ed4ac088
...
...
@@ -11,6 +11,6 @@ install: [make "install"]
remove: [ "sh" "-c" "rm -rf '%{lib}%/coq/user-contrib/iris_time" ]
depends: [
"coq" { (>= "8.10.2" & < "8.13~") | (= "dev") }
"coq-iris" { (= "dev.2020-10-
14.0.dc793c10
") | (= "dev") }
"coq-iris" { (= "dev.2020-10-
21.1.4b3d541a
") | (= "dev") }
"coq-tlc" { (= "20200328") | (= "dev") }
]
theories/Combined.v
View file @
ed4ac088
...
...
@@ -833,13 +833,13 @@ Section Soundness.
(* … now we have to prove a WP. *)
set
σ
'
:
=
S
«σ»
.
(* allocate the heap, including cell ℓ (on which we need to keep an eye): *)
iMod
(
own_alloc
(
gmap_view_auth
(<[
ℓ
:
=
#
M
]>
σ
'
)
⋅
gmap_view_frag
ℓ
(
DfracOwn
1
)
#
M
))
iMod
(
own_alloc
(
gmap_view_auth
1
(<[
ℓ
:
=
#
M
]>
σ
'
)
⋅
gmap_view_frag
ℓ
(
DfracOwn
1
)
#
M
))
as
(
h
)
"[Hh● Hℓ◯]"
.
{
apply
gmap_view_both_valid_L
.
split
;
first
done
.
rewrite
lookup_insert
.
done
.
}
(* allocate the meta-heap: *)
iMod
(
own_alloc
(
gmap_view_auth
(
V
:
=
gnameO
)
∅
))
as
(
γ
meta
)
"H"
;
iMod
(
own_alloc
(
gmap_view_auth
1
(
V
:
=
gnameO
)
∅
))
as
(
γ
meta
)
"H"
;
first
by
apply
gmap_view_auth_valid
.
(* allocate the ghost state associated with ℓ: *)
iAssert
(|==>
∃
γ
,
...
...
theories/TimeCredits.v
View file @
ed4ac088
...
...
@@ -422,13 +422,13 @@ Section Soundness.
(* … now we have to prove a WP. *)
set
σ
'
:
=
S
«σ»
.
(* allocate the heap, including cell ℓ (on which we need to keep an eye): *)
iMod
(
own_alloc
(
gmap_view_auth
(<[
ℓ
:
=
#
k
]>
σ
'
)
⋅
gmap_view_frag
ℓ
(
DfracOwn
1
)
#
k
))
iMod
(
own_alloc
(
gmap_view_auth
1
(<[
ℓ
:
=
#
k
]>
σ
'
)
⋅
gmap_view_frag
ℓ
(
DfracOwn
1
)
#
k
))
as
(
h
)
"[Hh● Hℓ◯]"
.
{
apply
gmap_view_both_valid_L
.
split
;
first
done
.
rewrite
lookup_insert
.
done
.
}
(* allocate the meta-heap: *)
iMod
(
own_alloc
(
gmap_view_auth
(
V
:
=
gnameO
)
∅
))
as
(
γ
meta
)
"H"
;
iMod
(
own_alloc
(
gmap_view_auth
1
(
V
:
=
gnameO
)
∅
))
as
(
γ
meta
)
"H"
;
first
by
apply
gmap_view_auth_valid
.
(* allocate the ghost state associated with ℓ: *)
iMod
(
auth_nat_alloc
k
)
as
(
γ
)
"[Hγ● Hγ◯]"
.
...
...
theories/TimeCreditsAltProofs.v
View file @
ed4ac088
...
...
@@ -246,13 +246,13 @@ Proof.
* we settle the needed invariant TC_invariant. *)
set
σ
'
:
=
S
«σ
1
»
.
(* allocate the heap, including cell ℓ (on which we need to keep an eye): *)
iMod
(
own_alloc
(
gmap_view_auth
(<[
ℓ
:
=
#
m
]>
σ
'
)
⋅
gmap_view_frag
ℓ
(
DfracOwn
1
)
#
m
))
iMod
(
own_alloc
(
gmap_view_auth
1
(<[
ℓ
:
=
#
m
]>
σ
'
)
⋅
gmap_view_frag
ℓ
(
DfracOwn
1
)
#
m
))
as
(
h
)
"[Hh● Hℓ◯]"
.
{
apply
gmap_view_both_valid_L
.
split
;
first
done
.
rewrite
lookup_insert
.
done
.
}
(* allocate the meta-heap: *)
iMod
(
own_alloc
(
gmap_view_auth
(
V
:
=
gnameO
)
∅
))
as
(
γ
meta
)
"H"
;
iMod
(
own_alloc
(
gmap_view_auth
1
(
V
:
=
gnameO
)
∅
))
as
(
γ
meta
)
"H"
;
first
by
apply
gmap_view_auth_valid
.
(* allocate the ghost state associated with ℓ: *)
iMod
(
auth_nat_alloc
m
)
as
(
γ
)
"[Hγ● Hγ◯]"
.
...
...
theories/TimeReceipts.v
View file @
ed4ac088
...
...
@@ -319,13 +319,13 @@ Section Soundness.
(* … now we have to prove a WP. *)
set
σ
'
:
=
S
«σ»
.
(* allocate the heap, including cell ℓ (on which we need to keep an eye): *)
iMod
(
own_alloc
(
gmap_view_auth
(<[
ℓ
:
=
#(
nmax
-
1
)%
nat
]>
σ
'
)
⋅
gmap_view_frag
ℓ
(
DfracOwn
1
)
#(
nmax
-
1
)%
nat
))
iMod
(
own_alloc
(
gmap_view_auth
1
(<[
ℓ
:
=
#(
nmax
-
1
)%
nat
]>
σ
'
)
⋅
gmap_view_frag
ℓ
(
DfracOwn
1
)
#(
nmax
-
1
)%
nat
))
as
(
h
)
"[Hh● Hℓ◯]"
.
{
apply
gmap_view_both_valid_L
.
split
;
first
done
.
rewrite
lookup_insert
.
done
.
}
(* allocate the meta-heap: *)
iMod
(
own_alloc
(
gmap_view_auth
(
V
:
=
gnameO
)
∅
))
as
(
γ
meta
)
"H"
;
iMod
(
own_alloc
(
gmap_view_auth
1
(
V
:
=
gnameO
)
∅
))
as
(
γ
meta
)
"H"
;
first
by
apply
gmap_view_auth_valid
.
(* allocate the ghost state associated with ℓ: *)
iMod
(
auth_nat_alloc
0
)
as
(
γ
1
)
"[Hγ1● _]"
.
...
...
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