Skip to content
GitLab
Projects
Groups
Snippets
Help
Loading...
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
I
iris-coq
Project overview
Project overview
Details
Activity
Releases
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Issues
0
Issues
0
List
Boards
Labels
Service Desk
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Operations
Operations
Incidents
Environments
Analytics
Analytics
CI / CD
Repository
Value Stream
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
Janno
iris-coq
Commits
d819164f
Commit
d819164f
authored
Dec 05, 2017
by
Ralf Jung
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
bump std++; use \sqsubseteq for stuckness_le
parent
c5e25a27
Changes
3
Hide whitespace changes
Inline
Side-by-side
Showing
3 changed files
with
4 additions
and
3 deletions
+4
-3
opam
opam
+1
-1
theories/program_logic/hoare.v
theories/program_logic/hoare.v
+1
-1
theories/program_logic/weakestpre.v
theories/program_logic/weakestpre.v
+2
-1
No files found.
opam
View file @
d819164f
...
...
@@ -12,5 +12,5 @@ remove: ["rm" "-rf" "%{lib}%/coq/user-contrib/iris"]
depends: [
"coq" { (>= "8.6.1" & < "8.8~") | (= "dev") }
"coq-mathcomp-ssreflect" { (>= "1.6.1" & < "1.7~") | (= "dev") }
"coq-stdpp" { (= "dev.2017-1
1-29
.1") | (= "dev") }
"coq-stdpp" { (= "dev.2017-1
2-04
.1") | (= "dev") }
]
theories/program_logic/hoare.v
View file @
d819164f
...
...
@@ -58,7 +58,7 @@ Lemma ht_mono s E P P' Φ Φ' e :
(
P
⊢
P'
)
→
(
∀
v
,
Φ
'
v
⊢
Φ
v
)
→
{{
P'
}}
e
@
s
;
E
{{
Φ
'
}}
⊢
{{
P
}}
e
@
s
;
E
{{
Φ
}}.
Proof
.
by
intros
;
apply
persistently_mono
,
wand_mono
,
wp_mono
.
Qed
.
Lemma
ht_stuck_mono
s1
s2
E
P
Φ
e
:
s
tuckness_le
s1
s2
→
{{
P
}}
e
@
s1
;
E
{{
Φ
}}
⊢
{{
P
}}
e
@
s2
;
E
{{
Φ
}}.
s
1
⊑
s2
→
{{
P
}}
e
@
s1
;
E
{{
Φ
}}
⊢
{{
P
}}
e
@
s2
;
E
{{
Φ
}}.
Proof
.
by
intros
;
apply
persistently_mono
,
wand_mono
,
wp_stuck_mono
.
Qed
.
Global
Instance
ht_mono'
s
E
:
Proper
(
flip
(
⊢
)
==>
eq
==>
pointwise_relation
_
(
⊢
)
==>
(
⊢
))
(
ht
s
E
).
...
...
theories/program_logic/weakestpre.v
View file @
d819164f
...
...
@@ -22,6 +22,7 @@ Instance: PreOrder stuckness_le.
Proof
.
split
;
first
by
case
.
move
=>
s1
s2
s3
.
by
case
:
s1
;
case
:
s2
;
case
:
s3
.
Qed
.
Instance
:
SqSubsetEq
stuckness
:
=
stuckness_le
.
Definition
stuckness_to_atomicity
(
s
:
stuckness
)
:
atomicity
:
=
if
s
is
maybe_stuck
then
strongly_atomic
else
weakly_atomic
.
...
...
@@ -315,7 +316,7 @@ Proof.
iIntros
"{$H}"
(
v
)
"?"
.
by
iApply
H
Φ
.
Qed
.
Lemma
wp_stuck_mono
s1
s2
E
e
Φ
:
s
tuckness_le
s1
s2
→
WP
e
@
s1
;
E
{{
Φ
}}
⊢
WP
e
@
s2
;
E
{{
Φ
}}.
s
1
⊑
s2
→
WP
e
@
s1
;
E
{{
Φ
}}
⊢
WP
e
@
s2
;
E
{{
Φ
}}.
Proof
.
case
:
s1
;
case
:
s2
=>
//
_
.
exact
:
wp_stuck_weaken
.
Qed
.
Lemma
wp_mask_mono
s
E1
E2
e
Φ
:
E1
⊆
E2
→
WP
e
@
s
;
E1
{{
Φ
}}
⊢
WP
e
@
s
;
E2
{{
Φ
}}.
Proof
.
iIntros
(?)
"H"
;
iApply
(
wp_strong_mono
s
E1
E2
)
;
auto
.
iFrame
;
eauto
.
Qed
.
...
...
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