Polymorphic lemmas and definitions in Lambda Prolog and Twelf
Andrew W. Appel, Amy P. Felty
Abstract
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.
Create a lesson
Related papers
String Diagrams for Process Mining
Antony R. Lee, Peter Tiňo, Iain B. Styles
Rich Sequences and Decidability of Arithmetic Theories
Toghrul Karimov, Joris Nieuwveld, Joël Ouaknine
An Explicit Ordinal Bound for System T Dialogue Trees
MingKun Xiao, YiXuan Sun
Concurrency, Causality and Conflict via Independence in Reversible Calculi
Clément Aubert, Gabriele Cecilia, Iain C. C. Phillips et al.
A Theory of a Two-Dimensional Typed Lambda Calculus
Daniel O. Martínez-Rivillas, Arthur F. Ramos, Ruy J. G. B. de Queiroz
FloatLib: Verified Floating-Point Arithmetic in Lean
Robert Joseph George, Will Adkisson, Anima Anandkumar