Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Contribute to GitLab
Sign in
Toggle navigation
C
cpdt
Project
Project
Details
Activity
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
research
cpdt
Commits
d5a66bbc
Commit
d5a66bbc
authored
Sep 25, 2011
by
Adam Chlipala
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
Pass over Match
parent
dc6a4047
Changes
3
Expand all
Hide whitespace changes
Inline
Side-by-side
Showing
3 changed files
with
167 additions
and
69 deletions
+167
-69
cpdt.bib
latex/cpdt.bib
+29
-0
Match.v
src/Match.v
+137
-68
StackMachine.v
src/StackMachine.v
+1
-1
No files found.
latex/cpdt.bib
View file @
d5a66bbc
...
...
@@ -173,3 +173,32 @@
year = {1973},
pages = {257--267}
}
@InBook{TAPLNatDed,
author = "Benjamin C. Pierce",
title = "Types and Programming Languages",
year = "2002",
publisher = "MIT Press",
chapter = "9.4"
}
@inproceedings{Monads,
author = {Wadler, Philip},
title = {The essence of functional programming},
booktitle = {Proceedings of the 19th ACM SIGPLAN-SIGACT Symposium on Principles of Programming Languages},
year = {1992},
}
@inproceedings{IO,
author = {Peyton Jones, Simon L. and Wadler, Philip},
title = {Imperative functional programming},
booktitle = {Proceedings of the 20th ACM SIGPLAN-SIGACT Symposium on Principles of Programming Languages},
year = {1993},
}
@InProceedings{separation,
author = {John C. Reynolds},
title = {Separation Logic: A Logic for Shared Mutable Data Structures},
booktitle = {Proceedings of the IEEE Symposium on Logic in Computer Science},
year = {2002}
}
\ No newline at end of file
src/Match.v
View file @
d5a66bbc
This diff is collapsed.
Click to expand it.
src/StackMachine.v
View file @
d5a66bbc
...
...
@@ -505,7 +505,7 @@ Lemma compile_correct' : forall e s p, progDenote (compile e ++ p) s =
induction
e
;
crush
.
Qed
.
(
**
We
need
only
to
state
the
basic
inductive
proof
scheme
and
call
a
tactic
that
automates
the
tedious
reasoning
in
between
.
In
contrast
to
the
period
tactic
terminator
from
our
last
proof
,
the
%
\
index
{
tactic
al
s
!
semicolon
}%
semicolon
tactic
separator
supports
structured
,
compositional
proofs
.
The
tactic
[
t1
;
t2
]
has
the
effect
of
running
[
t1
]
and
then
running
[
t2
]
on
each
remaining
subgoal
.
The
semicolon
is
one
of
the
most
fundamental
building
blocks
of
effective
proof
automation
.
The
period
terminator
is
very
useful
for
exploratory
proving
,
where
you
need
to
see
intermediate
proof
states
,
but
final
proofs
of
any
serious
complexity
should
have
just
one
period
,
terminating
a
single
compound
tactic
that
probably
uses
semicolons
.
(
**
We
need
only
to
state
the
basic
inductive
proof
scheme
and
call
a
tactic
that
automates
the
tedious
reasoning
in
between
.
In
contrast
to
the
period
tactic
terminator
from
our
last
proof
,
the
%
\
index
{
tactics
!
semicolon
}%
semicolon
tactic
separator
supports
structured
,
compositional
proofs
.
The
tactic
[
t1
;
t2
]
has
the
effect
of
running
[
t1
]
and
then
running
[
t2
]
on
each
remaining
subgoal
.
The
semicolon
is
one
of
the
most
fundamental
building
blocks
of
effective
proof
automation
.
The
period
terminator
is
very
useful
for
exploratory
proving
,
where
you
need
to
see
intermediate
proof
states
,
but
final
proofs
of
any
serious
complexity
should
have
just
one
period
,
terminating
a
single
compound
tactic
that
probably
uses
semicolons
.
The
[
crush
]
tactic
comes
from
the
library
associated
with
this
book
and
is
not
part
of
the
Coq
standard
library
.
The
book
'
s
library
contains
a
number
of
other
tactics
that
are
especially
helpful
in
highly
-
automated
proofs
.
...
...
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