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
Jonas Kastberg
iris
Commits
4cba2266
Commit
4cba2266
authored
Feb 09, 2017
by
Robbert Krebbers
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
Rename cofe_subst -> ofe_subst.
parent
d1ec2aec
Changes
7
Hide whitespace changes
Inline
Side-by-side
Showing
7 changed files
with
25 additions
and
25 deletions
+25
-25
theories/algebra/auth.v
theories/algebra/auth.v
+1
-1
theories/algebra/cmra.v
theories/algebra/cmra.v
+5
-5
theories/algebra/csum.v
theories/algebra/csum.v
+2
-2
theories/algebra/gmap.v
theories/algebra/gmap.v
+1
-1
theories/algebra/ofe.v
theories/algebra/ofe.v
+9
-9
theories/base_logic/big_op.v
theories/base_logic/big_op.v
+1
-1
theories/base_logic/primitive.v
theories/base_logic/primitive.v
+6
-6
No files found.
theories/algebra/auth.v
View file @
4cba2266
...
...
@@ -152,7 +152,7 @@ Proof.
-
by
intros
n
x
y1
y2
[
Hy
Hy'
]
;
split
;
simpl
;
rewrite
?Hy
?Hy'
.
-
by
intros
n
y1
y2
[
Hy
Hy'
]
;
split
;
simpl
;
rewrite
?Hy
?Hy'
.
-
intros
n
[
x
a
]
[
y
b
]
[
Hx
Ha
]
;
simpl
in
*.
rewrite
!
auth_validN_eq
.
destruct
Hx
as
[??
Hx
|]
;
first
destruct
Hx
;
intros
?
;
c
ofe_subst
;
auto
.
destruct
Hx
as
[??
Hx
|]
;
first
destruct
Hx
;
intros
?
;
ofe_subst
;
auto
.
-
intros
[[[?|]|]
?]
;
rewrite
/=
?auth_valid_eq
?auth_validN_eq
/=
?cmra_included_includedN
?cmra_valid_validN
;
naive_solver
eauto
using
O
.
...
...
theories/algebra/cmra.v
View file @
4cba2266
...
...
@@ -309,7 +309,7 @@ Proof.
by
split
;
intros
[
z
?]
;
exists
z
;
[
rewrite
-
Hx
-
Hy
|
rewrite
Hx
Hy
].
Qed
.
Global
Instance
cmra_opM_ne
:
NonExpansive2
(@
opM
A
).
Proof
.
destruct
2
;
by
c
ofe_subst
.
Qed
.
Proof
.
destruct
2
;
by
ofe_subst
.
Qed
.
Global
Instance
cmra_opM_proper
:
Proper
((
≡
)
==>
(
≡
)
==>
(
≡
))
(@
opM
A
).
Proof
.
destruct
2
;
by
setoid_subst
.
Qed
.
...
...
@@ -383,7 +383,7 @@ Qed.
Lemma
cmra_valid_included
x
y
:
✓
y
→
x
≼
y
→
✓
x
.
Proof
.
intros
Hyv
[
z
?]
;
setoid_subst
;
eauto
using
cmra_valid_op_l
.
Qed
.
Lemma
cmra_validN_includedN
n
x
y
:
✓
{
n
}
y
→
x
≼
{
n
}
y
→
✓
{
n
}
x
.
Proof
.
intros
Hyv
[
z
?]
;
c
ofe_subst
y
;
eauto
using
cmra_validN_op_l
.
Qed
.
Proof
.
intros
Hyv
[
z
?]
;
ofe_subst
y
;
eauto
using
cmra_validN_op_l
.
Qed
.
Lemma
cmra_validN_included
n
x
y
:
✓
{
n
}
y
→
x
≼
y
→
✓
{
n
}
x
.
Proof
.
intros
Hyv
[
z
?]
;
setoid_subst
;
eauto
using
cmra_validN_op_l
.
Qed
.
...
...
@@ -1269,9 +1269,9 @@ Section option.
Proof
.
apply
cmra_total_mixin
.
-
eauto
.
-
by
intros
[
x
|]
n
;
destruct
1
;
constructor
;
c
ofe_subst
.
-
destruct
1
;
by
c
ofe_subst
.
-
by
destruct
1
;
rewrite
/
validN
/
option_validN
//=
;
c
ofe_subst
.
-
by
intros
[
x
|]
n
;
destruct
1
;
constructor
;
ofe_subst
.
-
destruct
1
;
by
ofe_subst
.
-
by
destruct
1
;
rewrite
/
validN
/
option_validN
//=
;
ofe_subst
.
-
intros
[
x
|]
;
[
apply
cmra_valid_validN
|
done
].
-
intros
n
[
x
|]
;
unfold
validN
,
option_validN
;
eauto
using
cmra_validN_S
.
-
intros
[
x
|]
[
y
|]
[
z
|]
;
constructor
;
rewrite
?assoc
;
auto
.
...
...
theories/algebra/csum.v
View file @
4cba2266
...
...
@@ -205,7 +205,7 @@ Qed.
Lemma
csum_cmra_mixin
:
CMRAMixin
(
csum
A
B
).
Proof
.
split
.
-
intros
[]
n
;
destruct
1
;
constructor
;
by
c
ofe_subst
.
-
intros
[]
n
;
destruct
1
;
constructor
;
by
ofe_subst
.
-
intros
????
[
n
a
a'
Ha
|
n
b
b'
Hb
|
n
]
[=]
;
subst
;
eauto
.
+
destruct
(
pcore
a
)
as
[
ca
|]
eqn
:
?
;
simplify_option_eq
.
destruct
(
cmra_pcore_ne
n
a
a'
ca
)
as
(
ca'
&->&?)
;
auto
.
...
...
@@ -213,7 +213,7 @@ Proof.
+
destruct
(
pcore
b
)
as
[
cb
|]
eqn
:
?
;
simplify_option_eq
.
destruct
(
cmra_pcore_ne
n
b
b'
cb
)
as
(
cb'
&->&?)
;
auto
.
exists
(
Cinr
cb'
)
;
by
repeat
constructor
.
-
intros
?
[
a
|
b
|]
[
a'
|
b'
|]
H
;
inversion_clear
H
;
c
ofe_subst
;
done
.
-
intros
?
[
a
|
b
|]
[
a'
|
b'
|]
H
;
inversion_clear
H
;
ofe_subst
;
done
.
-
intros
[
a
|
b
|]
;
rewrite
/=
?cmra_valid_validN
;
naive_solver
eauto
using
O
.
-
intros
n
[
a
|
b
|]
;
simpl
;
auto
using
cmra_validN_S
.
-
intros
[
a1
|
b1
|]
[
a2
|
b2
|]
[
a3
|
b3
|]
;
constructor
;
by
rewrite
?assoc
.
...
...
theories/algebra/gmap.v
View file @
4cba2266
...
...
@@ -79,7 +79,7 @@ Global Instance gmap_lookup_timeless m i : Timeless m → Timeless (m !! i).
Proof
.
intros
?
[
x
|]
Hx
;
[|
by
symmetry
;
apply
:
timeless
].
assert
(
m
≡
{
0
}
≡
<[
i
:
=
x
]>
m
)
by
(
by
symmetry
in
Hx
;
inversion
Hx
;
c
ofe_subst
;
rewrite
insert_id
).
by
(
by
symmetry
in
Hx
;
inversion
Hx
;
ofe_subst
;
rewrite
insert_id
).
by
rewrite
(
timeless
m
(<[
i
:
=
x
]>
m
))
//
lookup_insert
.
Qed
.
Global
Instance
gmap_insert_timeless
m
i
x
:
...
...
theories/algebra/ofe.v
View file @
4cba2266
...
...
@@ -20,13 +20,13 @@ Hint Extern 0 (_ ≡{_}≡ _) => symmetry; assumption.
Notation
NonExpansive
f
:
=
(
∀
n
,
Proper
(
dist
n
==>
dist
n
)
f
).
Notation
NonExpansive2
f
:
=
(
∀
n
,
Proper
(
dist
n
==>
dist
n
==>
dist
n
)
f
).
Tactic
Notation
"
c
ofe_subst"
ident
(
x
)
:
=
Tactic
Notation
"ofe_subst"
ident
(
x
)
:
=
repeat
match
goal
with
|
_
=>
progress
simplify_eq
/=
|
H
:
@
dist
?A
?d
?n
x
_
|-
_
=>
setoid_subst_aux
(@
dist
A
d
n
)
x
|
H
:
@
dist
?A
?d
?n
_
x
|-
_
=>
symmetry
in
H
;
setoid_subst_aux
(@
dist
A
d
n
)
x
end
.
Tactic
Notation
"
c
ofe_subst"
:
=
Tactic
Notation
"ofe_subst"
:
=
repeat
match
goal
with
|
_
=>
progress
simplify_eq
/=
|
H
:
@
dist
?A
?d
?n
?x
_
|-
_
=>
setoid_subst_aux
(@
dist
A
d
n
)
x
...
...
@@ -130,7 +130,7 @@ Lemma compl_chain_map `{Cofe A, Cofe B} (f : A → B) c `(NonExpansive f) :
Proof
.
apply
equiv_dist
=>
n
.
by
rewrite
!
conv_compl
.
Qed
.
(** General properties *)
Section
c
ofe
.
Section
ofe
.
Context
{
A
:
ofeT
}.
Implicit
Types
x
y
:
A
.
Global
Instance
ofe_equivalence
:
Equivalence
((
≡
)
:
relation
A
).
...
...
@@ -176,7 +176,7 @@ Section cofe.
Proof
.
split
;
intros
;
auto
.
apply
(
timeless
_
),
dist_le
with
n
;
auto
with
lia
.
Qed
.
End
c
ofe
.
End
ofe
.
(** Contractive functions *)
Definition
dist_later
{
A
:
ofeT
}
(
n
:
nat
)
(
x
y
:
A
)
:
Prop
:
=
...
...
@@ -764,7 +764,7 @@ Section sum.
Proof
.
inversion_clear
2
;
constructor
;
by
apply
(
timeless
_
).
Qed
.
Global
Instance
inr_timeless
(
y
:
B
)
:
Timeless
y
→
Timeless
(
inr
y
).
Proof
.
inversion_clear
2
;
constructor
;
by
apply
(
timeless
_
).
Qed
.
Global
Instance
sum_discrete_
c
ofe
:
Discrete
A
→
Discrete
B
→
Discrete
sumC
.
Global
Instance
sum_discrete_ofe
:
Discrete
A
→
Discrete
B
→
Discrete
sumC
.
Proof
.
intros
??
[?|?]
;
apply
_
.
Qed
.
End
sum
.
...
...
@@ -806,8 +806,8 @@ Proof.
by
apply
sumC_map_ne
;
apply
cFunctor_contractive
.
Qed
.
(** Discrete
cofe
*)
Section
discrete_
c
ofe
.
(** Discrete
OFE
*)
Section
discrete_ofe
.
Context
`
{
Equiv
A
}
(
Heq
:
@
Equivalence
A
(
≡
)).
Instance
discrete_dist
:
Dist
A
:
=
λ
n
x
y
,
x
≡
y
.
...
...
@@ -828,7 +828,7 @@ Section discrete_cofe.
intros
n
c
.
rewrite
/
compl
/=
;
symmetry
;
apply
(
chain_cauchy
c
0
n
).
omega
.
Qed
.
End
discrete_
c
ofe
.
End
discrete_ofe
.
Notation
discreteC
A
:
=
(
OfeT
A
(
discrete_ofe_mixin
_
)).
Notation
leibnizC
A
:
=
(
OfeT
A
(@
discrete_ofe_mixin
_
equivL
_
)).
...
...
@@ -1112,7 +1112,7 @@ Section sigma.
rewrite
/
dist
/
ofe_dist
/=
/
sig_dist
/
equiv
/
ofe_equiv
/=
/
sig_equiv
/=.
apply
(
timeless
_
).
Qed
.
Global
Instance
sig_discrete_
c
ofe
:
Discrete
A
→
Discrete
sigC
.
Global
Instance
sig_discrete_ofe
:
Discrete
A
→
Discrete
sigC
.
Proof
.
intros
??.
apply
_
.
Qed
.
End
sigma
.
...
...
theories/base_logic/big_op.v
View file @
4cba2266
...
...
@@ -37,7 +37,7 @@ Section cmra.
Definition
uPred_cmra_mixin
:
CMRAMixin
(
uPred
M
).
Proof
.
apply
cmra_total_mixin
;
try
apply
_
||
by
eauto
.
-
intros
n
P
Q
??.
by
c
ofe_subst
.
-
intros
n
P
Q
??.
by
ofe_subst
.
-
intros
P
;
split
.
+
intros
HP
n
n'
x
?.
apply
HP
.
+
intros
HP
n
x
.
by
apply
(
HP
n
).
...
...
theories/base_logic/primitive.v
View file @
4cba2266
...
...
@@ -76,7 +76,7 @@ Next Obligation.
Qed
.
Next
Obligation
.
intros
M
P
Q
n1
n2
x
(
x1
&
x2
&
Hx
&?&?)
?
;
rewrite
{
1
}(
dist_le
_
_
_
_
Hx
)
//
=>?.
exists
x1
,
x2
;
c
ofe_subst
;
split_and
!
;
exists
x1
,
x2
;
ofe_subst
;
split_and
!
;
eauto
using
dist_le
,
uPred_closed
,
cmra_validN_op_l
,
cmra_validN_op_r
.
Qed
.
Definition
uPred_sep_aux
:
seal
(@
uPred_sep_def
).
by
eexists
.
Qed
.
...
...
@@ -238,7 +238,7 @@ Global Instance impl_proper :
Global
Instance
sep_ne
:
NonExpansive2
(@
uPred_sep
M
).
Proof
.
intros
n
P
P'
HP
Q
Q'
HQ
;
split
=>
n'
x
??.
unseal
;
split
;
intros
(
x1
&
x2
&?&?&?)
;
c
ofe_subst
x
;
unseal
;
split
;
intros
(
x1
&
x2
&?&?&?)
;
ofe_subst
x
;
exists
x1
,
x2
;
split_and
!
;
try
(
apply
HP
||
apply
HQ
)
;
eauto
using
cmra_validN_op_l
,
cmra_validN_op_r
.
Qed
.
...
...
@@ -381,7 +381,7 @@ Qed.
Lemma
sep_mono
P
P'
Q
Q'
:
(
P
⊢
Q
)
→
(
P'
⊢
Q'
)
→
P
∗
P'
⊢
Q
∗
Q'
.
Proof
.
intros
HQ
HQ'
;
unseal
.
split
;
intros
n'
x
?
(
x1
&
x2
&?&?&?)
;
exists
x1
,
x2
;
c
ofe_subst
x
;
split
;
intros
n'
x
?
(
x1
&
x2
&?&?&?)
;
exists
x1
,
x2
;
ofe_subst
x
;
eauto
7
using
cmra_validN_op_l
,
cmra_validN_op_r
,
uPred_in_entails
.
Qed
.
Lemma
True_sep_1
P
:
P
⊢
True
∗
P
.
...
...
@@ -390,7 +390,7 @@ Proof.
Qed
.
Lemma
True_sep_2
P
:
True
∗
P
⊢
P
.
Proof
.
unseal
;
split
;
intros
n
x
?
(
x1
&
x2
&?&
_
&?)
;
c
ofe_subst
;
unseal
;
split
;
intros
n
x
?
(
x1
&
x2
&?&
_
&?)
;
ofe_subst
;
eauto
using
uPred_mono
,
cmra_includedN_r
.
Qed
.
Lemma
sep_comm'
P
Q
:
P
∗
Q
⊢
Q
∗
P
.
...
...
@@ -412,7 +412,7 @@ Proof.
Qed
.
Lemma
wand_elim_l'
P
Q
R
:
(
P
⊢
Q
-
∗
R
)
→
P
∗
Q
⊢
R
.
Proof
.
unseal
=>
HPQR
.
split
;
intros
n
x
?
(?&?&?&?&?).
c
ofe_subst
.
unseal
=>
HPQR
.
split
;
intros
n
x
?
(?&?&?&?&?).
ofe_subst
.
eapply
HPQR
;
eauto
using
cmra_validN_op_l
.
Qed
.
...
...
@@ -508,7 +508,7 @@ Qed.
(* Valid *)
Lemma
ownM_valid
(
a
:
M
)
:
uPred_ownM
a
⊢
✓
a
.
Proof
.
unseal
;
split
=>
n
x
Hv
[
a'
?]
;
c
ofe_subst
;
eauto
using
cmra_validN_op_l
.
unseal
;
split
=>
n
x
Hv
[
a'
?]
;
ofe_subst
;
eauto
using
cmra_validN_op_l
.
Qed
.
Lemma
cmra_valid_intro
{
A
:
cmraT
}
(
a
:
A
)
:
✓
a
→
uPred_valid
(
M
:
=
M
)
(
✓
a
).
Proof
.
unseal
=>
?
;
split
=>
n
x
?
_
/=
;
by
apply
cmra_valid_validN
.
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