\[
\def\sleq{\ensuremath{\preceq}}
\def\sgeq{\ensuremath{\succeq}}
\def\diag{\ensuremath{\mathrm{diag}}}
\def\support{\ensuremath{\mathrm{support}}}
\def\zo{\ensuremath{\{0,1\}}}
\def\pmo{\ensuremath{\{\pm 1\}}}
\def\uppersos{\ensuremath{\overline{\mathrm{sos}}}}
\def\lambdamax{\ensuremath{\lambda_{\mathrm{max}}}}
\def\rank{\ensuremath{\mathrm{rank}}}
\def\Mslow{\ensuremath{M_{\mathrm{slow}}}}
\def\Mfast{\ensuremath{M_{\mathrm{fast}}}}
\def\Mdiag{\ensuremath{M_{\mathrm{diag}}}}
\def\Mcross{\ensuremath{M_{\mathrm{cross}}}}
\def\eqdef{\ensuremath{ =^{def}}}
\def\threshold{\ensuremath{\mathrm{threshold}}}
\def\vbls{\ensuremath{\mathrm{vbls}}}
\def\cons{\ensuremath{\mathrm{cons}}}
\def\edges{\ensuremath{\mathrm{edges}}}
\def\cl{\ensuremath{\mathrm{cl}}}
\def\xor{\ensuremath{\oplus}}
\def\1{\ensuremath{\mathrm{1}}}
\notag
\]

\[
\newcommand{\transpose}[1]{\ensuremath{#1{}^{\mkern-2mu\intercal}}}
\newcommand{\dyad}[1]{\ensuremath{#1#1{}^{\mkern-2mu\intercal}}}
\newcommand{\nchoose}[1]{\ensuremath{{n \choose #1}}}
\newcommand{\generated}[1]{\ensuremath{\langle #1 \rangle}}
\notag
\]

# Proofs and algorithms

*“Let’s not try to define knowledge, but try to define
zero-knowledge.”*, Shafi Goldwasser.

*Proofs* have captured human imagination for thousands of years, ever
since the publication of Euclid’s *Elements*, a book second only to the
bible in the number of editions printed.

Plan:

- Proofs and algorithms
- Interactive proofs
- Zero knowledge proofs
- Propositions as types, Coq and other proof assistants.

## Lecture summary

## Exercises

## Bibliographical notes

## Further explorations

Some topics related to this chapter that might be accessible to advanced
students include: (to be completed)

## Acknowledgements

Copyright 2018, Boaz Barak.

This work is licensed under a Creative Commons Attribution-NonCommercial-NoDerivatives 4.0 International License.

HTML version is produced using the Distill template, Copyright 2018, The Distill Template Authors.

## Comments

Comments are posted on the GitHub repository using the utteranc.es app. A GitHub login is required to comment. If you don't want to authorize the app to post on your behalf, you can also comment directly on the GitHub issue for this page.