Skip to content
GitLab
Projects
Groups
Snippets
/
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
Menu
Open sidebar
Iris
Iris
Commits
d848885a
Commit
d848885a
authored
Feb 06, 2018
by
Jacques-Henri Jourdan
Browse files
Absolute type class, and new names for absolutely and relatively.
parent
4640477b
Pipeline
#6595
passed with stages
in 4 minutes and 23 seconds
Changes
3
Pipelines
1
Expand all
Hide whitespace changes
Inline
Side-by-side
theories/bi/monpred.v
View file @
d848885a
This diff is collapsed.
Click to expand it.
theories/proofmode/monpred.v
View file @
d848885a
...
...
@@ -85,12 +85,12 @@ Proof.
apply
bi
.
affinely_persistently_if_elim
.
Qed
.
Global
Instance
from_assumption_make_monPred_a
ll
P
Q
:
FromAssumption
p
P
Q
→
FromAssumption
p
(
monPred_all
P
)
Q
.
Proof
.
intros
?.
by
rewrite
/
FromAssumption
monPred_a
ll
_elim
.
Qed
.
Global
Instance
from_assumption_make_monPred_
ex
P
Q
:
FromAssumption
p
P
Q
→
FromAssumption
p
P
(
monPred_ex
Q
).
Proof
.
intros
?.
by
rewrite
/
FromAssumption
-
monPred_
ex
_intro
.
Qed
.
Global
Instance
from_assumption_make_monPred_a
bsolutely
P
Q
:
FromAssumption
p
P
Q
→
FromAssumption
p
(
∀
ᵢ
P
)
Q
.
Proof
.
intros
?.
by
rewrite
/
FromAssumption
monPred_a
bsolutely
_elim
.
Qed
.
Global
Instance
from_assumption_make_monPred_
relatively
P
Q
:
FromAssumption
p
P
Q
→
FromAssumption
p
P
(
∃
ᵢ
Q
).
Proof
.
intros
?.
by
rewrite
/
FromAssumption
-
monPred_
relatively
_intro
.
Qed
.
Global
Instance
as_valid_monPred_at
φ
P
(
Φ
:
I
→
PROP
)
:
AsValid0
φ
P
→
(
∀
i
,
MakeMonPredAt
i
P
(
Φ
i
))
→
AsValid
φ
(
∀
i
,
Φ
i
)
|
100
.
...
...
@@ -265,24 +265,24 @@ Proof.
by
setoid_rewrite
H
.
Qed
.
Global
Instance
from_forall_monPred_at_a
ll
P
(
Φ
:
I
→
PROP
)
i
:
(
∀
i
,
MakeMonPredAt
i
P
(
Φ
i
))
→
FromForall
(
monPred_all
P
i
)
Φ
.
Global
Instance
from_forall_monPred_at_a
bsolutely
P
(
Φ
:
I
→
PROP
)
i
:
(
∀
i
,
MakeMonPredAt
i
P
(
Φ
i
))
→
FromForall
(
(
∀
ᵢ
P
)
i
)
%
I
Φ
.
Proof
.
rewrite
/
FromForall
/
MakeMonPredAt
monPred_at_a
ll
=>
H
.
by
setoid_rewrite
<-
H
.
rewrite
/
FromForall
/
MakeMonPredAt
monPred_at_a
bsolutely
=>
H
.
by
setoid_rewrite
<-
H
.
Qed
.
Global
Instance
into_forall_monPred_at_a
ll
P
(
Φ
:
I
→
PROP
)
i
:
(
∀
i
,
MakeMonPredAt
i
P
(
Φ
i
))
→
IntoForall
(
monPred_all
P
i
)
Φ
.
Global
Instance
into_forall_monPred_at_a
bsolutely
P
(
Φ
:
I
→
PROP
)
i
:
(
∀
i
,
MakeMonPredAt
i
P
(
Φ
i
))
→
IntoForall
(
(
∀
ᵢ
P
)
i
)
Φ
.
Proof
.
rewrite
/
IntoForall
/
MakeMonPredAt
monPred_at_a
ll
=>
H
.
by
setoid_rewrite
<-
H
.
rewrite
/
IntoForall
/
MakeMonPredAt
monPred_at_a
bsolutely
=>
H
.
by
setoid_rewrite
<-
H
.
Qed
.
Global
Instance
from_exist_monPred_at_ex
P
(
Φ
:
I
→
PROP
)
i
:
(
∀
i
,
MakeMonPredAt
i
P
(
Φ
i
))
→
FromExist
(
monPred_ex
P
i
)
Φ
.
(
∀
i
,
MakeMonPredAt
i
P
(
Φ
i
))
→
FromExist
(
(
∃
ᵢ
P
)
i
)
Φ
.
Proof
.
rewrite
/
FromExist
/
MakeMonPredAt
monPred_at_ex
=>
H
.
by
setoid_rewrite
<-
H
.
Qed
.
Global
Instance
into_exist_monPred_at_ex
P
(
Φ
:
I
→
PROP
)
i
:
(
∀
i
,
MakeMonPredAt
i
P
(
Φ
i
))
→
IntoExist
(
monPred_ex
P
i
)
Φ
.
(
∀
i
,
MakeMonPredAt
i
P
(
Φ
i
))
→
IntoExist
(
(
∃
ᵢ
P
)
i
)
Φ
.
Proof
.
rewrite
/
IntoExist
/
MakeMonPredAt
monPred_at_ex
=>
H
.
by
setoid_rewrite
<-
H
.
Qed
.
...
...
theories/tests/proofmode_monpred.v
View file @
d848885a
...
...
@@ -51,10 +51,8 @@ Section tests.
iSpecialize
(
"HW"
with
"HP"
).
done
.
Qed
.
Lemma
test_apply_in_elim
(
P
:
monPredI
)
(
i
:
I
)
:
monPred_in
i
∧
⎡
P
i
⎤
-
∗
P
.
Proof
.
iIntros
.
by
iApply
monPred_in_elim
.
Qed
.
Lemma
test_apply_in_elim
(
P
:
monPredI
)
(
i
:
I
)
:
monPred_in
i
-
∗
⎡
P
i
⎤
→
P
.
Proof
.
iIntros
.
by
iApply
monPred_in_elim
.
Qed
.
Lemma
test_iStartProof_forall_1
(
Φ
:
nat
→
monPredI
)
:
∀
n
,
Φ
n
-
∗
Φ
n
.
Proof
.
...
...
Write
Preview
Supports
Markdown
0%
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!
Cancel
Please
register
or
sign in
to comment