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
Iris
Iris
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
Pipeline
#3607
passed with stage
in 10 minutes and 28 seconds
Changes
49
Pipelines
1
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