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
763b3a1e
Commit
763b3a1e
authored
Apr 03, 2012
by
Adam Chlipala
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
Conclusion
parent
3ff090ba
Changes
5
Hide whitespace changes
Inline
Side-by-side
Showing
5 changed files
with
31 additions
and
2 deletions
+31
-2
Makefile
Makefile
+1
-1
cpdt.tex
latex/cpdt.tex
+1
-0
Conclusion.v
src/Conclusion.v
+20
-0
toc.html
src/toc.html
+1
-0
updates.rss
staging/updates.rss
+8
-1
No files found.
Makefile
View file @
763b3a1e
...
...
@@ -3,7 +3,7 @@ MODULES_PROSE := Intro
MODULES_CODE
:=
StackMachine InductiveTypes Predicates Coinductive Subset GeneralRec
\
MoreDep DataStruct Equality Generic Universes LogicProg Match Reflection
\
Large ProgLang
MODULES_DOC
:=
$(MODULES_PROSE)
$(MODULES_CODE)
MODULES_DOC
:=
$(MODULES_PROSE)
$(MODULES_CODE)
Conclusion
MODULES
:=
$(MODULES_NODOC)
$(MODULES_DOC)
VS
:=
$
(
MODULES:%
=
src/%.v
)
TEX
:=
$
(
MODULES:%
=
latex/%.v.tex
)
...
...
latex/cpdt.tex
View file @
763b3a1e
...
...
@@ -52,6 +52,7 @@ The license text is available at:
\include
{
Reflection.v
}
\include
{
Large.v
}
\include
{
ProgLang.v
}
\include
{
Conclusion.v
}
\clearpage
\addcontentsline
{
toc
}{
chapter
}{
Bibliography
}
...
...
src/Conclusion.v
0 → 100644
View file @
763b3a1e
(
*
Copyright
(
c
)
2012
,
Adam
Chlipala
*
*
This
work
is
licensed
under
a
*
Creative
Commons
Attribution
-
Noncommercial
-
No
Derivative
Works
3.0
*
Unported
License
.
*
The
license
text
is
available
at
:
*
http
:
//creativecommons.org/licenses/by-nc-nd/3.0/
*
)
(
**
%
\
addcontentsline
{
toc
}{
chapter
}{
Conclusion
}
\
chapter
*{
Conclusion
}%
*
)
(
**
I
have
designed
this
book
to
present
the
key
ideas
needed
to
get
started
with
productive
use
of
Coq
.
Many
people
have
learned
to
use
Coq
through
a
variety
of
resources
,
yet
there
is
a
distinct
lack
of
agreement
on
structuring
principles
and
techniques
for
easing
the
evolution
of
Coq
developments
over
time
.
Here
I
have
emphasized
two
unusual
techniques
:
programming
with
dependent
types
,
and
proving
with
scripted
proof
automation
.
I
have
also
tried
to
present
other
material
following
my
own
take
on
how
to
keep
Coq
code
beautiful
and
scalable
.
Part
of
the
attraction
of
Coq
and
similar
tools
is
that
their
logical
foundations
are
small
.
A
few
pages
of
%
\
LaTeX
{}%
#
LaTeX
#
code
suffice
to
define
CIC
,
Coq
'
s
logic
,
yet
there
do
not
seem
to
be
any
practical
limits
on
which
mathematical
concepts
may
be
encoded
on
top
of
this
modest
base
.
At
the
same
time
,
the
%
\
emph
{%
#
<
i
>
#
pragmatic
#
</
i
>
#
%}%
foundation
of
Coq
is
vast
,
encompassing
tactics
,
libraries
,
and
design
patterns
for
programs
,
theorem
statements
,
and
proof
scripts
.
I
hope
the
preceding
chapters
have
given
a
sense
of
just
how
much
there
is
to
learn
before
it
is
possible
to
drive
Coq
with
the
same
ease
with
which
many
readers
write
informal
proofs
!
The
pay
-
off
of
this
learning
process
is
that
many
proofs
,
especially
those
with
many
details
to
check
,
become
much
easier
to
write
than
they
are
on
paper
.
Further
,
the
truth
of
such
theorems
may
be
established
with
much
greater
confidence
,
even
without
reading
proof
details
.
As
Coq
has
so
many
moving
parts
to
catalogue
mentally
,
I
have
not
attempted
to
describe
most
of
them
here
;
nor
have
I
attempted
to
give
exhaustive
descriptions
of
the
few
I
devote
space
to
.
To
those
readers
who
have
made
it
this
far
through
the
book
,
my
advice
is
:
read
through
the
Coq
manual
,
front
to
back
,
at
some
level
of
detail
.
Get
a
sense
for
which
bits
of
functionality
are
available
.
Dig
more
into
those
categories
that
sound
relevant
to
the
developments
you
want
to
build
,
and
keep
the
rest
in
mind
in
case
they
come
in
handy
later
.
In
a
domain
as
rich
as
this
one
,
the
learning
process
never
ends
.
The
Coq
Club
mailing
list
(
linked
from
the
Coq
home
page
)
is
a
great
place
to
get
involved
in
discussions
of
the
latest
improvements
,
or
to
ask
questions
about
stumbling
blocks
that
you
encounter
.
(
I
hope
that
this
book
will
save
you
from
needing
to
ask
some
of
the
most
common
questions
!
)
I
believe
the
best
way
to
learn
is
to
get
started
using
Coq
to
build
some
development
that
interests
you
.
Good
luck
!
*
)
src/toc.html
View file @
763b3a1e
...
...
@@ -21,5 +21,6 @@
<li><a
href=
"Reflection.html"
>
Proof by Reflection
</a>
<li><a
href=
"Large.html"
>
Proving in the Large
</a>
<li><a
href=
"ProgLang.html"
>
A Taste of Reasoning About Programming Language Syntax
</a>
<li><a
href=
"Conclusion.html"
>
Conclusion
</a>
</body></html>
staging/updates.rss
View file @
763b3a1e
...
...
@@ -12,7 +12,14 @@
<docs>
http://blogs.law.harvard.edu/tech/rss
</docs>
<item>
<title>
New Chapter: "A Taste of Reasoning About Programming Language Syntax"
</title>
<title>
New Conclusion page
</title>
<pubDate>
Tue, 3 Apr 2012 15:08:37 EDT
</pubDate>
<link>
http://adam.chlipala.net/cpdt/
</link>
<author>
adamc@csail.mit.edu
</author>
</item>
<item>
<title>
New chapter: "A Taste of Reasoning About Programming Language Syntax"
</title>
<pubDate>
Sun, 1 Apr 2012 14:58:20 EDT
</pubDate>
<link>
http://adam.chlipala.net/cpdt/
</link>
<author>
adamc@csail.mit.edu
</author>
...
...
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