Polymorphic lemmas and definitions in Lambda Prolog and Twelf
<|reference_start|>Polymorphic lemmas and definitions in Lambda Prolog and Twelf: Lambda 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 higher-order logic using an encoding that maps both terms and types of the object logic (higher-order logic) to terms of the metalanguage (Lambda Prolog). We discuss both the Terzo and Teyjus implementations of Lambda Prolog. We also encode the same logic in Twelf and compare the features of these two metalanguages for our purposes.<|reference_end|>
@article{appel2004polymorphic,
    title={Polymorphic lemmas and definitions in Lambda Prolog and Twelf},
    author={Andrew W. Appel and Amy P. Felty},
    journal={Andrew W. Appel and Amy P. Felty, Polymorphic Lemmas and
  Definitions in Lambda Prolog and Twelf, Theory and Practice of Logic
  Programming, 4(1&2):1-39, January & March 2004},
    year={2004},
    archivePrefix={arXiv},
    eprint={cs/0403010},
    primaryClass={cs.LO cs.PL}
}