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
Jonas Kastberg
iris
Commits
031c3914
Commit
031c3914
authored
May 23, 2018
by
Ralf Jung
Browse files
provide big_op lemmas outside of bi module
There's a very low risk of these conflicting with Coq's standard library
parent
58e2394c
Changes
3
Hide whitespace changes
Inline
Side-by-side
theories/bi/bi.v
View file @
031c3914
...
...
@@ -6,9 +6,16 @@ Module Import bi.
Export
bi
.
interface
.
bi
.
Export
bi
.
derived_laws_bi
.
bi
.
Export
bi
.
derived_laws_sbi
.
bi
.
(* For better compatibility with some developments created during
gen_proofmode times, also provide bigops inside the bi
module. *)
Export
bi
.
big_op
.
bi
.
End
bi
.
(* For better compatibility with pre-gen_proofmode-Iris, also provide
bigops outside of the bi module. *)
Export
bi
.
big_op
.
bi
.
(* Hint DB for the logic *)
Hint
Resolve
pure_intro
.
Hint
Resolve
or_elim
or_intro_l'
or_intro_r'
:
BI
.
...
...
theories/program_logic/lifting.v
View file @
031c3914
...
...
@@ -104,7 +104,7 @@ Proof.
iApply
(
wp_lift_pure_det_step
with
"[HWP]"
).
-
intros
σ
.
specialize
(
pure_exec_safe
σ
).
destruct
s
;
eauto
using
reducible_not_val
.
-
destruct
s
;
naive_solver
.
-
by
rewrite
bi
.
big_sepL_nil
right_id
.
-
by
rewrite
big_sepL_nil
right_id
.
Qed
.
Lemma
wp_pure_step_later
`
{
Inhabited
(
state
Λ
)}
s
E
e1
e2
φ
Φ
:
...
...
theories/program_logic/ownp.v
View file @
031c3914
...
...
@@ -170,7 +170,7 @@ Section lifting.
{{{
▷
ownP
σ
1
}}}
e1
@
s
;
E
{{{
RET
v2
;
ownP
σ
2
}}}.
Proof
.
intros
.
rewrite
-(
ownP_lift_atomic_det_step
σ
1
v2
σ
2
[])
;
[|
done
..].
rewrite
bi
.
big_sepL_nil
right_id
.
by
apply
bi
.
wand_intro_r
.
rewrite
big_sepL_nil
right_id
.
by
apply
bi
.
wand_intro_r
.
Qed
.
Lemma
ownP_lift_pure_det_step
`
{
Inhabited
(
state
Λ
)}
{
s
E
Φ
}
e1
e2
efs
:
...
...
@@ -188,7 +188,7 @@ Section lifting.
(
∀
σ
1 e2
'
σ
2
efs'
,
prim_step
e1
σ
1 e2
'
σ
2
efs'
→
σ
1
=
σ
2
∧
e2
=
e2'
∧
[]
=
efs'
)
→
▷
WP
e2
@
s
;
E
{{
Φ
}}
⊢
WP
e1
@
s
;
E
{{
Φ
}}.
Proof
.
intros
.
rewrite
-(
wp_lift_pure_det_step
e1
e2
[])
?
bi
.
big_sepL_nil
?right_id
;
eauto
.
intros
.
rewrite
-(
wp_lift_pure_det_step
e1
e2
[])
?big_sepL_nil
?right_id
;
eauto
.
Qed
.
End
lifting
.
...
...
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