Skip to content
GitLab
Projects
Groups
Snippets
Help
Loading...
Help
What's new
7
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
Open sidebar
Jonas Kastberg
iris
Commits
56029dd6
Commit
56029dd6
authored
Feb 15, 2016
by
Ralf Jung
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
prove some properties of discrete CMRAs
parent
1f61b3bc
Changes
1
Hide whitespace changes
Inline
Side-by-side
Showing
1 changed file
with
23 additions
and
1 deletion
+23
-1
algebra/upred.v
algebra/upred.v
+23
-1
No files found.
algebra/upred.v
View file @
56029dd6
...
...
@@ -901,9 +901,16 @@ Global Instance eq_timeless {A : cofeT} (a b : A) :
Proof
.
by
intro
;
apply
timelessP_spec
=>
x
n
??
;
apply
equiv_dist
,
timeless
.
Qed
.
Global
Instance
ownM_timeless
(
a
:
M
)
:
Timeless
a
→
TimelessP
(
uPred_ownM
a
).
Proof
.
intros
?
;
apply
timelessP_spec
=>
x
[|
n
]
??
//
;
apply
cmra_included_includedN
,
intros
?
;
apply
timelessP_spec
=>
x
n
??
;
apply
cmra_included_includedN
,
cmra_timeless_included_l
;
eauto
using
cmra_validN_le
.
Qed
.
Lemma
timeless_eq
{
A
:
cofeT
}
(
a
b
:
A
)
:
Timeless
a
→
(
a
≡
b
)%
I
≡
(
■
(
a
≡
b
)
:
uPred
M
)%
I
.
Proof
.
intros
?.
apply
(
anti_symm
(
⊑
)).
-
move
=>
x
n
?
EQ
/=.
eapply
timeless_iff
;
last
exact
EQ
.
apply
_
.
-
eapply
const_elim
;
first
done
.
move
=>->.
apply
eq_refl
.
Qed
.
(* Always stable *)
Local
Notation
AS
:
=
AlwaysStable
.
...
...
@@ -953,6 +960,21 @@ Proof. by rewrite -(always_always Q); apply always_entails_r'. Qed.
End
uPred_logic
.
Section
discrete
.
Context
{
A
:
cofeT
}
`
{
∀
x
:
A
,
Timeless
x
}.
Context
{
op
:
Op
A
}
{
v
:
Valid
A
}
`
{
Unit
A
,
Minus
A
}
(
ra
:
RA
A
).
(** Internalized properties of discrete RAs *)
(* For equality, there already is timeless_eq *)
Lemma
discrete_validI
{
M
}
(
x
:
discreteRA
ra
)
:
(
✓
x
)%
I
≡
(
■
✓
x
:
uPred
M
)%
I
.
Proof
.
apply
(
anti_symm
(
⊑
)).
-
move
=>?
n
?.
done
.
-
move
=>?
n
?
?.
by
apply
:
discrete_valid
.
Qed
.
End
discrete
.
(* Hint DB for the logic *)
Create
HintDb
I
.
Hint
Resolve
or_elim
or_intro_l'
or_intro_r'
:
I
.
...
...
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