15-317 Constructive Logic
Lecture 15: Metaprogramming in Prolog

In this lecture we write a decision procedure for intuitionistic propositional logic based on a contraction-free sequent calculus, exploiting inversion. The implementation will be in Prolog, using a logic programming language to implement logic, which is sometimes called metaprogramming.

  • Reading: in preparation
  • Code: g5ip.pl
  • Key concepts:
    • Representing propositions
    • Types as predicates
    • Asynchronous and synchronous propositions
  • Previous lecture: Prolog
  • Next lecture: The LF Logical Framework

[ Home | Schedule | Assignments | Handouts | Software ]

Frank Pfenning