Skip to content
GitLab
Explore
Sign in
Primary navigation
Search or go to…
Project
Iris
Manage
Activity
Members
Labels
Plan
Issues
Issue boards
Milestones
Wiki
Code
Merge requests
Repository
Branches
Commits
Tags
Repository graph
Compare revisions
Build
Pipelines
Jobs
Pipeline schedules
Artifacts
Deploy
Releases
Package registry
Model registry
Operate
Terraform modules
Monitor
Service Desk
Analyze
Value stream analytics
Contributor analytics
CI/CD analytics
Repository analytics
Model experiments
Help
Help
Support
GitLab documentation
Compare GitLab plans
Community forum
Contribute to GitLab
Provide feedback
Terms and privacy
Keyboard shortcuts
?
Snippets
Groups
Projects
Show more breadcrumbs
Yixuan Chen
Iris
Commits
2cfb5c4b
Commit
2cfb5c4b
authored
7 years ago
by
Ralf Jung
Browse files
Options
Downloads
Patches
Plain Diff
update comments concerning the BI interface
parent
186ffb07
No related branches found
Branches containing commit
No related tags found
Tags containing commit
No related merge requests found
Changes
2
Hide whitespace changes
Inline
Side-by-side
Showing
2 changed files
theories/base_logic/upred.v
+1
-1
1 addition, 1 deletion
theories/base_logic/upred.v
theories/bi/interface.v
+11
-9
11 additions, 9 deletions
theories/bi/interface.v
with
12 additions
and
10 deletions
theories/base_logic/upred.v
+
1
−
1
View file @
2cfb5c4b
...
@@ -496,7 +496,7 @@ Proof.
...
@@ -496,7 +496,7 @@ Proof.
intros
P
Q
.
move
:
(
uPred_persistently
P
)=>
P'
.
intros
P
Q
.
move
:
(
uPred_persistently
P
)=>
P'
.
unseal
;
split
;
intros
n
x
?
(
x1
&
x2
&
?
&
?
&
_);
ofe_subst
;
unseal
;
split
;
intros
n
x
?
(
x1
&
x2
&
?
&
?
&
_);
ofe_subst
;
eauto
using
uPred_mono
,
cmra_includedN_l
.
eauto
using
uPred_mono
,
cmra_includedN_l
.
-
(* bi_persistently P ∧ Q ⊢
(emp ∧ P)
∗ Q *)
-
(* bi_persistently P ∧ Q ⊢
P
∗ Q *)
intros
P
Q
.
unseal
;
split
=>
n
x
?
[??];
simpl
in
*.
intros
P
Q
.
unseal
;
split
=>
n
x
?
[??];
simpl
in
*.
exists
(
core
x
),
x
;
rewrite
?cmra_core_l
;
auto
.
exists
(
core
x
),
x
;
rewrite
?cmra_core_l
;
auto
.
Qed
.
Qed
.
...
...
This diff is collapsed.
Click to expand it.
theories/bi/interface.v
+
11
−
9
View file @
2cfb5c4b
...
@@ -49,8 +49,9 @@ Section bi_mixin.
...
@@ -49,8 +49,9 @@ Section bi_mixin.
model satisfying all these axioms. For this model, we extend RAs with an
model satisfying all these axioms. For this model, we extend RAs with an
arbitrary partial order, and up-close resources wrt. that order (instead of
arbitrary partial order, and up-close resources wrt. that order (instead of
extension order). We demand composition to be monotone wrt. the order: [x1 ≼
extension order). We demand composition to be monotone wrt. the order: [x1 ≼
x2 → x1 ⋅ y ≼ x2 ⋅ y]. We define [emp := λ r, ε ≼ r]; persisently is still
x2 → x1 ⋅ y ≼ x2 ⋅ y]. We define [emp := λ r, ε ≼ r]; persistently is still
defined with the core: [□ P := λ r, P (core r)]. *)
defined with the core: [persistently P := λ r, P (core r)]. This is uplcosed
because the core is monotone. *)
Record
BiMixin
:=
{
Record
BiMixin
:=
{
bi_mixin_entails_po
:
PreOrder
bi_entails
;
bi_mixin_entails_po
:
PreOrder
bi_entails
;
...
@@ -110,9 +111,9 @@ Section bi_mixin.
...
@@ -110,9 +111,9 @@ Section bi_mixin.
bi_mixin_plainly_forall_2
{
A
}
(
Ψ
:
A
→
PROP
)
:
bi_mixin_plainly_forall_2
{
A
}
(
Ψ
:
A
→
PROP
)
:
(
∀
a
,
bi_plainly
(
Ψ
a
))
⊢
bi_plainly
(
∀
a
,
Ψ
a
);
(
∀
a
,
bi_plainly
(
Ψ
a
))
⊢
bi_plainly
(
∀
a
,
Ψ
a
);
(* The following two laws are very similar, and indeed they hold
(* The following two laws are very similar, and indeed they hold
not just
not just for □ and ■
, but for any modality defined as
for persistently and plainly
, but for any modality defined as
`M P n x :=
`M P n x :=
∀ y, R x y → P n y`. *)
∀ y, R x y → P n y`. *)
bi_mixin_persistently_impl_plainly
P
Q
:
bi_mixin_persistently_impl_plainly
P
Q
:
(
bi_plainly
P
→
bi_persistently
Q
)
⊢
bi_persistently
(
bi_plainly
P
→
Q
);
(
bi_plainly
P
→
bi_persistently
Q
)
⊢
bi_persistently
(
bi_plainly
P
→
Q
);
bi_mixin_plainly_impl_plainly
P
Q
:
bi_mixin_plainly_impl_plainly
P
Q
:
...
@@ -122,7 +123,7 @@ Section bi_mixin.
...
@@ -122,7 +123,7 @@ Section bi_mixin.
bi_mixin_plainly_absorbing
P
Q
:
bi_plainly
P
∗
Q
⊢
bi_plainly
P
;
bi_mixin_plainly_absorbing
P
Q
:
bi_plainly
P
∗
Q
⊢
bi_plainly
P
;
(* Persistently *)
(* Persistently *)
(* In the ordered RA model:
`core` is monotone
*)
(* In the ordered RA model:
Holds without further assumptions.
*)
bi_mixin_persistently_mono
P
Q
:
bi_mixin_persistently_mono
P
Q
:
(
P
⊢
Q
)
→
bi_persistently
P
⊢
bi_persistently
Q
;
(
P
⊢
Q
)
→
bi_persistently
P
⊢
bi_persistently
Q
;
(* In the ordered RA model: `core` is idempotent *)
(* In the ordered RA model: `core` is idempotent *)
...
@@ -131,15 +132,16 @@ Section bi_mixin.
...
@@ -131,15 +132,16 @@ Section bi_mixin.
bi_mixin_plainly_persistently_1
P
:
bi_mixin_plainly_persistently_1
P
:
bi_plainly
(
bi_persistently
P
)
⊢
bi_plainly
P
;
bi_plainly
(
bi_persistently
P
)
⊢
bi_plainly
P
;
(* In the ordered RA model [P ⊢
□
emp] (which can currently still
be derived
(* In the ordered RA model [P ⊢
persisently
emp] (which can currently still
from the plainly axioms, which will be removed): `ε ≼ core x` *)
be derived
from the plainly axioms, which will be removed): `ε ≼ core x` *)
bi_mixin_persistently_forall_2
{
A
}
(
Ψ
:
A
→
PROP
)
:
bi_mixin_persistently_forall_2
{
A
}
(
Ψ
:
A
→
PROP
)
:
(
∀
a
,
bi_persistently
(
Ψ
a
))
⊢
bi_persistently
(
∀
a
,
Ψ
a
);
(
∀
a
,
bi_persistently
(
Ψ
a
))
⊢
bi_persistently
(
∀
a
,
Ψ
a
);
bi_mixin_persistently_exist_1
{
A
}
(
Ψ
:
A
→
PROP
)
:
bi_mixin_persistently_exist_1
{
A
}
(
Ψ
:
A
→
PROP
)
:
bi_persistently
(
∃
a
,
Ψ
a
)
⊢
∃
a
,
bi_persistently
(
Ψ
a
);
bi_persistently
(
∃
a
,
Ψ
a
)
⊢
∃
a
,
bi_persistently
(
Ψ
a
);
(* In the ordered RA model: [x ≼ₑₓₜ y → core x ≼ core y] *)
(* In the ordered RA model: [core x ≼ core (x ⋅ y)].
Note that this implies that the core is monotone. *)
bi_mixin_persistently_absorbing
P
Q
:
bi_mixin_persistently_absorbing
P
Q
:
bi_persistently
P
∗
Q
⊢
bi_persistently
P
;
bi_persistently
P
∗
Q
⊢
bi_persistently
P
;
(* In the ordered RA model: [x ⋅ core x = core x]. *)
(* In the ordered RA model: [x ⋅ core x = core x]. *)
...
...
This diff is collapsed.
Click to expand it.
Preview
0%
Loading
Try again
or
attach a new file
.
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Save comment
Cancel
Please
register
or
sign in
to comment