CS 410/510 - Mathematical Logic and Programming Languages - Fall Term 2014
CRN:         14605 (undergrad) / 14606 (grad)
Course No.   CS 410 (undergrad) / 510 (grad)
Course Name. Mathematical Logic and Programming Languages (4/3 cr)
Times:       Monday and Wednesday  14:00-15:50
Place:       FAB 150
Professor:   Tim Sheard
Office:      FAB 120-04
Phone        503-725-2410

Preliminaries


  1. Week 1
    Monday Sept. 29, 2014
    Due Today:
    Announcements:
    Class Topic: Propositional Logic: Syntax, Semantics, Formula, Relations between formula, Truth, validity, satisfiability, tautology, Proofs.
            Notes on Logic
            Notes on Inductive Sets.
    Readings:
            Smullyan. Chapter I: "Preliminaries". pp 3-14.
    Assigned today:
            Exercise 1. Due by 2:00 PM, Wednesday Oct. 1, 2014, turned in on D2L.
    
    

  2. Wednesday October 1, 2014
    Due Today:
             Exercise 1 due today by class time, turned into D2L.
             Student solutions are here. My Solution is here.
    Announcements:
    Class Topic:
            Prop Logic: Equivalences, Normal Forms.
            Notes on the topics above.
            Haskell code that appears in the notes.
                    uses LazySmallCheck.hs and a new version of SimpleProp.hs.
    Readings:
            Coble. Sections 2.1 - 2.4 : "Propositional Logic". pp 3 - 8.
    Assigned today:
            Exercise 2, due Monday October 6, 2014. Submit to D2L by 1:45 PM.
    
    

  3. Week 2
    Monday October 6, 2014
    Due Today:
            Exercise 2, due today by 1:45 PM.
            Student solutions are here. My Solution is here.
    Announcements:
    Announcements:
    Class Topic:
            Prop logic: soundness, Natural deduction, gentzen style proofs, Sequent Calculus.
            Notes on Proof Systems.
            Haskell code for the natural deduction checker from the lecture.
                    You will also need the files SimpleProp.hs and Blocks.hs.
    Readings:
            Coble. Section 3 : "Proof Systems for Propositional Logic". pp 13 - 20.
            Smullyan. Chapter XI: "Gentzen Systems". pp 101-110..
    Assigned today:
            Homework #1. Due Wednesday October 8, 2014, turned into D2L by 2:00 PM.
    

  4. Wednesday October 8, 2014
    Due Today:
            Homework #1. Due today by 2:00 PM
    Announcements:
    Class Topic:
             Go over homework.
             Tableau style proofs.
    Readings:
            Coble. Section 12: "Tableaux Based Methods". pp 78 - 84.
            Smullyan. Chapter II: "Analytic Tableau". pp 15-24.
    Assigned today:
            Exercise 3, due Monday October 13, 2014. Submit to D2L by 1:45 PM.
    

  5. Week 3
    Monday October 13, 2014
    Due Today:
            Exercise 3, due today.
            Student solutions are here. My Solution is here.
    Announcements:
    Class Topic:
            Prop logic: completeness, decidng truth, normal forms.
                    Notes on consistency and completeness.
    Readings:
            Smullyan. Chapter II.2: "Consistency and Completeness of the System". pp 25-30.
            Coble. Sections 2.5 - 2.7 : "Propositional Logic". pp 8 - 13.
    Assigned today:
    
    
    

  6. Wednesday October 15, 2014
    Due Today:
    Announcements:
    Class Topic:
            SAT solvers. exponential solvers, efficient solvers, applications of solvers.
                    Haskell code of two simple SAT solvers.
            Representing and asking questions about finite sets.
                    The examples from the notes by Sheard below.
                    To run this example code you will need the files in this directory.
    Readings:
            Coble. Section 6 : "Clausal Methods for Propositional Logic". pp 37 - 42.
            Sheard. Section 1 - "Finite Sets" pp 1-24.
    Assigned today:
            Home work 2. An algebra of finite sets. Due Wednesday October 22, 2014 at 2:00 PM. Submit to D2L.
    

  7. Week 4
    Monday October 20, 2014
    Due Today:
    Announcements:
    Class Topic:
            The Soduku problem in FiniteSet (an exercise to do as a class. Here is the code we wrote.).
            Using a SAT solver.
            Internals of SAT solvers.
                    An introduction to SAT by Daniel Le Berre
    Readings:
            Formalization and Implementation of Modern SAT Solvers by Filip Maric.
            Sat-solving in practice by Claessen, Een, Sheeran, and Sorensson.
    Assigned today:
            Exercise 4. Using a the Minisat SAT solver. Due Wednesday.
    
    

  8. Wednesday October 22, 2014
    Due Today:
            Home work 2 due today by 2:00 PM, submit to D2L.
                    My solution to home work 2.
            Exercise 4 due today.
    Announcements:
            Class will only last til 3:00 PM today.
    Class Topic:
            Predicate (first order) Logic: introduction, syntax, substitution, semantics
                    The notes from the lecture.
                    The code discussed in the notes
    Readings:
            Smullyan. Chapter IV: "First Order Logic - Preliminaries". pp 43-52.
            Coble. Section 4 : "First Order Logic". pp 23 - 30.
            Coble. Section 5 : "Formal Reasoning in First-Order Logic". pp 30 - 34.
    Assigned today:
    
    

  9. Week 5
    Monday October 27, 2014
    Due Today:
    Announcements:
    Class Topic:
            Predicate Logic: Tableuax proofs, Herbrand models, Model existence theorem.
                    Some notes on models and sequent calculus in FO logic
    Readings:
            Smullyan. Chapter V: "First Order Analytic Tableau". pp 52-65.
    Assigned today:
            Exercise 5, a sequent style prover for FOL. Due Wednesday 10 29, 2014. Submit to D2L by 1:45.
    
    

  10. Wednesday October 29, 2014
    Due Today:
            Exercise 5 due today.
                    Student solutions here.
    Announcements:
    Class Topic:
            Tableau proof systems for FOL
            Notes on tableaus.
            Code discussed in the notes. Mostly the file Tableau.hs.
    Readings:
            Read sections 7,8,9, & 10 (pp 43-69) from Jim Hooks notes.
    Assigned today:
            Exercise 6. Testing if all paths are closed. Due Monday November 3, 2014 at 1:45 PM.
    
    
    

  11. Week 6
    Monday November 3, 2014
    Due Today:
            Exercise 6 due today.
                    Student solutions here. My partial solution here.
    Announcements:
    Class Topic:
            The Funlog language. Embedding provers in a functional language.
                    notes on Funlog.
    Readings:
            Read the paper Painless Programming Combining Reduction and Search
    Assigned today:
    
    

  12. Wednesday November 5, 2014
    Due Today:
    Announcements:
    Class Topic:
            Notes on adding a new solver to the Funlog programming language.
            The full code for the Funlog language.
    Readings:
    Assigned today:
            Homework #3, Project description. Due Wednesday Novemeber 12, turn into D2L.
    
    

  13. Week 7
    Monday November 10, 2014
    Due Today:
    Announcements:
    Class Topic:
            SMT solvers.
            Applications of SMT solvers:  Path coverage.
            A cool example of a simple SMT solver in haskell.
    
    Readings:
    Assigned today:
    
    

  14. Wednesday November 12, 2014
    Due Today:
    Announcements:
    Class Topic:
            Running the Yices SMT solver
            Binary Decision Diagrams.
                    Code from the lecture.
    Readings:
            Coble. Section 10 : "BDDs, or Binbary Decision Diagrams". pp 69 - 72.
    Assigned today:
    
    
    

  15. Week 8
    Monday November 17, 2014
    Due Today:
    Announcements:
    Class Topic:
            Temporal logics. LTL and CTL
            Some notes by Edmund Clarke.
            Symbolic Model checking with BDDs by Sanjit A. Seshia and by Edmund Clarke.
    Readings:
            Coble. Section 11 : "Modal Logics". pp 72 - 84.
    Assigned today:
    
    
    

  16. Wednesday November 19, 2014
    Due Today:
    Announcements:
    Class Topic:
            Notes on implementating model checking.
            Code from the lecture.
    Readings:
    Assigned today:
    
    
    
    

  17. Week 9
    Monday November 24, 2014
    Work on project week.
    

  18. Wednesday November 26, 2014
    Work on project week.
    

  19. Week 10
    Monday December 1, 2014
    Due Today:
    Announcements:
    Class Topic:
            Model checking with BDDs, taking fixpoints of the transition relation.
            Notes from the lecture
            Code from the lecture.
    Readings:
    Assigned today:
    
    
    

  20. Wednesday December 3, 2014
    Due Today:
            Projects due today
    Announcements:
    Class Topic:
            Project presentations today.
    Readings:
    Assigned today:
    
    

  21. Finals Week
    Wednesday December 10, 2014
    Final exam period: 1230 -> 1420
    Note this is different from our class schedule!
    See 2014 final exam schedule
    Student projects here.
    

Back to the class web-page.