Skip to content
GitLab
Menu
Projects
Groups
Snippets
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
Menu
Open sidebar
Iris
Fairis
Commits
e241324a
Commit
e241324a
authored
Jan 21, 2016
by
Ralf Jung
Browse files
consistent naming for the CMRAs making up Iris resources: iGst, iPst, iWld
parent
d543c264
Changes
5
Hide whitespace changes
Inline
Side-by-side
iris/model.v
View file @
e241324a
...
...
@@ -24,7 +24,9 @@ End iProp.
Definition
iPreProp
(
Σ
:
iParam
)
:
cofeT
:=
iProp
.
result
Σ
.
Notation
iRes
Σ
:=
(
res
Σ
(
laterC
(
iPreProp
Σ
))).
Notation
iResRA
Σ
:=
(
resRA
Σ
(
laterC
(
iPreProp
Σ
))).
Notation
iCMRA
Σ
:=
(
icmra
Σ
(
laterC
(
iPreProp
Σ
))).
Notation
iWld
Σ
:=
(
mapRA
positive
(
agreeRA
(
laterC
(
iPreProp
Σ
)))).
Notation
iPst
Σ
:=
(
exclRA
(
istateC
Σ
)).
Notation
iGst
Σ
:=
(
icmra
Σ
(
laterC
(
iPreProp
Σ
))).
Definition
iProp
(
Σ
:
iParam
)
:
cofeT
:=
uPredC
(
iResRA
Σ
).
Definition
iProp_unfold
{
Σ
}
:
iProp
Σ
-
n
>
iPreProp
Σ
:=
solution_fold
_.
Definition
iProp_fold
{
Σ
}
:
iPreProp
Σ
-
n
>
iProp
Σ
:=
solution_unfold
_.
...
...
@@ -38,3 +40,7 @@ Instance iProp_fold_inj n Σ : Injective (dist n) (dist n) (@iProp_fold Σ).
Proof
.
by
intros
X
Y
H
;
rewrite
-
(
iProp_unfold_fold
X
)
H
iProp_unfold_fold
.
Qed
.
Instance
iProp_unfold_inj
n
Σ
:
Injective
(
dist
n
)
(
dist
n
)
(
@
iProp_unfold
Σ
).
Proof
.
by
intros
X
Y
H
;
rewrite
-
(
iProp_fold_unfold
X
)
H
iProp_fold_unfold
.
Qed
.
Module
Test
.
(
*
Make
sure
we
got
the
notations
right
.
*
)
Definition
iResTest
(
Σ
:
iParam
)
(
w
:
iWld
Σ
)
(
p
:
iPst
Σ
)
(
g
:
iGst
Σ
)
:
iRes
Σ
:=
Res
w
p
g
.
End
Test
.
iris/ownership.v
View file @
e241324a
...
...
@@ -4,7 +4,7 @@ Definition inv {Σ} (i : positive) (P : iProp Σ) : iProp Σ :=
uPred_own
(
Res
{
[
i
↦
to_agree
(
Later
(
iProp_unfold
P
))
]
}
∅
∅
).
Arguments
inv
{
_
}
_
_
%
I
.
Definition
ownP
{
Σ
}
(
σ
:
istate
Σ
)
:
iProp
Σ
:=
uPred_own
(
Res
∅
(
Excl
σ
)
∅
).
Definition
ownG
{
Σ
}
(
m
:
i
CMRA
Σ
)
:
iProp
Σ
:=
uPred_own
(
Res
∅
∅
m
).
Definition
ownG
{
Σ
}
(
m
:
i
Gst
Σ
)
:
iProp
Σ
:=
uPred_own
(
Res
∅
∅
m
).
Instance:
Params
(
@
inv
)
2.
Instance:
Params
(
@
ownP
)
1.
Instance:
Params
(
@
ownG
)
1.
...
...
@@ -16,7 +16,7 @@ Context {Σ : iParam}.
Implicit
Types
r
:
iRes
Σ
.
Implicit
Types
σ
:
istate
Σ
.
Implicit
Types
P
:
iProp
Σ
.
Implicit
Types
m
:
i
CMRA
Σ
.
Implicit
Types
m
:
i
Gst
Σ
.
(
*
Invariants
*
)
Global
Instance
inv_contractive
i
:
Contractive
(
@
inv
Σ
i
).
...
...
iris/pviewshifts.v
View file @
e241324a
...
...
@@ -29,7 +29,7 @@ Instance: Params (@pvs) 3.
Section
pvs
.
Context
{
Σ
:
iParam
}
.
Implicit
Types
P
Q
:
iProp
Σ
.
Implicit
Types
m
:
i
CMRA
Σ
.
Implicit
Types
m
:
i
Gst
Σ
.
Transparent
uPred_holds
.
Global
Instance
pvs_ne
E1
E2
n
:
Proper
(
dist
n
==>
dist
n
)
(
@
pvs
Σ
E1
E2
).
...
...
@@ -96,7 +96,7 @@ Proof.
*
by
rewrite
-
(
left_id_L
∅
(
∪
)
Ef
).
*
apply
uPred_weaken
with
r
n
;
auto
.
Qed
.
Lemma
pvs_updateP
E
m
(
P
:
i
CMRA
Σ
→
Prop
)
:
Lemma
pvs_updateP
E
m
(
P
:
i
Gst
Σ
→
Prop
)
:
m
⇝
:
P
→
ownG
m
⊑
pvs
E
E
(
∃
m
'
,
■
P
m
'
∧
ownG
m
'
).
Proof
.
intros
Hup
r
[
|
n
]
?
Hinv
%
ownG_spec
rf
[
|
k
]
Ef
σ
???
;
try
lia
.
...
...
iris/viewshifts.v
View file @
e241324a
...
...
@@ -16,7 +16,7 @@ Notation "P >{ E }> Q" := (True ⊑ vs E E P%I Q%I)
Section
vs
.
Context
{
Σ
:
iParam
}
.
Implicit
Types
P
Q
:
iProp
Σ
.
Implicit
Types
m
:
i
CMRA
Σ
.
Implicit
Types
m
:
i
Gst
Σ
.
Import
uPred
.
Lemma
vs_alt
E1
E2
P
Q
:
P
⊑
pvs
E1
E2
Q
→
P
>{
E1
,
E2
}>
Q
.
...
...
@@ -85,7 +85,7 @@ Proof.
intros
;
rewrite
-{
1
}
(
left_id_L
∅
(
∪
)
E
)
-
vs_mask_frame
;
last
solve_elem_of
.
apply
vs_close
.
Qed
.
Lemma
vs_updateP
E
m
(
P
:
i
CMRA
Σ
→
Prop
)
:
Lemma
vs_updateP
E
m
(
P
:
i
Gst
Σ
→
Prop
)
:
m
⇝
:
P
→
ownG
m
>{
E
}>
(
∃
m
'
,
■
P
m
'
∧
ownG
m
'
).
Proof
.
by
intros
;
apply
vs_alt
,
pvs_updateP
.
Qed
.
Lemma
vs_update
E
m
m
'
:
m
⇝
m
'
→
ownG
m
>{
E
}>
ownG
m
'
.
...
...
iris/wsat.v
View file @
e241324a
...
...
@@ -120,7 +120,7 @@ Proof.
split
;
[
done
|
exists
rs
].
by
constructor
;
split_ands
'
;
try
(
rewrite
/=
-
(
associative
_
)
Hpst
'
).
Qed
.
Lemma
wsat_update_gst
n
E
σ
r
rf
m1
(
P
:
i
CMRA
Σ
→
Prop
)
:
Lemma
wsat_update_gst
n
E
σ
r
rf
m1
(
P
:
i
Gst
Σ
→
Prop
)
:
m1
≼
{
S
n
}
gst
r
→
m1
⇝
:
P
→
wsat
(
S
n
)
E
σ
(
r
⋅
rf
)
→
∃
m2
,
wsat
(
S
n
)
E
σ
(
update_gst
m2
r
⋅
rf
)
∧
P
m2
.
Proof
.
...
...
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