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
Marianna Rapoport
iris-coq
Commits
56029dd6
Commit
56029dd6
authored
Feb 15, 2016
by
Ralf Jung
Browse files
prove some properties of discrete CMRAs
parent
1f61b3bc
Changes
1
Hide whitespace changes
Inline
Side-by-side
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
Supports
Markdown
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