## Lightweight Lemmas in λProlog (Extended Version) (1999)

### BibTeX

@MISC{Appel99lightweightlemmas,

author = {Andrew W. Appel and Amy P. Felty},

title = {Lightweight Lemmas in λProlog (Extended Version)},

year = {1999}

}

### OpenURL

### Abstract

λProlog is known to be well-suited for expressing and implementing logics and inference systems. We show that lemmas and definitions in such logics can be implemented with a great economy of expression. We encode a polymorphic higher-order logic using the ML-style polymorphism of Prolog. The terms of the metalanguage (λProlog) can be used to express the statement of a lemma, and metalanguage type-checking can directly type-check the lemma. But to allow polymorphic lemmas requires either more general polymorphism at the meta-level or a less concise encoding of the object logic. We discuss both the Terzo and Teyjus implementations of λProlog as well as related systems such as Elf.