15-317 / 15-657 Constructive Logic

Fall 2020
Instructor: Karl Crary
Teaching Assistants: Avery Cowan, Matthew McQuaid, Long Pham, Ariel Uy
Mon & Wed, 11:40 am - 1:00 pm
Remote Location
9 units

This undergraduate course provides an introduction to constructive logics, such as intuitionistic and linear logic, with an emphasis on their application in computer science. This includes basic means for defining logics (for example, natural deduction and sequent calculus), establishing properties of logics (for example, cut elimination), and for investigating their computational interpretations (for example, via proof reduction or proof search).

Prerequisites: 15-317 is an introductory undergraduate course with a minimum grade of C in 15-150 as prerequisite. For the cross-listed graduate version, 15-657, some experience with functional programming is recommended.


Exam Directions

Directions for taking the midterm exam are now available here.


Class Material

Schedule Lecture notes and additional readings
Assignments Homeworks assignments and due dates
Software Links to software and other resources

Course Information

Lectures Mon & Wed 11:40 am - 1:00 pm
Recitations Section A, Tue, 9:20 am - 10:10 am, Long Pham
  Section B, Tue, 10:40 am - 11:30 am, Long Pham
  Section C, Tue, 12:00 pm - 12:50 pm, Ariel Uy
  Section D, Tue, 8:00 pm - 8:50 pm, Avery Cowan
Office Hours TBD
Course Communication Piazza page
Grading 50% homeworks, 18% midterms, 20% final, 8% quizzes, 4% attendance
Notes There is no textbook, but lecture notes will be posted
Credit 9 units
Homework Homework is assigned weekly and handed in via Autolab
You have 5 late days to use throughout the semester,
with at most 2 late days on any given assignment.
Midterm I Closed internet, open notes.
Midterm II Closed internet, open notes.
Final Closed internet, open notes.
Home http://www.cs.cmu.edu/~crary/317-f20/index.html
Syllabus Last updated August 27

Learning objectives: After taking this course, students will be able to

  • define logical connectives and test these definitions for harmony
  • develop sound and complete theorem provers based on deductive presentations of logics
  • derive operational interpretations of logics via proof reduction and use them to write correct programs
  • derive operational interpretations of logics via proof search and use them to write correct programs

Topics: Some of these topics are tentative, depending on the pace of the course and participant interests.

  • Natural deduction
  • Harmony
  • Proofs as programs
  • Quantification
  • Induction and primitive recursion
  • Sequent calculus
  • Cut elimination
  • Inversion
  • Theorem proving
  • Backward logic programming; Prolog
  • Forward logic programming; Datalog
  • Polarization and focusing
  • Linear logic
  • Classical logic

Prior Versions of This Course

Accommodations for Students with Disabilities

If you have a disability and have an accommodations letter from the Disability Resources office, I encourage you to discuss your accommodations and needs with me as early in the semester as possible. I will work with you to ensure that accommodations are provided as appropriate. If you suspect that you may have a disability and would benefit from accommodations but are not yet registered with the Office of Disability Resources, I encourage you to contact them at access@andrew.cmu.edu.

Support for Students' Health and Well-Being

All of us benefit from support during times of struggle. There are many helpful resources available on campus and an important part of the college experience is learning how to ask for help. Asking for support sooner rather than later is almost always helpful. If you or anyone you know experiences any academic stress, difficult life events, or feelings like anxiety or depression, we strongly encourage you to seek support. Counseling and Psychological Services (CaPS) is here to help: call 412-268-2922 and visit their website at http://www.cmu.edu/counseling/. Consider reaching out to a friend, faculty or family member you trust for help getting connected to the support that can help.

[ Home | Schedule | Assignments | Software ]

acowan@cmu
Avery Cowan