15-317 / 15-657 Constructive Logic

Fall 2017
Frank Pfenning
TuTh 1:30-2:50
GHC 4307
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 program is recommended.


Class Material

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

Course Information

Lectures Tue Thu 1:30pm-2:50pm, GHC 4307
Recitations Section A, 9:30am-10:20am, PH A22, Ryan Kavanagh
  Section B, 10:30am-11:20am, WeH 5302, Danny Gratzer
  Section C, 11:30am-12:20pm, MM 103, Jon Sterling
Office Hours Frank Pfenning, Wed 1:30pm-2:30pm, GHC 7019
  Ryan Kavanagh, Fri 11:00am-12:00pm, GHC 6207
  Jon Sterling, Mon 1:30pm-2:30pm, GHC 9225
  Danny Gratzer, Sat 11:00am-2:00pm, Citadel Teaching Commons, GHC 5th floor
Course Communication piazza.com/cmu/fall2017/15317
Notes There is no textbook, but lecture notes will be posted
Credit 9 units
Grading 40% Homework, 30% Midterms, 30% Final
Grade Cutoffs A: ≥ 90%, B: ≥ 80%; C: ≥ 70%; D: ≥ 60%
Grade ranges may be lowered slightly based on difficulty of homeworks and exams
Homework Weekly homework is assigned each Tuesday and due the following Tuesday
Late homework will be accepted only under exceptional circumstances
Midterm I Thu Sep 28, in class.
Closed book.
Midterm II Thu Nov 9, in class.
Closed book.
Final Date and time TBA
Closed book.
Home http://www.cs.cmu.edu/~fp/courses/15317-f17/

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 | Resources ]

fp@cs
Frank Pfenning