YoVDO

Tutorial on Deductive Program Synthesis - Part 2: Hands-on Derivation and Advanced Techniques

Offered By: Neurosymbolic Programming for Science via YouTube

Tags

Formal Methods Courses Recursion Courses

Course Description

Overview

Save Big on Coursera Plus. 7,000+ courses at $160 off. Limited Time Only!
Dive into the inner workings of deductive program synthesis in this 42-minute tutorial, the second part of a series focusing on the SuSLik system for creating provably correct pointer-manipulating programs. Explore synthetic separation logic (SSL) and its basic rules through hands-on examples like swapping elements and managing bank accounts. Tackle challenging tasks such as tree flattening, learning how to handle recursion and utilize cyclic proofs. Gain practical experience in deriving programs from specifications step-by-step using deductive rules, and understand the fundamental idea behind deductive synthesis: finding the program by looking for the proof.

Syllabus

this tutorial
synthetic separation logic (SSL)
SSL: basic rules
example: swap
demo: bank account
deposit
demo: deriving dispose
deriving single-to-double
example: tree flattening
this task is challenging!
tree flattening with cyclic proofs
does this goal look familiar?
extracting the auxiliary
deductive synthesis idea: to find the program, look for the proof


Taught by

Neurosymbolic Programming for Science

Related Courses

程序设计实习 / Practice on Programming
Peking University via Coursera
程序设计基础
Peking University via edX
算法基础
Peking University via Coursera
Principles of Computing (Part 2)
Rice University via Coursera
算法设计与分析 Design and Analysis of Algorithms
Peking University via Coursera