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
George Pirlea
Iris
Commits
d6b49ab2
Commit
d6b49ab2
authored
Jan 05, 2017
by
Ralf Jung
Browse files
more restrictive Proof Using hints in base_logic, algebra
parent
60d82286
Changes
49
Hide whitespace changes
Inline
Side-by-side
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
:
=
_
.
...
...
Prev
1
2
3
Next
Write
Preview
Supports
Markdown
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