Skip to content
GitLab
Projects
Groups
Snippets
/
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
Menu
Open sidebar
Simon Spies
Iris
Commits
0d39643c
Commit
0d39643c
authored
Jun 13, 2018
by
Ralf Jung
Browse files
fix printing notation when importing heap_lang.lang after heap_lang.notation
parent
c1a7e29f
Changes
4
Hide whitespace changes
Inline
Side-by-side
tests/heap_lang.v
View file @
0d39643c
(** This file is essentially a bunch of testcases. *)
From
iris
.
program_logic
Require
Export
weakestpre
total_weakestpre
.
From
iris
.
heap_lang
Require
Ex
port
lang
.
From
iris
.
heap_lang
Require
Import
adequacy
.
From
iris
.
heap_lang
Require
Import
proofmode
notation
.
From
iris
.
heap_lang
Require
Im
port
lang
adequacy
proofmode
notation
.
(* Import lang *again*. This used to break notation. *)
From
iris
.
heap_lang
Require
Import
lang
.
Set
Default
Proof
Using
"Type"
.
Section
tests
.
...
...
theories/heap_lang/lang.v
View file @
0d39643c
...
...
@@ -529,13 +529,3 @@ Canonical Structure heap_lang := LanguageOfEctx heap_ectx_lang.
(* Prefer heap_lang names over ectx_language names. *)
Export
heap_lang
.
(** Define some derived forms *)
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
LetCtx
x
e2
:
=
(
AppRCtx
(
LamV
x
e2
)).
Notation
SeqCtx
e2
:
=
(
LetCtx
BAnon
e2
).
Notation
Skip
:
=
(
Seq
(
Lit
LitUnit
)
(
Lit
LitUnit
)).
Notation
Match
e0
x1
e1
x2
e2
:
=
(
Case
e0
(
Lam
x1
e1
)
(
Lam
x2
e2
)).
theories/heap_lang/notation.v
View file @
0d39643c
...
...
@@ -2,6 +2,17 @@ From iris.program_logic Require Import language.
From
iris
.
heap_lang
Require
Export
lang
tactics
.
Set
Default
Proof
Using
"Type"
.
(** Define some derived forms. Happens in the same file because the order of
this and the following notations being defined is very relevant. *)
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
LetCtx
x
e2
:
=
(
AppRCtx
(
LamV
x
e2
)).
Notation
SeqCtx
e2
:
=
(
LetCtx
BAnon
e2
).
Notation
Skip
:
=
(
Seq
(
Lit
LitUnit
)
(
Lit
LitUnit
)).
Notation
Match
e0
x1
e1
x2
e2
:
=
(
Case
e0
(
Lam
x1
e1
)
(
Lam
x2
e2
)).
Coercion
LitInt
:
Z
>->
base_lit
.
Coercion
LitBool
:
bool
>->
base_lit
.
Coercion
LitLoc
:
loc
>->
base_lit
.
...
...
theories/heap_lang/proofmode.v
View file @
0d39643c
...
...
@@ -2,6 +2,7 @@ From iris.program_logic Require Export weakestpre total_weakestpre.
From
iris
.
proofmode
Require
Import
coq_tactics
.
From
iris
.
proofmode
Require
Export
tactics
.
From
iris
.
heap_lang
Require
Export
tactics
lifting
.
From
iris
.
heap_lang
Require
Import
notation
.
Set
Default
Proof
Using
"Type"
.
Import
uPred
.
...
...
Write
Preview
Supports
Markdown
0%
Try again
or
attach a new 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