Skip to content
GitLab
Projects
Groups
Snippets
Help
Loading...
Help
What's new
10
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
Open sidebar
Joshua Yanovski
iris-coq
Commits
d6b49ab2
Commit
d6b49ab2
authored
Jan 05, 2017
by
Ralf Jung
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
more restrictive Proof Using hints in base_logic, algebra
parent
60d82286
Changes
49
Hide whitespace changes
Inline
Side-by-side
Showing
49 changed files
with
59 additions
and
54 deletions
+59
-54
theories/algebra/agree.v
theories/algebra/agree.v
+1
-1
theories/algebra/auth.v
theories/algebra/auth.v
+1
-1
theories/algebra/base.v
theories/algebra/base.v
+1
-1
theories/algebra/cmra.v
theories/algebra/cmra.v
+2
-1
theories/algebra/cmra_big_op.v
theories/algebra/cmra_big_op.v
+1
-1
theories/algebra/cmra_tactics.v
theories/algebra/cmra_tactics.v
+1
-1
theories/algebra/coPset.v
theories/algebra/coPset.v
+1
-1
theories/algebra/cofe_solver.v
theories/algebra/cofe_solver.v
+1
-1
theories/algebra/csum.v
theories/algebra/csum.v
+1
-1
theories/algebra/deprecated.v
theories/algebra/deprecated.v
+1
-1
theories/algebra/dra.v
theories/algebra/dra.v
+1
-1
theories/algebra/excl.v
theories/algebra/excl.v
+1
-1
theories/algebra/frac.v
theories/algebra/frac.v
+1
-1
theories/algebra/gmap.v
theories/algebra/gmap.v
+2
-1
theories/algebra/gset.v
theories/algebra/gset.v
+2
-1
theories/algebra/iprod.v
theories/algebra/iprod.v
+1
-1
theories/algebra/list.v
theories/algebra/list.v
+1
-1
theories/algebra/local_updates.v
theories/algebra/local_updates.v
+1
-1
theories/algebra/ofe.v
theories/algebra/ofe.v
+2
-1
theories/algebra/sts.v
theories/algebra/sts.v
+1
-1
theories/algebra/updates.v
theories/algebra/updates.v
+2
-1
theories/algebra/vector.v
theories/algebra/vector.v
+1
-1
theories/base_logic/base_logic.v
theories/base_logic/base_logic.v
+1
-1
theories/base_logic/big_op.v
theories/base_logic/big_op.v
+1
-1
theories/base_logic/deprecated.v
theories/base_logic/deprecated.v
+1
-1
theories/base_logic/derived.v
theories/base_logic/derived.v
+1
-1
theories/base_logic/double_negation.v
theories/base_logic/double_negation.v
+2
-2
theories/base_logic/hlist.v
theories/base_logic/hlist.v
+1
-1
theories/base_logic/lib/auth.v
theories/base_logic/lib/auth.v
+3
-3
theories/base_logic/lib/boxes.v
theories/base_logic/lib/boxes.v
+1
-1
theories/base_logic/lib/cancelable_invariants.v
theories/base_logic/lib/cancelable_invariants.v
+1
-1
theories/base_logic/lib/core.v
theories/base_logic/lib/core.v
+1
-1
theories/base_logic/lib/counter_examples.v
theories/base_logic/lib/counter_examples.v
+3
-3
theories/base_logic/lib/fancy_updates.v
theories/base_logic/lib/fancy_updates.v
+1
-1
theories/base_logic/lib/fractional.v
theories/base_logic/lib/fractional.v
+1
-1
theories/base_logic/lib/gen_heap.v
theories/base_logic/lib/gen_heap.v
+1
-1
theories/base_logic/lib/invariants.v
theories/base_logic/lib/invariants.v
+1
-1
theories/base_logic/lib/iprop.v
theories/base_logic/lib/iprop.v
+1
-1
theories/base_logic/lib/na_invariants.v
theories/base_logic/lib/na_invariants.v
+1
-1
theories/base_logic/lib/namespaces.v
theories/base_logic/lib/namespaces.v
+1
-1
theories/base_logic/lib/own.v
theories/base_logic/lib/own.v
+1
-1
theories/base_logic/lib/saved_prop.v
theories/base_logic/lib/saved_prop.v
+1
-1
theories/base_logic/lib/sts.v
theories/base_logic/lib/sts.v
+1
-1
theories/base_logic/lib/viewshifts.v
theories/base_logic/lib/viewshifts.v
+1
-1
theories/base_logic/lib/wsat.v
theories/base_logic/lib/wsat.v
+1
-1
theories/base_logic/primitive.v
theories/base_logic/primitive.v
+1
-1
theories/base_logic/soundness.v
theories/base_logic/soundness.v
+1
-1
theories/base_logic/tactics.v
theories/base_logic/tactics.v
+1
-1
theories/base_logic/upred.v
theories/base_logic/upred.v
+1
-1
No files found.
theories/algebra/agree.v
View file @
d6b49ab2
...
...
@@ -208,7 +208,7 @@ Section list_theory.
Lemma
list_agrees_fmap
`
{
Equivalence
_
R
'
}
al
:
list_agrees
R
al
→
list_agrees
R
'
(
f
<
$
>
al
).
Proof
using
All
.
Proof
using
Type
*
.
move
=>
/
list_agrees_alt
Hl
.
apply
(
list_agrees_alt
R
'
)
=>
a
'
b
'
.
intros
(
a
&
->
&
Ha
)
%
elem_of_list_fmap
(
b
&
->
&
Hb
)
%
elem_of_list_fmap
.
apply
Hf
.
exact
:
Hl
.
...
...
theories/algebra/auth.v
View file @
d6b49ab2
From
iris
.
algebra
Require
Export
excl
local_updates
.
From
iris
.
base_logic
Require
Import
base_logic
.
From
iris
.
proofmode
Require
Import
classes
.
Set
Default
Proof
Using
"Type
*
"
.
Set
Default
Proof
Using
"Type"
.
Record
auth
(
A
:
Type
)
:=
Auth
{
authoritative
:
excl
'
A
;
auth_own
:
A
}
.
Add
Printing
Constructor
auth
.
...
...
theories/algebra/base.v
View file @
d6b49ab2
From
mathcomp
Require
Export
ssreflect
.
From
iris
.
prelude
Require
Export
prelude
.
Set
Default
Proof
Using
"Type
*
"
.
Set
Default
Proof
Using
"Type"
.
Global
Set
Bullet
Behavior
"Strict Subproofs"
.
Global
Open
Scope
general_if_scope
.
Ltac
done
:=
prelude
.
tactics
.
done
.
theories/algebra/cmra.v
View file @
d6b49ab2
From
iris
.
algebra
Require
Export
ofe
.
Set
Default
Proof
Using
"Type
*
"
.
Set
Default
Proof
Using
"Type"
.
Class
PCore
(
A
:
Type
)
:=
pcore
:
A
→
option
A
.
Instance:
Params
(
@
pcore
)
2.
...
...
@@ -428,6 +428,7 @@ Qed.
(
**
**
Total
core
*
)
Section
total_core
.
Set
Default
Proof
Using
"Type*"
.
Context
`
{
CMRATotal
A
}
.
Lemma
cmra_core_l
x
:
core
x
⋅
x
≡
x
.
...
...
theories/algebra/cmra_big_op.v
View file @
d6b49ab2
From
iris
.
algebra
Require
Export
cmra
list
.
From
iris
.
prelude
Require
Import
functions
gmap
gmultiset
.
Set
Default
Proof
Using
"Type
*
"
.
Set
Default
Proof
Using
"Type"
.
(
**
The
operator
[
[
⋅
]
Ps
]
folds
[
⋅
]
over
the
list
[
Ps
].
This
operator
is
not
a
quantifier
,
so
it
binds
strongly
.
...
...
theories/algebra/cmra_tactics.v
View file @
d6b49ab2
From
iris
.
algebra
Require
Export
cmra
.
From
iris
.
algebra
Require
Import
cmra_big_op
.
Set
Default
Proof
Using
"Type
*
"
.
Set
Default
Proof
Using
"Type"
.
(
**
*
Simple
solver
for
validity
and
inclusion
by
reflection
*
)
Module
ra_reflection
.
Section
ra_reflection
.
...
...
theories/algebra/coPset.v
View file @
d6b49ab2
From
iris
.
algebra
Require
Export
cmra
.
From
iris
.
algebra
Require
Import
updates
local_updates
.
From
iris
.
prelude
Require
Export
collections
coPset
.
Set
Default
Proof
Using
"Type
*
"
.
Set
Default
Proof
Using
"Type"
.
(
**
This
is
pretty
much
the
same
as
algebra
/
gset
,
but
I
was
not
able
to
generalize
the
construction
without
breaking
canonical
structures
.
*
)
...
...
theories/algebra/cofe_solver.v
View file @
d6b49ab2
...
...
@@ -205,7 +205,7 @@ Instance fold_ne : Proper (dist n ==> dist n) fold.
Proof
.
by
intros
n
X
Y
HXY
k
;
rewrite
/
fold
/=
HXY
.
Qed
.
Theorem
result
:
solution
F
.
Proof
using
All
.
Proof
using
Type
*
.
apply
(
Solution
F
T
_
(
CofeMor
unfold
)
(
CofeMor
fold
)).
-
move
=>
X
/=
.
rewrite
equiv_dist
=>
n
k
;
rewrite
/
unfold
/
fold
/=
.
rewrite
-
g_tower
-
(
gg_tower
_
n
);
apply
(
_
:
Proper
(
_
==>
_
)
(
g
_
)).
...
...
theories/algebra/csum.v
View file @
d6b49ab2
From
iris
.
algebra
Require
Export
cmra
.
From
iris
.
base_logic
Require
Import
base_logic
.
From
iris
.
algebra
Require
Import
local_updates
.
Set
Default
Proof
Using
"Type
*
"
.
Set
Default
Proof
Using
"Type"
.
Local
Arguments
pcore
_
_
!
_
/
.
Local
Arguments
cmra_pcore
_
!
_
/
.
Local
Arguments
validN
_
_
_
!
_
/
.
...
...
theories/algebra/deprecated.v
View file @
d6b49ab2
From
iris
.
algebra
Require
Import
ofe
cmra
.
Set
Default
Proof
Using
"Type
*
"
.
Set
Default
Proof
Using
"Type"
.
(
*
Old
notation
for
backwards
compatibility
.
*
)
...
...
theories/algebra/dra.v
View file @
d6b49ab2
From
iris
.
algebra
Require
Export
cmra
updates
.
Set
Default
Proof
Using
"Type
*
"
.
Set
Default
Proof
Using
"Type"
.
Record
DRAMixin
A
`
{
Equiv
A
,
Core
A
,
Disjoint
A
,
Op
A
,
Valid
A
}
:=
{
(
*
setoids
*
)
...
...
theories/algebra/excl.v
View file @
d6b49ab2
From
iris
.
algebra
Require
Export
cmra
.
From
iris
.
base_logic
Require
Import
base_logic
.
Set
Default
Proof
Using
"Type
*
"
.
Set
Default
Proof
Using
"Type"
.
Local
Arguments
validN
_
_
_
!
_
/
.
Local
Arguments
valid
_
_
!
_
/
.
...
...
theories/algebra/frac.v
View file @
d6b49ab2
From
Coq
.
QArith
Require
Import
Qcanon
.
From
iris
.
algebra
Require
Export
cmra
.
Set
Default
Proof
Using
"Type
*
"
.
Set
Default
Proof
Using
"Type"
.
Notation
frac
:=
Qp
(
only
parsing
).
...
...
theories/algebra/gmap.v
View file @
d6b49ab2
...
...
@@ -2,7 +2,7 @@ From iris.algebra Require Export cmra.
From
iris
.
prelude
Require
Export
gmap
.
From
iris
.
algebra
Require
Import
updates
local_updates
.
From
iris
.
base_logic
Require
Import
base_logic
.
Set
Default
Proof
Using
"Type
*
"
.
Set
Default
Proof
Using
"Type"
.
Section
cofe
.
Context
`
{
Countable
K
}
{
A
:
ofeT
}
.
...
...
@@ -334,6 +334,7 @@ Proof.
Qed
.
Section
freshness
.
Set
Default
Proof
Using
"Type*"
.
Context
`
{
Fresh
K
(
gset
K
),
!
FreshSpec
K
(
gset
K
)
}
.
Lemma
alloc_updateP_strong
(
Q
:
gmap
K
A
→
Prop
)
(
I
:
gset
K
)
m
x
:
✓
x
→
(
∀
i
,
m
!!
i
=
None
→
i
∉
I
→
Q
(
<
[
i
:=
x
]
>
m
))
→
m
~~>:
Q
.
...
...
theories/algebra/gset.v
View file @
d6b49ab2
From
iris
.
algebra
Require
Export
cmra
.
From
iris
.
algebra
Require
Import
updates
local_updates
.
From
iris
.
prelude
Require
Export
collections
gmap
mapset
.
Set
Default
Proof
Using
"Type
*
"
.
Set
Default
Proof
Using
"Type"
.
(
*
The
union
CMRA
*
)
Section
gset
.
...
...
@@ -155,6 +155,7 @@ Section gset_disj.
Proof
.
eauto
using
gset_disj_alloc_empty_updateP_strong
.
Qed
.
Section
fresh_updates
.
Set
Default
Proof
Using
"Type*"
.
Context
`
{
Fresh
K
(
gset
K
),
!
FreshSpec
K
(
gset
K
)
}
.
Lemma
gset_disj_alloc_updateP
(
Q
:
gset_disj
K
→
Prop
)
X
:
...
...
theories/algebra/iprod.v
View file @
d6b49ab2
From
iris
.
algebra
Require
Export
cmra
.
From
iris
.
base_logic
Require
Import
base_logic
.
From
iris
.
prelude
Require
Import
finite
.
Set
Default
Proof
Using
"Type
*
"
.
Set
Default
Proof
Using
"Type"
.
(
**
*
Indexed
product
*
)
(
**
Need
to
put
this
in
a
definition
to
make
canonical
structures
to
work
.
*
)
...
...
theories/algebra/list.v
View file @
d6b49ab2
...
...
@@ -2,7 +2,7 @@ From iris.algebra Require Export cmra.
From
iris
.
prelude
Require
Export
list
.
From
iris
.
base_logic
Require
Import
base_logic
.
From
iris
.
algebra
Require
Import
updates
local_updates
.
Set
Default
Proof
Using
"Type
*
"
.
Set
Default
Proof
Using
"Type"
.
Section
cofe
.
Context
{
A
:
ofeT
}
.
...
...
theories/algebra/local_updates.v
View file @
d6b49ab2
From
iris
.
algebra
Require
Export
cmra
.
Set
Default
Proof
Using
"Type
*
"
.
Set
Default
Proof
Using
"Type"
.
(
**
*
Local
updates
*
)
Definition
local_update
{
A
:
cmraT
}
(
x
y
:
A
*
A
)
:=
∀
n
mz
,
...
...
theories/algebra/ofe.v
View file @
d6b49ab2
From
iris
.
algebra
Require
Export
base
.
Set
Default
Proof
Using
"Type
*
"
.
Set
Default
Proof
Using
"Type"
.
(
**
This
files
defines
(
a
shallow
embedding
of
)
the
category
of
OFEs
:
Complete
ordered
families
of
equivalences
.
This
is
a
cartesian
closed
...
...
@@ -159,6 +159,7 @@ Instance const_contractive {A B : ofeT} (x : A) : Contractive (@const A B x).
Proof
.
by
intros
n
y1
y2
.
Qed
.
Section
contractive
.
Set
Default
Proof
Using
"Type*"
.
Context
{
A
B
:
ofeT
}
(
f
:
A
→
B
)
`
{!
Contractive
f
}
.
Implicit
Types
x
y
:
A
.
...
...
theories/algebra/sts.v
View file @
d6b49ab2
From
iris
.
prelude
Require
Export
set
.
From
iris
.
algebra
Require
Export
cmra
.
From
iris
.
algebra
Require
Import
dra
.
Set
Default
Proof
Using
"Type
*
"
.
Set
Default
Proof
Using
"Type"
.
Local
Arguments
valid
_
_
!
_
/
.
Local
Arguments
op
_
_
!
_
!
_
/
.
Local
Arguments
core
_
_
!
_
/
.
...
...
theories/algebra/updates.v
View file @
d6b49ab2
From
iris
.
algebra
Require
Export
cmra
.
Set
Default
Proof
Using
"Type
*
"
.
Set
Default
Proof
Using
"Type"
.
(
**
*
Frame
preserving
updates
*
)
(
*
This
quantifies
over
[
option
A
]
for
the
frame
.
That
is
necessary
to
...
...
@@ -86,6 +86,7 @@ Qed.
(
**
**
Frame
preserving
updates
for
total
CMRAs
*
)
Section
total_updates
.
Set
Default
Proof
Using
"Type*"
.
Context
`
{
CMRATotal
A
}
.
Lemma
cmra_total_updateP
x
(
P
:
A
→
Prop
)
:
...
...
theories/algebra/vector.v
View file @
d6b49ab2
From
iris
.
prelude
Require
Export
vector
.
From
iris
.
algebra
Require
Export
ofe
.
From
iris
.
algebra
Require
Import
list
.
Set
Default
Proof
Using
"Type
*
"
.
Set
Default
Proof
Using
"Type"
.
Section
ofe
.
Context
{
A
:
ofeT
}
.
...
...
theories/base_logic/base_logic.v
View file @
d6b49ab2
From
iris
.
base_logic
Require
Export
derived
.
Set
Default
Proof
Using
"Type
*
"
.
Set
Default
Proof
Using
"Type"
.
Module
Import
uPred
.
Export
upred
.
uPred
.
...
...
theories/base_logic/big_op.v
View file @
d6b49ab2
From
iris
.
algebra
Require
Export
list
cmra_big_op
.
From
iris
.
base_logic
Require
Export
base_logic
.
From
iris
.
prelude
Require
Import
gmap
fin_collections
gmultiset
functions
.
Set
Default
Proof
Using
"Type
*
"
.
Set
Default
Proof
Using
"Type"
.
Import
uPred
.
(
*
We
make
use
of
the
bigops
on
CMRAs
,
so
we
first
define
a
(
somewhat
ad
-
hoc
)
...
...
theories/base_logic/deprecated.v
View file @
d6b49ab2
From
iris
.
base_logic
Require
Import
primitive
.
Set
Default
Proof
Using
"Type
*
"
.
Set
Default
Proof
Using
"Type"
.
(
*
Deprecated
2016
-
11
-
22.
Use
⌜φ⌝
instead
.
*
)
Notation
"■ φ"
:=
(
uPred_pure
φ
%
C
%
type
)
...
...
theories/base_logic/derived.v
View file @
d6b49ab2
From
iris
.
base_logic
Require
Export
primitive
.
Set
Default
Proof
Using
"Type
*
"
.
Set
Default
Proof
Using
"Type"
.
Import
upred
.
uPred
primitive
.
uPred
.
Definition
uPred_iff
{
M
}
(
P
Q
:
uPred
M
)
:
uPred
M
:=
((
P
→
Q
)
∧
(
Q
→
P
))
%
I
.
...
...
theories/base_logic/double_negation.v
View file @
d6b49ab2
From
iris
.
base_logic
Require
Import
base_logic
.
Set
Default
Proof
Using
"Type
*
"
.
Set
Default
Proof
Using
"Type"
.
(
*
In
this
file
we
show
that
the
bupd
can
be
thought
of
a
kind
of
step
-
indexed
double
-
negation
when
our
meta
-
logic
is
classical
*
)
...
...
@@ -274,7 +274,7 @@ Qed.
Section
classical
.
Context
(
not_all_not_ex
:
∀
(
P
:
M
→
Prop
),
¬
(
∀
n
:
M
,
¬
P
n
)
→
∃
n
:
M
,
P
n
).
Lemma
nnupd_bupd
P
:
(
|=
n
=>
P
)
⊢
(
|==>
P
).
Proof
.
Proof
using
Type
*
.
rewrite
/
uPred_nnupd
.
split
.
uPred
.
unseal
;
red
;
rewrite
//=.
intros
n
x
?
Hforall
k
yf
Hle
?
.
...
...
theories/base_logic/hlist.v
View file @
d6b49ab2
From
iris
.
prelude
Require
Export
hlist
.
From
iris
.
base_logic
Require
Export
base_logic
.
Set
Default
Proof
Using
"Type
*
"
.
Set
Default
Proof
Using
"Type"
.
Import
uPred
.
Fixpoint
uPred_hexist
{
M
As
}
:
himpl
As
(
uPred
M
)
→
uPred
M
:=
...
...
theories/base_logic/lib/auth.v
View file @
d6b49ab2
...
...
@@ -3,7 +3,7 @@ From iris.algebra Require Export auth.
From
iris
.
algebra
Require
Import
gmap
.
From
iris
.
base_logic
Require
Import
big_op
.
From
iris
.
proofmode
Require
Import
tactics
.
Set
Default
Proof
Using
"Type
*
"
.
Set
Default
Proof
Using
"Type"
.
Import
uPred
.
(
*
The
CMRA
we
need
.
*
)
...
...
@@ -117,7 +117,7 @@ Section auth.
▷
auth_inv
γ
f
φ
∗
auth_own
γ
a
={
E
}=
∗
∃
t
,
⌜
a
≼
f
t
⌝
∗
▷
φ
t
∗
∀
u
b
,
⌜
(
f
t
,
a
)
~
l
~>
(
f
u
,
b
)
⌝
∗
▷
φ
u
={
E
}=
∗
▷
auth_inv
γ
f
φ
∗
auth_own
γ
b
.
Proof
.
Proof
using
Type
*
.
iIntros
"[Hinv Hγf]"
.
rewrite
/
auth_inv
/
auth_own
.
iDestruct
"Hinv"
as
(
t
)
"[>Hγa Hφ]"
.
iModIntro
.
iExists
t
.
...
...
@@ -133,7 +133,7 @@ Section auth.
auth_ctx
γ
N
f
φ
∗
auth_own
γ
a
={
E
,
E
∖↑
N
}=
∗
∃
t
,
⌜
a
≼
f
t
⌝
∗
▷
φ
t
∗
∀
u
b
,
⌜
(
f
t
,
a
)
~
l
~>
(
f
u
,
b
)
⌝
∗
▷
φ
u
={
E
∖↑
N
,
E
}=
∗
auth_own
γ
b
.
Proof
.
Proof
using
Type
*
.
iIntros
(
?
)
"[#? Hγf]"
.
rewrite
/
auth_ctx
.
iInv
N
as
"Hinv"
"Hclose"
.
(
*
The
following
is
essentially
a
very
trivial
composition
of
the
accessors
[
auth_acc
]
and
[
inv_open
]
--
but
since
we
don
'
t
have
any
good
support
...
...
theories/base_logic/lib/boxes.v
View file @
d6b49ab2
...
...
@@ -2,7 +2,7 @@ From iris.base_logic.lib Require Export invariants.
From
iris
.
algebra
Require
Import
auth
gmap
agree
.
From
iris
.
base_logic
Require
Import
big_op
.
From
iris
.
proofmode
Require
Import
tactics
.
Set
Default
Proof
Using
"Type
*
"
.
Set
Default
Proof
Using
"Type"
.
Import
uPred
.
(
**
The
CMRAs
we
need
.
*
)
...
...
theories/base_logic/lib/cancelable_invariants.v
View file @
d6b49ab2
From
iris
.
base_logic
.
lib
Require
Export
invariants
fractional
.
From
iris
.
algebra
Require
Export
frac
.
From
iris
.
proofmode
Require
Import
tactics
.
Set
Default
Proof
Using
"Type
*
"
.
Set
Default
Proof
Using
"Type"
.
Import
uPred
.
Class
cinvG
Σ
:=
cinv_inG
:>
inG
Σ
fracR
.
...
...
theories/base_logic/lib/core.v
View file @
d6b49ab2
From
iris
.
base_logic
Require
Import
base_logic
.
From
iris
.
proofmode
Require
Import
tactics
.
Set
Default
Proof
Using
"Type
*
"
.
Set
Default
Proof
Using
"Type"
.
Import
uPred
.
(
**
The
"core"
of
an
assertion
is
its
maximal
persistent
part
.
...
...
theories/base_logic/lib/counter_examples.v
View file @
d6b49ab2
From
iris
.
base_logic
Require
Import
base_logic
soundness
.
From
iris
.
proofmode
Require
Import
tactics
.
Set
Default
Proof
Using
"
All
"
.
Set
Default
Proof
Using
"
Type*
"
.
(
**
This
proves
that
we
need
the
▷
in
a
"Saved Proposition"
construction
with
name
-
dependent
allocation
.
*
)
...
...
@@ -39,7 +39,7 @@ Module savedprop. Section savedprop.
Qed
.
Lemma
contradiction
:
False
.
Proof
.
Proof
using
All
.
apply
(
@
soundness
M
False
1
);
simpl
.
iIntros
""
.
iMod
A_alloc
as
(
i
)
"#H"
.
iPoseProof
(
saved_NA
with
"H"
)
as
"HN"
.
...
...
@@ -186,7 +186,7 @@ Module inv. Section inv.
Qed
.
Lemma
contradiction
:
False
.
Proof
.
Proof
using
All
.
apply
consistency
.
iIntros
""
.
iMod
A_alloc
as
(
i
)
"#H"
.
iPoseProof
(
saved_NA
with
"H"
)
as
"HN"
.
...
...
theories/base_logic/lib/fancy_updates.v
View file @
d6b49ab2
...
...
@@ -4,7 +4,7 @@ From iris.base_logic.lib Require Import wsat.
From
iris
.
algebra
Require
Import
gmap
.
From
iris
.
base_logic
Require
Import
big_op
.
From
iris
.
proofmode
Require
Import
tactics
classes
.
Set
Default
Proof
Using
"Type
*
"
.
Set
Default
Proof
Using
"Type"
.
Export
invG
.
Import
uPred
.
...
...
theories/base_logic/lib/fractional.v
View file @
d6b49ab2
...
...
@@ -2,7 +2,7 @@ From iris.prelude Require Import gmap gmultiset.
From
iris
.
base_logic
Require
Export
derived
.
From
iris
.
base_logic
Require
Import
big_op
.
From
iris
.
proofmode
Require
Import
classes
class_instances
.
Set
Default
Proof
Using
"Type
*
"
.
Set
Default
Proof
Using
"Type"
.
Class
Fractional
{
M
}
(
Φ
:
Qp
→
uPred
M
)
:=
fractional
p
q
:
Φ
(
p
+
q
)
%
Qp
⊣⊢
Φ
p
∗
Φ
q
.
...
...
theories/base_logic/lib/gen_heap.v
View file @
d6b49ab2
...
...
@@ -2,7 +2,7 @@ From iris.algebra Require Import auth gmap frac agree.
From
iris
.
base_logic
.
lib
Require
Export
own
.
From
iris
.
base_logic
.
lib
Require
Import
fractional
.
From
iris
.
proofmode
Require
Import
tactics
.
Set
Default
Proof
Using
"Type
*
"
.
Set
Default
Proof
Using
"Type"
.
Import
uPred
.
Definition
gen_heapUR
(
L
V
:
Type
)
`
{
Countable
L
}
:
ucmraT
:=
...
...
theories/base_logic/lib/invariants.v
View file @
d6b49ab2
...
...
@@ -2,7 +2,7 @@ From iris.base_logic.lib Require Export fancy_updates namespaces.
From
iris
.
base_logic
.
lib
Require
Import
wsat
.
From
iris
.
algebra
Require
Import
gmap
.
From
iris
.
proofmode
Require
Import
tactics
coq_tactics
intro_patterns
.
Set
Default
Proof
Using
"Type
*
"
.
Set
Default
Proof
Using
"Type"
.
Import
uPred
.
(
**
Derived
forms
and
lemmas
about
them
.
*
)
...
...
theories/base_logic/lib/iprop.v
View file @
d6b49ab2
From
iris
.
base_logic
Require
Export
base_logic
.
From
iris
.
algebra
Require
Import
iprod
gmap
.
From
iris
.
algebra
Require
cofe_solver
.
Set
Default
Proof
Using
"Type
*
"
.
Set
Default
Proof
Using
"Type"
.
(
**
In
this
file
we
construct
the
type
[
iProp
]
of
propositions
of
the
Iris
logic
.
This
is
done
by
solving
the
following
recursive
domain
equation
:
...
...
theories/base_logic/lib/na_invariants.v
View file @
d6b49ab2
From
iris
.
base_logic
.
lib
Require
Export
invariants
.
From
iris
.
algebra
Require
Export
gmap
gset
coPset
.
From
iris
.
proofmode
Require
Import
tactics
.
Set
Default
Proof
Using
"Type
*
"
.
Set
Default
Proof
Using
"Type"
.
Import
uPred
.
(
*
Non
-
atomic
(
"thread-local"
)
invariants
.
*
)
...
...
theories/base_logic/lib/namespaces.v
View file @
d6b49ab2
From
iris
.
prelude
Require
Export
countable
coPset
.
From
iris
.
algebra
Require
Export
base
.
Set
Default
Proof
Using
"Type
*
"
.
Set
Default
Proof
Using
"Type"
.
Definition
namespace
:=
list
positive
.
Instance
namespace_eq_dec
:
EqDecision
namespace
:=
_.
...
...
theories/base_logic/lib/own.v
View file @
d6b49ab2
...
...
@@ -2,7 +2,7 @@ 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
.
Set
Default
Proof
Using
"Type
*
"
.
Set
Default
Proof
Using
"Type"
.
Import
uPred
.
(
**
The
class
[
inG
Σ
A
]
expresses
that
the
CMRA
[
A
]
is
in
the
list
of
functors
...
...
theories/base_logic/lib/saved_prop.v
View file @
d6b49ab2
From
iris
.
base_logic
Require
Export
own
.
From
iris
.
algebra
Require
Import
agree
.
From
iris
.
prelude
Require
Import
gmap
.
Set
Default
Proof
Using
"Type
*
"
.
Set
Default
Proof
Using
"Type"
.
Import
uPred
.
Class
savedPropG
(
Σ
:
gFunctors
)
(
F
:
cFunctor
)
:=
...
...
theories/base_logic/lib/sts.v
View file @
d6b49ab2
From
iris
.
base_logic
.
lib
Require
Export
invariants
.
From
iris
.
algebra
Require
Export
sts
.
From
iris
.
proofmode
Require
Import
tactics
.
Set
Default
Proof
Using
"Type
*
"
.
Set
Default
Proof
Using
"Type"
.
Import
uPred
.
(
**
The
CMRA
we
need
.
*
)
...
...
theories/base_logic/lib/viewshifts.v
View file @
d6b49ab2
From
iris
.
base_logic
.
lib
Require
Export
invariants
.
From
iris
.
proofmode
Require
Import
tactics
.
Set
Default
Proof
Using
"Type
*
"
.
Set
Default
Proof
Using
"Type"
.
Definition
vs
`
{
invG
Σ
}
(
E1
E2
:
coPset
)
(
P
Q
:
iProp
Σ
)
:
iProp
Σ
:=
(
□
(
P
-
∗
|={
E1
,
E2
}=>
Q
))
%
I
.
...
...
theories/base_logic/lib/wsat.v
View file @
d6b49ab2
...
...
@@ -3,7 +3,7 @@ From iris.prelude Require Export coPset.
From
iris
.
algebra
Require
Import
gmap
auth
agree
gset
coPset
.
From
iris
.
base_logic
Require
Import
big_op
.
From
iris
.
proofmode
Require
Import
tactics
.
Set
Default
Proof
Using
"Type
*
"
.
Set
Default
Proof
Using
"Type"
.
Module
invG
.
Class
invG
(
Σ
:
gFunctors
)
:
Set
:=
WsatG
{
...
...
theories/base_logic/primitive.v
View file @
d6b49ab2
From
iris
.
base_logic
Require
Export
upred
.
From
iris
.
algebra
Require
Export
updates
.
Set
Default
Proof
Using
"Type
*
"
.
Set
Default
Proof
Using
"Type"
.
Local
Hint
Extern
1
(
_
≼
_
)
=>
etrans
;
[
eassumption
|
].
Local
Hint
Extern
1
(
_
≼
_
)
=>
etrans
;
[
|
eassumption
].
Local
Hint
Extern
10
(
_
≤
_
)
=>
omega
.
...
...
theories/base_logic/soundness.v
View file @
d6b49ab2
From
iris
.
base_logic
Require
Export
base_logic
.
Set
Default
Proof
Using
"Type
*
"
.
Set
Default
Proof
Using
"Type"
.
Import
uPred
.
Section
adequacy
.
...
...
theories/base_logic/tactics.v
View file @
d6b49ab2
From
iris
.
prelude
Require
Import
gmap
.
From
iris
.
base_logic
Require
Export
base_logic
big_op
.
Set
Default
Proof
Using
"Type
*
"
.
Set
Default
Proof
Using
"Type"
.
Import
uPred
.
Module
uPred_reflection
.
Section
uPred_reflection
.
...
...
theories/base_logic/upred.v
View file @
d6b49ab2
From
iris
.
algebra
Require
Export
cmra
.
Set
Default
Proof
Using
"Type
*
"
.
Set
Default
Proof
Using
"Type"
.
(
**
The
basic
definition
of
the
uPred
type
,
its
metric
and
functor
laws
.
You
probably
do
not
want
to
import
this
file
.
Instead
,
import
...
...
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