English

Check Your (Students') Proofs-With Holes

Programming Languages 2020-09-04 v1

Abstract

Cyp (Check Your Proofs) (Durner and Noschinski 2013; Traytel 2019) verifies proofs about Haskell-like programs. We extended Cyp with a pattern matcher for programs and proof terms, and a type checker. This allows to use Cyp for auto-grading exercises where the goal is to complete programs and proofs that are partially given by the instructor, as terms with holes. Since this allows holes in programs, type-checking becomes essential. Before, Cyp assumed that the program was written by a type-correct instructor, and therefore omitted type-checking of proofs. Cyp gracefully handles incomplete student submissions. It accepts holes temporarily, and checks complete subtrees fully. We present basic design decisions, make some remarks on implementation, and include example exercises from a recent course that used Cyp as part of the Leipzig Autotool auto-grading system.

Keywords

Cite

@article{arxiv.2009.01326,
  title  = {Check Your (Students') Proofs-With Holes},
  author = {Dennis Renz and Sibylle Schwarz and Johannes Waldmann},
  journal= {arXiv preprint arXiv:2009.01326},
  year   = {2020}
}

Comments

Part of WFLP 2020 pre-proceedings

R2 v1 2026-06-23T18:16:45.837Z