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
Joshua Yanovski
iris-coq
Commits
59a8f5bf
Commit
59a8f5bf
authored
Aug 09, 2016
by
Ralf Jung
Browse files
better spacing for functor declarations
parent
7b6a32fe
Changes
5
Hide whitespace changes
Inline
Side-by-side
heap_lang/lib/barrier/proof.v
View file @
59a8f5bf
...
...
@@ -7,15 +7,14 @@ From iris.program_logic Require Import saved_prop sts.
From
iris
.
heap_lang
Require
Import
proofmode
.
From
iris
.
heap_lang
.
lib
.
barrier
Require
Import
protocol
.
(
**
The
CMRAs
we
need
.
*
)
(
**
The
CMRAs
/
functors
we
need
.
*
)
(
*
Not
bundling
heapG
,
as
it
may
be
shared
with
other
users
.
*
)
Class
barrierG
Σ
:=
BarrierG
{
barrier_stsG
:>
stsG
Σ
sts
;
barrier_savedPropG
:>
savedPropG
Σ
idCF
;
}
.
(
**
The
Functors
we
need
.
*
)
Definition
barrier
Σ
:
gFunctors
:=
#[
sts
Σ
sts
;
savedProp
Σ
idCF
].
(
*
Show
and
register
that
they
match
.
*
)
Instance
subG_barrier
Σ
{
Σ
}
:
subG
barrier
Σ
Σ
→
barrierG
Σ
.
Proof
.
intros
[
?
[
?
_
]
%
subG_inv
]
%
subG_inv
.
split
;
apply
_.
Qed
.
...
...
heap_lang/lib/counter.v
View file @
59a8f5bf
...
...
@@ -14,8 +14,8 @@ Global Opaque newcounter inc get.
(
**
The
CMRA
we
need
.
*
)
Class
counterG
Σ
:=
CounterG
{
counter_tokG
:>
authG
Σ
mnatUR
}
.
Definition
counter
Σ
:
gFunctors
:=
#[
auth
Σ
mnatUR
].
Instance
subG_counter
Σ
{
Σ
}
:
subG
counter
Σ
Σ
→
counterG
Σ
.
Proof
.
intros
[
?
_
]
%
subG_inv
.
split
;
apply
_.
Qed
.
...
...
heap_lang/lib/lock.v
View file @
59a8f5bf
...
...
@@ -14,8 +14,8 @@ Global Opaque newlock acquire release.
(
**
The
CMRA
we
need
.
*
)
(
*
Not
bundling
heapG
,
as
it
may
be
shared
with
other
users
.
*
)
Class
lockG
Σ
:=
LockG
{
lock_tokG
:>
inG
Σ
(
exclR
unitC
)
}
.
Definition
lock
Σ
:
gFunctors
:=
#[
GFunctor
(
constRF
(
exclR
unitC
))].
Instance
subG_lock
Σ
{
Σ
}
:
subG
lock
Σ
Σ
→
lockG
Σ
.
Proof
.
intros
[
?%
subG_inG
_
]
%
subG_inv
.
split
;
apply
_.
Qed
.
...
...
heap_lang/lib/spawn.v
View file @
59a8f5bf
...
...
@@ -16,12 +16,11 @@ Definition join : val :=
end
.
Global
Opaque
spawn
join
.
(
**
The
CMRA
we
need
.
*
)
(
**
The
CMRA
&
functor
we
need
.
*
)
(
*
Not
bundling
heapG
,
as
it
may
be
shared
with
other
users
.
*
)
Class
spawnG
Σ
:=
SpawnG
{
spawn_tokG
:>
inG
Σ
(
exclR
unitC
)
}
.
(
**
The
functor
we
need
and
register
that
they
match
.
*
)
Definition
spawn
Σ
:
gFunctors
:=
#[
GFunctor
(
constRF
(
exclR
unitC
))].
Instance
subG_spawn
Σ
{
Σ
}
:
subG
spawn
Σ
Σ
→
spawnG
Σ
.
Proof
.
intros
[
?%
subG_inG
_
]
%
subG_inv
.
split
;
apply
_.
Qed
.
...
...
heap_lang/lib/ticket_lock.v
View file @
59a8f5bf
...
...
@@ -35,9 +35,9 @@ Class tlockG Σ := TlockG {
tlock_G
:>
authG
Σ
(
gset_disjUR
nat
);
tlock_exclG
:>
inG
Σ
(
exclR
unitC
)
}
.
Definition
tlock
Σ
:
gFunctors
:=
#[
auth
Σ
(
gset_disjUR
nat
);
GFunctor
(
constRF
(
exclR
unitC
))].
Instance
subG_tlock
Σ
{
Σ
}
:
subG
tlock
Σ
Σ
→
tlockG
Σ
.
Proof
.
intros
[
?
[
?%
subG_inG
_
]
%
subG_inv
]
%
subG_inv
.
split
;
apply
_.
Qed
.
...
...
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