# CS 4860 Applied Logic - (Spring 2018)

## Overview

In addition to basic first-order logic, when taught by Computer Science this course involves elements of **Formal Methods** and **Automated Reasoning**.

Formal Methods is concerned with proving properties of algorithms, specifying programming tasks and synthesizing programs from proofs.

We will use formal methods tools such as interactive proof assistants (see www.nuprl.org).

We will also spend two weeks on constructive type theory, the language used by the Coq and Nuprl proof assistants.

CS Topics include:

- formal methods
- automated reasoning
- interactive proof assistants
- constructive type theory

**Meeting Times**:Tue/Thr 1:25pm - 2:40pm

**Location**: Thurston 202

**Instructor:**
**Robert Constable**

rc at cs dot cornell dot edu

Office: 320 Gates Hall

Office Hours: TBA

**TA:**
**Siva Somayyajula**

sks266 at cornell dot edu

Hours:
**See the calendar**

## Texts & Resources

### Required

### Resources

## Homework Policies

Homework is to be brought to class.

Cornell University has a Code of Academic Integrity, with which you should be familiar. Violations of this code are treated very seriously by Cornell and can have long-term repercussions. In this course, you are encouraged to discuss the content of the course with other students, and you may also discuss homework problems with other students. However, you must do your own work, write up assignments yourself, and if you discuss a problem with another student, you are expected to document this fact in your write-up. It is a violation of the code to copy work, including programs, from other students; it is also a violation to use solutions to homework problems from previous iterations of the same course. Note that Cornell holds responsible for the code violation both the recipient *and the donor* of improper information.