  Proust is a small Racket program offering rudimentary interactive assistance
in the development of verified proofs for propositional and predicate logic. It
is constructed in stages, some of which are done by students before using it to
complete proof exercises, and in parallel with the study of its theoretical
underpinnings, including elements of Martin-Lof type theory. The goal is
twofold: to demystify some of the machinery behind full-featured proof
assistants such as Coq and Agda, and to better integrate the study of formal
logic with other core elements of an undergraduate computer science curriculum.
