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
Iris
Actris
Commits
72be456a
Commit
72be456a
authored
Mar 24, 2020
by
Robbert Krebbers
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
`skipN` function.
parent
4dc8fc9d
Changes
2
Hide whitespace changes
Inline
Side-by-side
Showing
2 changed files
with
12 additions
and
0 deletions
+12
-0
_CoqProject
_CoqProject
+1
-0
theories/utils/skip.v
theories/utils/skip.v
+11
-0
No files found.
_CoqProject
View file @
72be456a
-Q theories actris
-arg -w -arg -notation-overridden,-redundant-canonical-projection,-several-object-files,-convert_concl_no_check,-undeclared-scope,-ambiguous-paths
theories/utils/skip.v
theories/utils/llist.v
theories/utils/compare.v
theories/utils/contribution.v
...
...
theories/utils/skip.v
0 → 100644
View file @
72be456a
From
iris
.
heap_lang
Require
Export
lang
.
From
iris
.
heap_lang
Require
Import
proofmode
notation
.
Definition
skipN
:
val
:
=
rec
:
"go"
"n"
:
=
if
:
#
0
<
"n"
then
"go"
(
"n"
-
#
1
)
else
#().
Lemma
skipN_spec
`
{
heapG
Σ
}
Φ
(
n
:
nat
)
:
▷
^
n
(
Φ
#())
-
∗
WP
skipN
#
n
{{
Φ
}}.
Proof
.
iIntros
"HΦ"
.
iInduction
n
as
[|
n
]
"IH"
;
wp_rec
;
wp_pures
;
[
done
|].
rewrite
Z
.
sub_1_r
Nat2Z
.
inj_succ
Z
.
pred_succ
.
by
iApply
"IH"
.
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