Skip to content
GitLab
Projects
Groups
Snippets
Help
Loading...
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
I
Iris
Project overview
Project overview
Details
Activity
Releases
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Issues
0
Issues
0
List
Boards
Labels
Service Desk
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Operations
Operations
Incidents
Environments
Analytics
Analytics
CI / CD
Repository
Value Stream
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
Pierre-Marie Pédrot
Iris
Commits
9c68a663
Commit
9c68a663
authored
Dec 11, 2017
by
Jacques-Henri Jourdan
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
Move stuff around.
parent
e2e8748f
Changes
1
Show whitespace changes
Inline
Side-by-side
Showing
1 changed file
with
27 additions
and
27 deletions
+27
-27
theories/bi/interface.v
theories/bi/interface.v
+27
-27
No files found.
theories/bi/interface.v
View file @
9c68a663
...
@@ -329,33 +329,6 @@ Coercion sbi_valid {PROP : sbi} : PROP → Prop := bi_valid.
...
@@ -329,33 +329,6 @@ Coercion sbi_valid {PROP : sbi} : PROP → Prop := bi_valid.
Arguments
bi_valid
{
_
}
_
%
I
:
simpl
never
.
Arguments
bi_valid
{
_
}
_
%
I
:
simpl
never
.
Typeclasses
Opaque
bi_valid
.
Typeclasses
Opaque
bi_valid
.
(* Typically, embeddings are used to *define* the destination BI.
Hence we cannot ask B to be a BI. *)
Class
BiEmbedding
(
A
B
:
Type
)
:
=
bi_embedding
:
A
→
B
.
Arguments
bi_embedding
{
_
_
_
}
_
%
I
:
simpl
never
.
Notation
"⎡ P ⎤"
:
=
(
bi_embedding
P
)
:
bi_scope
.
Instance
:
Params
(@
bi_embedding
)
3
.
Typeclasses
Opaque
bi_embedding
.
Class
BiMorphism
{
PROP1
PROP2
:
bi
}
(
f
:
PROP1
→
PROP2
)
:
=
{
bi_mor_ne
:
>
NonExpansive
f
;
bi_mor_mono
:
>
Proper
((
⊢
)
==>
(
⊢
))
f
;
bi_mor_emp
:
f
emp
⊣
⊢
emp
;
bi_mor_impl_2
P
Q
:
(
f
P
→
f
Q
)%
I
⊢
f
(
P
→
Q
)%
I
;
bi_mor_forall_2
A
(
Φ
:
A
→
PROP1
)
:
(
∀
x
,
f
(
Φ
x
))
⊢
f
(
∀
x
,
Φ
x
)
;
bi_mor_exist_1
A
(
Φ
:
A
→
PROP1
)
:
f
(
∃
x
,
Φ
x
)
⊢
∃
x
,
f
(
Φ
x
)
;
bi_mor_internal_eq_1
(
A
:
ofeT
)
(
x
y
:
A
)
:
f
(
x
≡
y
)
⊢
(
x
≡
y
)
;
bi_mor_sep
P
Q
:
f
(
P
∗
Q
)
⊣
⊢
(
f
P
∗
f
Q
)
;
bi_mor_wand_2
P
Q
:
(
f
P
-
∗
f
Q
)
⊢
f
(
P
-
∗
Q
)
;
bi_mor_plainly
P
:
f
(
bi_plainly
P
)
⊣
⊢
bi_plainly
(
f
P
)
;
bi_mor_persistently
P
:
f
(
bi_persistently
P
)
⊣
⊢
bi_persistently
(
f
P
)
}.
Class
SbiMorphism
{
PROP1
PROP2
:
sbi
}
(
f
:
PROP1
→
PROP2
)
:
=
{
sbi_mor_bi_mor
:
>
BiMorphism
f
;
sbi_mor_later
P
:
f
(
▷
P
)
⊣
⊢
▷
f
P
}.
Module
bi
.
Module
bi
.
Section
bi_laws
.
Section
bi_laws
.
Context
{
PROP
:
bi
}.
Context
{
PROP
:
bi
}.
...
@@ -551,3 +524,30 @@ Proof. eapply sbi_mixin_later_false_em, sbi_sbi_mixin. Qed.
...
@@ -551,3 +524,30 @@ Proof. eapply sbi_mixin_later_false_em, sbi_sbi_mixin. Qed.
End
sbi_laws
.
End
sbi_laws
.
End
bi
.
End
bi
.
(* Typically, embeddings are used to *define* the destination BI.
Hence we cannot ask B to be a BI. *)
Class
BiEmbedding
(
A
B
:
Type
)
:
=
bi_embedding
:
A
→
B
.
Arguments
bi_embedding
{
_
_
_
}
_
%
I
:
simpl
never
.
Notation
"⎡ P ⎤"
:
=
(
bi_embedding
P
)
:
bi_scope
.
Instance
:
Params
(@
bi_embedding
)
3
.
Typeclasses
Opaque
bi_embedding
.
Class
BiMorphism
{
PROP1
PROP2
:
bi
}
(
f
:
PROP1
→
PROP2
)
:
=
{
bi_mor_ne
:
>
NonExpansive
f
;
bi_mor_mono
:
>
Proper
((
⊢
)
==>
(
⊢
))
f
;
bi_mor_emp
:
f
emp
⊣
⊢
emp
;
bi_mor_impl_2
P
Q
:
(
f
P
→
f
Q
)%
I
⊢
f
(
P
→
Q
)%
I
;
bi_mor_forall_2
A
(
Φ
:
A
→
PROP1
)
:
(
∀
x
,
f
(
Φ
x
))
⊢
f
(
∀
x
,
Φ
x
)
;
bi_mor_exist_1
A
(
Φ
:
A
→
PROP1
)
:
f
(
∃
x
,
Φ
x
)
⊢
∃
x
,
f
(
Φ
x
)
;
bi_mor_internal_eq_1
(
A
:
ofeT
)
(
x
y
:
A
)
:
f
(
x
≡
y
)
⊢
(
x
≡
y
)
;
bi_mor_sep
P
Q
:
f
(
P
∗
Q
)
⊣
⊢
(
f
P
∗
f
Q
)
;
bi_mor_wand_2
P
Q
:
(
f
P
-
∗
f
Q
)
⊢
f
(
P
-
∗
Q
)
;
bi_mor_plainly
P
:
f
(
bi_plainly
P
)
⊣
⊢
bi_plainly
(
f
P
)
;
bi_mor_persistently
P
:
f
(
bi_persistently
P
)
⊣
⊢
bi_persistently
(
f
P
)
}.
Class
SbiMorphism
{
PROP1
PROP2
:
sbi
}
(
f
:
PROP1
→
PROP2
)
:
=
{
sbi_mor_bi_mor
:
>
BiMorphism
f
;
sbi_mor_later
P
:
f
(
▷
P
)
⊣
⊢
▷
f
P
}.
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