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-coq
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
Joshua Yanovski
iris-coq
Commits
8e41e30c
Commit
8e41e30c
authored
Jan 31, 2017
by
Ralf Jung
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
WIP: better definition of uPred_pure. still not enough.
parent
1ce88550
Changes
1
Hide whitespace changes
Inline
Side-by-side
Showing
1 changed file
with
18 additions
and
10 deletions
+18
-10
theories/base_logic/primitive.v
theories/base_logic/primitive.v
+18
-10
No files found.
theories/base_logic/primitive.v
View file @
8e41e30c
...
...
@@ -7,20 +7,28 @@ Local Hint Extern 10 (_ ≤ _) => omega.
(
**
logical
connectives
*
)
Program
Definition
uPred_pure_def
{
M
}
(
φ
:
Prop
)
:
uPred
M
:=
{|
uPred_holds
n
x
:=
∀
m
,
m
≤
n
→
✓
{
m
}
x
→
φ
|}
.
{|
uPred_holds
n
x
:=
φ
∨
¬
✓
{
n
}
x
|}
.
Solve
Obligations
with
naive_solver
eauto
using
cmra_validN_includedN
.
Next
Obligation
.
intros
.
simpl
in
*
.
intros
.
eapply
H
;
first
done
.
eapply
cmra_validN_includedN
;
try
done
.
eapply
cmra_includedN_le
;
done
.
Qed
.
Next
Obligation
.
intros
.
simpl
in
*
.
intros
.
eapply
H
;
last
done
.
omega
.
Qed
.
Next
Obligation
.
intros
.
simpl
in
*
.
intros
.
exfalso
.
(
*
Scratch
this
,
uPred_invalid
doesn
'
t
hold
.
We
have
validity
at
the
wrong
step
-
index
.
*
)
Next
Obligation
.
intros
.
simpl
in
*
.
intros
.
destruct
H
;
first
by
auto
.
right
.
intro
.
apply
H
.
(
*
Scratch
this
,
uPred_closed
doesn
'
t
hold
.
We
have
validity
at
the
wrong
step
-
index
.
*
)
Abort
.
Program
Definition
uPred_pure_def
'
{
M
}
(
φ
:
Prop
)
:
uPred
M
:=
{|
uPred_holds
n
x
:=
✓
{
n
}
x
→
φ
|}
.
Solve
Obligations
of
uPred_pure_def
'
with
naive_solver
eauto
using
cmra_validN_includedN
.
Next
Obligation
of
uPred_pure_def
'
.
intros
.
simpl
in
*
.
intros
.
apply
H
.
(
*
This
doesn
'
t
hold
;
again
we
have
validity
at
the
wrong
step
-
index
.
*
)
{|
uPred_holds
n
x
:=
φ
∨
∀
m
,
m
≤
n
→
¬✓
{
m
}
x
|}
.
Next
Obligation
of
uPred_pure_def
'
.
intros
.
simpl
in
*
.
destruct
H
;
first
by
auto
.
right
.
intros
.
intro
.
eapply
H
;
last
eapply
cmra_validN_includedN
;
try
done
.
eapply
cmra_includedN_le
;
done
.
Qed
.
Next
Obligation
of
uPred_pure_def
'
.
intros
.
simpl
in
*
.
destruct
H
;
first
by
auto
.
right
.
intros
.
apply
H
.
omega
.
Qed
.
Next
Obligation
of
uPred_pure_def
'
.
intros
.
simpl
in
*
.
right
.
intros
.
intro
.
apply
H
.
(
*
This
doesn
'
t
hold
;
again
we
have
validity
at
the
wrong
step
-
index
.
*
)
Abort
.
Definition
uPred_pure_aux
:
seal
(
@
uPred_pure_def
).
by
eexists
.
Qed
.
...
...
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