~/talk

Proving Theorems and Certifying Programs with Coq

Talkat LambdaConf 2018 · 2018-06-03..06-05· [machine-learning]
links:none on file
slides:none on file

Concrete claims and code: Coq proofs are Gallina terms checked by the typechecker, Ltac scripts generate those terms, and proofs erase to runnable OCaml/Haskell via extraction; examples include dependent types (length-indexed lists), a verified concat implementation, and structural recursion that enforces termination. The demo shows using Gallina and Ltac to build proofs, viewing generated proof terms, using CoqIDE/ProofGeneral, and putting everything on the GitHub slides so the code and tactics can be inspected and re-run.

AI-written summary · about

  1. 0:00Welcome to Coq
  2. 1:15Mathematical proofs and verification
  3. 3:22Programming and types
  4. 5:54Curry-Howard explained
  5. 8:03What is a theorem prover
  6. 10:30Coq setup and interfaces
  7. 11:56Basic types in Coq
  8. 14:11Inductive types for numbers
  9. 16:20Coq’s three languages
  10. 17:49Vernacular commands and IDE
  11. 18:10Simple functions in Coq
  12. 19:11Recursive functions and termination
  13. 21:20Dependent types intro
  14. 23:57Dependent lists by length
  15. 24:40Functions on dependent types
  16. 28:43Dependent pattern matching
  17. 31:40Logic and propositions
  18. 33:28Defining logical AND
  19. 39:58Coq foundations
  20. 41:01Proving true in Coq
  21. 46:37Proof mode and tactics
  22. 48:01First proof with tactics
  23. 51:10Tacticals and automation
  24. 53:24Proof scripts behind the scenes
  25. 54:10Other logical operators
~/search
type to search 6,249 conferences, 138,987 speakers and 185,172 talks
~/help
cmdctrl k
search every conference, speaker and series
/
focus the filter search
h
home
c
conferences
s
speakers
e
series
t
light / dark — the status bar button does the same
?
this help
esc
close this, then clear every filter — or just the search, while you are typing in it

Ignored while you are typing. Pages without a filter rail have no search to focus.