CS578 Programming Language Semantics Spring 2010
Instructor:
Andrew Tolmach
Course Information
Syllabus
Course Mailing List
Visit the
cs578list homepage
to subscribe.
Coq Resources
The
Coq home page
.
The
Reference Manual
and the
Standard Library description
are your friends.
You'll certainly want to use either CoqIde (documented within the reference manual) or
Proof General
inside emacs to interact with Coq.
Final Exam
final.txt
suggested solutions
Midterm
midterm.v
suggested solutions
Exercises
For April 6th
For April 13th
For April 20th
For April 27th
For May 4th
For May 11th
For May 18th
For May 25th
For June 1st
Lecture/Textbook Notes
Mar. 30: Basics: Functional programming and reasoning about programs (
Basics.v
) (
Basics.html
) (
Basics.v with solutions
)
Apr. 1: Products, Lists, and Options (
Lists.v
) (
Lists.html
) (
Lists.v with solutions
)
Apr. 6: Polymorphism (
Poly.v
) (
Poly.html
) (
Poly.v with solutions
)
Apr 8: Inductive Propositions (
Ind.v
) (
Ind.html
) (
Ind.v with solutions
)
Apr 13: Logical Connectives (
Logic.v
) (
Logic.html
) (
Logic.v with solutions
)
Apr 15: Imperative Language Semantics (
Imp.v
) (
Imp.html
) and Support Library (
Sflib.v
) (
Sflib.html
) and Concrete Parser (
ImpParser.v
) (
ImpParser.html
) (
Imp.v with solutions
)
Apr 27: Equivalence (
Equiv.v
) (
Equiv.html
) (
Equiv.v with solutions
)
Apr 29: Hoare Logic (
Hoare.v
) (
Hoare.html
). (Also More Hoare Logic (
MoreHoare.v
) (
MoreHoare.html
), just for the curious.) (
Hoare.v with solutions
)
May 6: Relations (
Rel.v
) (
Rel.html
) (
Rel.v with solutions
)
May 11: Smallstep semantics (
Smallstep.v
) (
Smallstep.html
) (
Smallstep.v with solutions
)
May 13: Typing and Simply-typed Lambda Calculus (
Stlc.v
) (
Stlc.html
) (
Stlc.v with solutions
)
May 18: More Simply-typed Lambda Calculus (
MoreStlc.v
) (
MoreStlc.html
) (
MoreStlc.v with solutions
)
May 27: Normalization of Simply-typed Lambda Calculus (
Norm.v
) (
Norm.html
) (
Norm.v with solutions
)
Jun 1: References (
References.v
) (
References.html
)