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 / Register
Toggle navigation
Open sidebar
Simon Spies
Iris
Commits
53f6857f
Commit
53f6857f
authored
Jan 04, 2017
by
Robbert Krebbers
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
Tweak lib/sts so not all lemmas are parametrized by φ.
parent
18f29711
Changes
1
Show whitespace changes
Inline
Side-by-side
Showing
1 changed file
with
7 additions
and
6 deletions
+7
-6
theories/base_logic/lib/sts.v
theories/base_logic/lib/sts.v
+7
-6
No files found.
theories/base_logic/lib/sts.v
View file @
53f6857f
...
...
@@ -58,7 +58,8 @@ Instance: Params (@sts_own) 5.
Instance
:
Params
(@
sts_ctx
)
6
.
Section
sts
.
Context
`
{
invG
Σ
,
stsG
Σ
sts
}
(
φ
:
sts
.
state
sts
→
iProp
Σ
).
Context
`
{
invG
Σ
,
stsG
Σ
sts
}.
Implicit
Types
φ
:
sts
.
state
sts
→
iProp
Σ
.
Implicit
Types
N
:
namespace
.
Implicit
Types
P
Q
R
:
iProp
Σ
.
Implicit
Types
γ
:
gname
.
...
...
@@ -82,7 +83,7 @@ Section sts.
sts_ownS
γ
(
S1
∩
S2
)
(
T1
∪
T2
)
⊣
⊢
(
sts_ownS
γ
S1
T1
∗
sts_ownS
γ
S2
T2
).
Proof
.
intros
.
by
rewrite
/
sts_ownS
-
own_op
sts_op_frag
.
Qed
.
Lemma
sts_alloc
E
N
s
:
Lemma
sts_alloc
φ
E
N
s
:
▷
φ
s
={
E
}=
∗
∃
γ
,
sts_ctx
γ
N
φ
∧
sts_own
γ
s
(
⊤
∖
sts
.
tok
s
).
Proof
.
iIntros
"Hφ"
.
rewrite
/
sts_ctx
/
sts_own
.
...
...
@@ -93,7 +94,7 @@ Section sts.
rewrite
/
sts_inv
.
iNext
.
iExists
s
.
by
iFrame
.
Qed
.
Lemma
sts_accS
E
γ
S
T
:
Lemma
sts_accS
φ
E
γ
S
T
:
▷
sts_inv
γ
φ
∗
sts_ownS
γ
S
T
={
E
}=
∗
∃
s
,
⌜
s
∈
S
⌝
∗
▷
φ
s
∗
∀
s'
T'
,
⌜
sts
.
steps
(
s
,
T
)
(
s'
,
T'
)
⌝
∗
▷
φ
s'
={
E
}=
∗
▷
sts_inv
γ
φ
∗
sts_own
γ
s'
T'
.
...
...
@@ -111,13 +112,13 @@ Section sts.
iModIntro
.
iNext
.
iExists
s'
;
by
iFrame
.
Qed
.
Lemma
sts_acc
E
γ
s0
T
:
Lemma
sts_acc
φ
E
γ
s0
T
:
▷
sts_inv
γ
φ
∗
sts_own
γ
s0
T
={
E
}=
∗
∃
s
,
⌜
sts
.
frame_steps
T
s0
s
⌝
∗
▷
φ
s
∗
∀
s'
T'
,
⌜
sts
.
steps
(
s
,
T
)
(
s'
,
T'
)
⌝
∗
▷
φ
s'
={
E
}=
∗
▷
sts_inv
γ
φ
∗
sts_own
γ
s'
T'
.
Proof
.
by
apply
sts_accS
.
Qed
.
Lemma
sts_openS
E
N
γ
S
T
:
Lemma
sts_openS
φ
E
N
γ
S
T
:
↑
N
⊆
E
→
sts_ctx
γ
N
φ
∗
sts_ownS
γ
S
T
={
E
,
E
∖↑
N
}=
∗
∃
s
,
⌜
s
∈
S
⌝
∗
▷
φ
s
∗
∀
s'
T'
,
...
...
@@ -135,7 +136,7 @@ Section sts.
iMod
(
"HclSts"
$!
s'
T'
with
"H"
)
as
"(Hinv & ?)"
.
by
iMod
(
"Hclose"
with
"Hinv"
).
Qed
.
Lemma
sts_open
E
N
γ
s0
T
:
Lemma
sts_open
φ
E
N
γ
s0
T
:
↑
N
⊆
E
→
sts_ctx
γ
N
φ
∗
sts_own
γ
s0
T
={
E
,
E
∖↑
N
}=
∗
∃
s
,
⌜
sts
.
frame_steps
T
s0
s
⌝
∗
▷
φ
s
∗
∀
s'
T'
,
...
...
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