15-816 Substructural Logics
Fall 2016 |
Frank Pfenning |
TuTh 1:30-2:50 |
GHC 4301 |
12 units |
First lecture will be Tue Aug 30 |
This graduate course provides an introduction to substructural logics,
such as linear, ordered, affine, bunched, or separation logic, with an
emphasis on their applications in computer science. This includes the
design and theory of programming constructs for concurrent
message-passing computation and techniques for
specifying and reasoning about programming languages in the
form of substructural operational semantics.
Prerequisites: This is an introductory graduate
course with no formal prerequisites, but an exposure to functional
programming and type systems may be helpful. Enterprising
undergraduates are welcome to attend this course.
Prior Versions of This Course
Class Material
Course Information
Lectures |
Tue Thu 1:30-2:50, GHC 4301 |
Office Hours |
Mon 1:00-2:00, GHC 7019
Thu 3:00-4:00, GHC 7019
|
Course Communicaity |
piazza.com/cmu/fall2016/15816 |
Notes |
There is no textbook, but lecture notes
and papers will be posted
|
Credit |
12 units |
Grading |
60% Homework, 15% Midterm, 25% Final |
Homework |
Weekly homework is assigned each Thursday and due the following Thursday.
Late homework will be accepted only under exceptional circumstances.
|
Midterm |
Tue Oct 18, in class.
Closed book.
|
Final |
Mon Dec 12, 8:30am-11:30am, GHC 4211
Closed book.
|
Home |
http://www.cs.cmu.edu/~fp/courses/15816-f16/ |
Learning objectives:
After taking this course, students will be able to
- model stateful, concurrent, and resource-aware systems
in substructural logics
- define and reason about programming languages
using substructural operational semantics
- capture computational phenomena in advanced
substructural type theories
- apply the judgmental method to define logics
and type theories for a rich variety of applications
- appreciate the deep philosophical underpinnings and
elegance of the computation-as-proof-reduction and
computation-as-proof-construction paradigms
Topics:
Many of these topics are tentative, depending on the
pace of the course and participant interests.
- Deductive inference
- Substructural hypothetical judgments
- From inference rules to propositions and back
- Judgmental independence principles
- Ordered, linear, affine, strict, and persistent hypotheses
- Harmony
- Cut elimination
- Concurrent computation as cut reduction
- Session-typed message-passing concurrency
- Substructural operational semantics
- Concurrent cost semantics
- Combining logics with adjunctions
- Polarization and focusing
- Computation as proof construction
- Substructural logical frameworks
- Resource semantics
- Logical embeddings
- Automata in logical fragments
- Substructural characterizations of complexity classes
- Lambek calculus and categorial grammars
- Classical linear logic
Even more tenative:
- Bunched logic and its resource semantics
- Separation logic and imperative computation
- Modeling protein interaction networks
[ Home
| Schedule
| Assignments
| Resources
]
fp@cs
Frank Pfenning
|