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
Tej Chajed
iris
Commits
acdea9ec
Commit
acdea9ec
authored
Oct 27, 2016
by
Ralf Jung
Browse files
Move global functor to base_logic
parent
634fdbb6
Changes
8
Hide whitespace changes
Inline
Side-by-side
README.md
View file @
acdea9ec
...
...
@@ -35,19 +35,23 @@ running:
*
The folder
[
base_logic
](
base_logic
)
defines the Iris base logic and the
primitive connectives. It also contains derived constructions that are
entirely independent of the choice of resources.
*
The subfolder
[
lib
](
base_logic/lib
)
contains some generally useful
derived constructions. Most importantly, it defines composeable
dynamic resources and ownership of them; the other constructions depend
on this setup.
*
The folder
[
program_logic
](
program_logic
)
specializes the base logic to build
Iris, the program logic. Most crucially, this includes world satisfaction
and weakest preconditions. Furthermore, some language-independent derived
constructions (e.g., STSs) are defined in this folder.
*
The folder
[
heap_lang
](
heap_lang
)
defines the ML-like concurrent heap language
*
The subfolder
[
lib
](
heap_lang/lib
)
contains a few derived constructions
within this language, e.g., parallel composition.
Most notable here s
[
lib/barrier
](
heap_lang/lib/barrier
)
, the implementation
and proof of a barrier as described in
<http://doi.acm.org/10.1145/2818638>
.
Iris, the program logic. This includes weakest preconditions that are
defined for any language satisfying some generic axioms, and some derived
constructions that work for any such language.
*
The folder
[
proofmode
](
proofmode
)
contains the Iris proof mode, which extends
Coq with contexts for persistent and spatial Iris assertions. It also contains
tactics for interactive proofs in Iris. Documentation can be found in
[
ProofMode.md
](
ProofMode.md
)
.
*
The folder
[
heap_lang
](
heap_lang
)
defines the ML-like concurrent heap language
*
The subfolder
[
lib
](
heap_lang/lib
)
contains a few derived constructions
within this language, e.g., parallel composition.
Most notable here is
[
lib/barrier
](
heap_lang/lib/barrier
)
, the implementation
and proof of a barrier as described in
<http://doi.acm.org/10.1145/2818638>
.
*
The folder
[
tests
](
tests
)
contains modules we use to test our infrastructure.
Users of the Iris Coq library should
*not*
depend on these modules; they may
change or disappear without any notice.
...
...
_CoqProject
View file @
acdea9ec
...
...
@@ -67,7 +67,9 @@ base_logic/big_op.v
base_logic/hlist.v
base_logic/soundness.v
base_logic/double_negation.v
program_logic/iprop.v
base_logic/lib/iprop.v
base_logic/lib/own.v
base_logic/lib/saved_prop.v
program_logic/adequacy.v
program_logic/lifting.v
program_logic/invariants.v
...
...
@@ -80,8 +82,6 @@ program_logic/language.v
program_logic/ectx_language.v
program_logic/ectxi_language.v
program_logic/ectx_lifting.v
program_logic/own.v
program_logic/saved_prop.v
program_logic/auth.v
program_logic/sts.v
program_logic/namespaces.v
...
...
program
_logic/iprop.v
→
base
_logic/
lib/
iprop.v
View file @
acdea9ec
File moved
program
_logic/own.v
→
base
_logic/
lib/
own.v
View file @
acdea9ec
From
iris
.
program_logic
Require
Export
iprop
.
From
iris
.
algebra
Require
Import
iprod
gmap
.
From
iris
.
base_logic
Require
Import
big_op
.
From
iris
.
base_logic
Require
Export
iprop
.
From
iris
.
proofmode
Require
Import
classes
.
Import
uPred
.
...
...
program
_logic/saved_prop.v
→
base
_logic/
lib/
saved_prop.v
View file @
acdea9ec
From
iris
.
program
_logic
Require
Export
own
.
From
iris
.
base
_logic
Require
Export
own
.
From
iris
.
algebra
Require
Import
agree
.
From
iris
.
prelude
Require
Import
gmap
.
Import
uPred
.
...
...
heap_lang/lib/barrier/proof.v
View file @
acdea9ec
...
...
@@ -2,8 +2,8 @@ From iris.program_logic Require Export weakestpre.
From
iris
.
heap_lang
Require
Export
lang
.
From
iris
.
heap_lang
.
lib
.
barrier
Require
Export
barrier
.
From
iris
.
prelude
Require
Import
functions
.
From
iris
.
base_logic
Require
Import
big_op
.
From
iris
.
program_logic
Require
Import
saved_prop
sts
.
From
iris
.
base_logic
Require
Import
big_op
lib
.
saved_prop
.
From
iris
.
program_logic
Require
Import
sts
.
From
iris
.
heap_lang
Require
Import
proofmode
.
From
iris
.
heap_lang
.
lib
.
barrier
Require
Import
protocol
.
...
...
heap_lang/lib/barrier/protocol.v
View file @
acdea9ec
From
iris
.
algebra
Require
Export
sts
.
From
iris
.
program
_logic
Require
Import
own
.
From
iris
.
base
_logic
Require
Import
lib
.
own
.
From
iris
.
prelude
Require
Export
gmap
.
(** The STS describing the main barrier protocol. Every state has an index-set
...
...
program_logic/iris.v
View file @
acdea9ec
From
iris
.
program_logic
Require
Export
own
language
.
From
iris
.
base_logic
Require
Export
lib
.
own
.
From
iris
.
program_logic
Require
Export
language
.
From
iris
.
prelude
Require
Export
coPset
.
From
iris
.
algebra
Require
Import
gmap
auth
agree
gset
coPset
.
...
...
@@ -27,4 +28,4 @@ Instance subG_irisΣ {Σ Λ} : subG (irisΣ Λ) Σ → irisPreG Λ Σ.
Proof
.
intros
[?%
subG_inG
[?%
subG_inG
[?%
subG_inG
?%
subG_inG
]%
subG_inv
]%
subG_inv
]%
subG_inv
;
by
constructor
.
Qed
.
\ No newline at end of file
Qed
.
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