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
FP
Stacked Borrows Coq
Commits
9e4d5d8c
Commit
9e4d5d8c
authored
Jul 06, 2019
by
Hai Dang
Browse files
Merge branch 'master' of gitlab.mpi-sws.org:FP/stacked-borrows
parents
391e01ee
f46394dc
Changes
4
Hide whitespace changes
Inline
Side-by-side
theories/opt/ex1.v
View file @
9e4d5d8c
...
...
@@ -28,7 +28,7 @@ Definition ex1_opt : function :=
Lemma
ex1_sim_body
fs
ft
:
⊨
{
fs
,
ft
}
ex1
≥ᶠ
ex1_opt
.
Proof
.
intros
r
es
et
els
elt
σ
s
σ
t
FAs
FAt
FREL
SUBSTs
SUBSTt
.
intros
r
f
es
et
els
elt
σ
s
σ
t
FAs
FAt
FREL
SUBSTs
SUBSTt
.
destruct
els
as
[
|
efs
[]];
[
done
|
|
done
].
simpl
in
SUBSTs
.
destruct
elt
as
[
|
eft
[]];
[
done
|
|
done
].
simpl
in
SUBSTt
.
simplify_eq
.
...
...
theories/sim/cmra.v
View file @
9e4d5d8c
...
...
@@ -293,3 +293,8 @@ Lemma tmap_lookup_core_pub (pm: tmapUR) t h:
pm
!!
t
≡
Some
(
to_tagKindR
tkPub
,
h
)
→
core
pm
!!
t
≡
Some
(
to_tagKindR
tkPub
,
h
).
Proof
.
intros
Eq
.
rewrite
lookup_core
Eq
/
core
/=
core_id
//. Qed.
(
**
Resources
that
we
own
.
*
)
Definition
res_callState
(
c
:
call_id
)
(
cs
:
call_state
)
:
resUR
:=
((
ε
,
{
[
c
:=
to_callStateR
cs
]
}
),
ε
).
theories/sim/instance.v
View file @
9e4d5d8c
...
...
@@ -3,7 +3,7 @@ From stbor.sim Require Export local invariant.
Notation
"r ⊨{ n , fs , ft } ( es , σs ) ≥ ( et , σt ) : Φ"
:=
(
sim_local_body
wsat
vrel_expr
fs
ft
r
n
%
nat
es
%
E
σ
s
et
%
E
σ
t
Φ
)
(
at
level
70
,
format
"r ⊨{ n , fs , ft } ( es , σs )
≥
( et , σt ) : Φ"
).
(
at
level
70
,
format
"
'[hv'
r ⊨{ n , fs , ft }
'/ ' '[ '
( es , σs )
']' '/' ≥ '/ ' '[ '
( et , σt )
']' '/'
: Φ
']'
"
).
Notation
"⊨{ fs , ft } f1 ≥ᶠ f2"
:=
(
sim_local_fun
wsat
vrel_expr
fs
ft
end_call_sat
f1
f2
)
...
...
theories/sim/refl_step.v
View file @
9e4d5d8c
...
...
@@ -850,7 +850,7 @@ Abort.
Lemma
sim_body_init_call
fs
ft
r
n
es
et
σ
s
σ
t
Φ
:
let
σ
s
'
:=
mkState
σ
s
.(
shp
)
σ
s
.(
sst
)
(
σ
s
.(
snc
)
::
σ
s
.(
scs
))
σ
s
.(
snp
)
(
S
σ
s
.(
snc
))
in
let
σ
t
'
:=
mkState
σ
t
.(
shp
)
σ
t
.(
sst
)
(
σ
t
.(
snc
)
::
σ
t
.(
scs
))
σ
t
.(
snp
)
(
S
σ
t
.(
snc
))
in
let
r
'
:
resUR
:=
((
ε
,
{
[
σ
t
.(
snc
)
:=
to
_callState
R
(
csOwned
∅
)
]
}
),
ε
)
in
let
r
'
:
resUR
:=
res
_callState
σ
t
.(
snc
)
(
csOwned
∅
)
in
r
⋅
r
'
⊨
{
n
,
fs
,
ft
}
(
es
,
σ
s
'
)
≥
(
et
,
σ
t
'
)
:
Φ
→
r
⊨
{
n
,
fs
,
ft
}
(
InitCall
es
,
σ
s
)
≥
(
InitCall
et
,
σ
t
)
:
Φ
.
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