15-317 Constructive Logic

  • There are 10 homework assignments, worth a total of 400 points.
  • Some assignments may offer additional problems for extra credit, which is recorded separately.
  • Extra credit will be considered when determining midterm and final grades for borderline cases.
  • Assignments generally are given out Thursday in lecture and are due the following Thursday.
  • Homeworks may require use of the course software, or simply a write-up with pencil and paper.
  • Machine-checked assignment must be submitted via the course software before the start of lecture on the due date.
  • Written homeworks are to be handed in at the beginning of lecture on the due date.
  • We will try our best to return graded homework during the lecture following the due date.
  • For typesetting deductions in LaTeX, we use proof.sty
Date Assignment Due Solutions

Sep 3 Homework 1 Natural Deduction (Tutch requirements, LaTeX)   Thu Sep 10 Written, Tutch  
Sep 10 Homework 2 Quantifiers and Proof Terms (Tutch requirements, LaTeX)   Thu Sep 17 Written, Tutch  
Sep 17 Homework 3 Natural Numbers and Classical Reasoning
(Tutch requirements, Starter code, LaTeX)
  Thu Sep 24 Written, Tutch  
Sep 24 Homework 4 Classical and Intuitionistic Logic (Tutch requirements, LaTeX)   Thu Oct 1 Written, Tutch  
Oct 8 Homework 5 Sequent Calculus for Proof Search (Starter code, Test harness, LaTeX)   Thu Oct 15 Written, Code
Hard test cases
Oct 15 Homework 6 Logic Programming and Inversion (LaTeX)   Thu Oct 22 Written, Prolog  
Oct 22 Homework 7 Programming in Prolog (Starter code, LaTeX)   Thu Oct 29 Written, Prolog  
Oct 29 Homework 8 Representing Proofs in Twelf (Starter code)   Thu Nov 5 Twelf  
Nov 12 Homework 9 Proving Metatheorems in Twelf (Starter code, LaTeX)   Thu Nov 19 Written, Twelf  
Nov 19 Homework 10 Bottoms Up! (Test cases)   Thu Dec 3 Lollibot  

All assignments in this course are individual assignments. The work must be your own. Do not copy any parts of the solution from anyone, and do not look at other students solutions. Do not make any parts of your solutions available to anyone and make sure noone else can read your files. We will rigorously apply the university policy on cheating and plagiarism.

We may modify this policy on some specific assignments. If so, it will be clearly stated in the assignment.

It is always permissible to clarify vague points in assignments, discuss course material from notes or lectures, and to give help or receive help in using the course software such as proof checkers, compilers, or model checkers.

[ Home | Schedule | Assignments | Handouts | Software ]

Frank Pfenning