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
R
ReLoC-v1
Project overview
Project overview
Details
Activity
Releases
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Issues
1
Issues
1
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
Dan Frumin
ReLoC-v1
Commits
b19439bf
Commit
b19439bf
authored
Sep 04, 2017
by
Dan Frumin
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
Improve the notation
parent
4748876b
Changes
4
Show whitespace changes
Inline
Side-by-side
Showing
4 changed files
with
10 additions
and
16 deletions
+10
-16
F_mu_ref_conc/examples/stack/refinement.v
F_mu_ref_conc/examples/stack/refinement.v
+2
-3
F_mu_ref_conc/logrel_binary.v
F_mu_ref_conc/logrel_binary.v
+4
-2
F_mu_ref_conc/notation.v
F_mu_ref_conc/notation.v
+3
-10
F_mu_ref_conc/relational_properties.v
F_mu_ref_conc/relational_properties.v
+1
-1
No files found.
F_mu_ref_conc/examples/stack/refinement.v
View file @
b19439bf
...
@@ -209,7 +209,7 @@ Section Stack_refinement.
...
@@ -209,7 +209,7 @@ Section Stack_refinement.
unfold
FG_read_iter
,
CG_snap_iter
.
unlock
.
unfold
FG_read_iter
,
CG_snap_iter
.
unlock
.
simpl_subst
/=
.
simpl_subst
/=
.
iApply
bin_log_related_arrow
;
eauto
.
iApply
bin_log_related_arrow
;
eauto
.
iAlways
.
iIntros
([
f1
f2
])
"#Hff"
.
iAlways
.
iIntros
([
f1
f2
])
"#Hff
/=
"
.
rel_rec_r
.
rel_rec_r
.
rel_rec_l
.
rel_rec_l
.
Transparent
FG_iter
CG_iter
.
unlock
FG_iter
CG_iter
.
Transparent
FG_iter
CG_iter
.
unlock
FG_iter
CG_iter
.
...
@@ -298,8 +298,7 @@ Section Stack_refinement.
...
@@ -298,8 +298,7 @@ Section Stack_refinement.
by
iApply
"IH"
.
by
iApply
"IH"
.
+
clear
.
+
clear
.
iClear
"IH Histk HLK_tail HLK HLK' Hτ"
.
iClear
"IH Histk HLK_tail HLK HLK' Hτ"
.
iApply
related_ret
.
iApply
(
related_ret
with
"[Hff]"
).
done
.
iApply
"Hff"
.
Qed
.
Qed
.
End
Stack_refinement
.
End
Stack_refinement
.
...
...
F_mu_ref_conc/logrel_binary.v
View file @
b19439bf
...
@@ -398,11 +398,13 @@ Section bin_log_def.
...
@@ -398,11 +398,13 @@ Section bin_log_def.
End
bin_log_def
.
End
bin_log_def
.
Notation
"'{' E1 ',' E2 ';' Δ ';' Γ '}' ⊨ e '≤log≤' e' : τ"
:=
Notation
"'{' E1 ',' E2 ';' Δ ';' Γ '}' ⊨ e '≤log≤' e' : τ"
:=
(
bin_log_related
E1
E2
Δ
Γ
e
%
E
e
'
%
E
τ
)
(
at
level
74
,
E1
,
E2
,
e
,
e
'
,
τ
at
next
level
).
(
bin_log_related
E1
E2
Δ
Γ
e
%
E
e
'
%
E
τ
)
(
at
level
74
,
E1
,
E2
,
e
,
e
'
,
τ
at
next
level
,
format
"'{' E1 ',' E2 ';' Δ ';' Γ '}' ⊨ e '≤log≤' e' : τ"
).
Notation
"'{' E1 ',' E2 ';' Γ '}' ⊨ e '≤log≤' e' : τ"
:=
Notation
"'{' E1 ',' E2 ';' Γ '}' ⊨ e '≤log≤' e' : τ"
:=
(
∀
Δ
,
bin_log_related
E1
E2
Δ
Γ
e
%
E
e
'
%
E
τ
)
%
I
(
at
level
74
,
E1
,
E2
,
e
,
e
'
,
τ
at
next
level
).
(
∀
Δ
,
bin_log_related
E1
E2
Δ
Γ
e
%
E
e
'
%
E
τ
)
%
I
(
at
level
74
,
E1
,
E2
,
e
,
e
'
,
τ
at
next
level
).
Notation
"Γ ⊨ e '≤log≤' e' : τ"
:=
Notation
"Γ ⊨ e '≤log≤' e' : τ"
:=
(
∀
Δ
,
bin_log_related
⊤
⊤
Δ
Γ
e
%
E
e
'
%
E
τ
)
%
I
(
at
level
74
,
e
,
e
'
,
τ
at
next
level
).
(
∀
Δ
,
bin_log_related
⊤
⊤
Δ
Γ
e
%
E
e
'
%
E
τ
)
%
I
(
at
level
74
,
e
,
e
'
,
τ
at
next
level
,
format
"Γ ⊨ e '≤log≤' e' : τ"
).
Section
monadic
.
Section
monadic
.
Context
`
{
logrelG
Σ
}
.
Context
`
{
logrelG
Σ
}
.
...
...
F_mu_ref_conc/notation.v
View file @
b19439bf
...
@@ -19,12 +19,7 @@ Coercion BNamed : string >-> binder.
...
@@ -19,12 +19,7 @@ Coercion BNamed : string >-> binder.
Notation
"<>"
:=
BAnon
:
binder_scope
.
Notation
"<>"
:=
BAnon
:
binder_scope
.
Notation
Lam
x
e
:=
(
Rec
BAnon
x
e
).
Notation
Lam
x
e
:=
(
Rec
BAnon
x
e
).
Notation
Let
x
e1
e2
:=
(
App
(
Lam
x
e2
)
e1
).
Notation
Seq
e1
e2
:=
(
Let
BAnon
e1
e2
).
Notation
LamV
x
e
:=
(
RecV
BAnon
x
e
).
Notation
LamV
x
e
:=
(
RecV
BAnon
x
e
).
Notation
LetCtx
x
e2
:=
(
AppRCtx
(
LamV
x
e2
)).
Notation
SeqCtx
e2
:=
(
LetCtx
BAnon
e2
).
Notation
Skip
:=
(
Seq
tt
tt
).
(
*
No
scope
for
the
values
,
does
not
conflict
and
scope
is
often
not
inferred
(
*
No
scope
for
the
values
,
does
not
conflict
and
scope
is
often
not
inferred
properly
.
*
)
properly
.
*
)
...
@@ -78,10 +73,6 @@ Notation "λ: x , e" := (locked (LamV x%bind e%E))
...
@@ -78,10 +73,6 @@ Notation "λ: x , e" := (locked (LamV x%bind e%E))
(
at
level
102
,
x
at
level
1
,
e
at
level
200
)
:
val_scope
.
(
at
level
102
,
x
at
level
1
,
e
at
level
200
)
:
val_scope
.
Notation
"λ: x y .. z , e"
:=
(
locked
(
LamV
x
%
bind
(
Lam
y
%
bind
..
(
Lam
z
%
bind
e
%
E
)
..
)))
Notation
"λ: x y .. z , e"
:=
(
locked
(
LamV
x
%
bind
(
Lam
y
%
bind
..
(
Lam
z
%
bind
e
%
E
)
..
)))
(
at
level
102
,
x
,
y
,
z
at
level
1
,
e
at
level
200
)
:
val_scope
.
(
at
level
102
,
x
,
y
,
z
at
level
1
,
e
at
level
200
)
:
val_scope
.
Notation
"e1 ;; e2"
:=
(
Lam
BAnon
e2
%
E
e1
%
E
)
(
at
level
100
,
e2
at
level
200
,
format
"e1 ;; e2"
)
:
expr_scope
.
Notation
"e1 ;; e2"
:=
(
LamV
BAnon
e2
%
E
e1
%
E
)
(
at
level
100
,
e2
at
level
200
,
format
"e1 ;; e2"
)
:
val_scope
.
Notation
"'if:' e1 'then' e2 'else' e3"
:=
(
If
e1
%
E
e2
%
E
e3
%
E
)
Notation
"'if:' e1 'then' e2 'else' e3"
:=
(
If
e1
%
E
e2
%
E
e3
%
E
)
(
at
level
200
,
e1
,
e2
,
e3
at
level
200
)
:
expr_scope
.
(
at
level
200
,
e1
,
e2
,
e3
at
level
200
)
:
expr_scope
.
...
@@ -93,7 +84,9 @@ Notation "'Λ:' e" := (TLam e%E)
...
@@ -93,7 +84,9 @@ Notation "'Λ:' e" := (TLam e%E)
Notation
"'Λ:' e"
:=
(
TLamV
e
%
E
)
Notation
"'Λ:' e"
:=
(
TLamV
e
%
E
)
(
at
level
102
,
e
at
level
200
)
:
val_scope
.
(
at
level
102
,
e
at
level
200
)
:
val_scope
.
Notation
"'let:' x := e1 'in' e2"
:=
(
L
et
x
%
bind
e1
%
E
e2
%
E
)
Notation
"'let:' x := e1 'in' e2"
:=
(
L
am
x
%
bind
e2
%
E
e1
%
E
)
(
at
level
102
,
x
at
level
1
,
e1
,
e2
at
level
200
,
(
at
level
102
,
x
at
level
1
,
e1
,
e2
at
level
200
,
format
"'[' '[hv' 'let:' x := '[' e1 ']' 'in' ']' '/' e2 ']'"
)
:
expr_scope
.
format
"'[' '[hv' 'let:' x := '[' e1 ']' 'in' ']' '/' e2 ']'"
)
:
expr_scope
.
Notation
"e1 ;; e2"
:=
(
Lam
BAnon
e2
%
E
e1
%
E
)
(
at
level
100
,
e2
at
level
200
,
format
"e1 ;; e2"
)
:
expr_scope
.
F_mu_ref_conc/relational_properties.v
View file @
b19439bf
...
@@ -254,7 +254,7 @@ Section properties.
...
@@ -254,7 +254,7 @@ Section properties.
(
Hclosed1
:
Closed
∅
e1
)
(
Hclosed1
:
Closed
∅
e1
)
(
Hclosed2
:
Closed
∅
e2
)
:
(
Hclosed2
:
Closed
∅
e2
)
:
▷
(
{
E
,
E
;
Δ
;
Γ
}
⊨
fill
K
e1
≤
log
≤
t
:
τ
)
▷
(
{
E
,
E
;
Δ
;
Γ
}
⊨
fill
K
e1
≤
log
≤
t
:
τ
)
⊢
{
E
,
E
;
Δ
;
Γ
}
⊨
fill
K
(
If
(#
♭
true
)
e1
e2
)
≤
log
≤
t
:
τ
.
⊢
{
E
,
E
;
Δ
;
Γ
}
⊨
fill
K
(
If
true
e1
e2
)
≤
log
≤
t
:
τ
.
Proof
.
Proof
.
iIntros
"Hlog"
.
iIntros
"Hlog"
.
iApply
(
bin_log_pure_l
with
"Hlog"
);
auto
;
intros
.
iApply
(
bin_log_pure_l
with
"Hlog"
);
auto
;
intros
.
...
...
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