English

TWAM: A Certifying Abstract Machine for Logic Programs

Programming Languages 2022-06-29 v1 Logic in Computer Science

Abstract

Type-preserving (or typed) compilation uses typing derivations to certify correctness properties of compilation. We have designed and implemented a type-preserving compiler for a simply-typed dialect of Prolog we call T-Prolog. The crux of our approach is a new certifying abstract machine which we call the Typed Warren Abstract Machine (TWAM). The TWAM has a dependent type system strong enough to specify the semantics of a logic program in the logical framework LF. We present a soundness metatheorem which constitutes a partial correctness guarantee: well-typed programs implement the logic program specified by their type. This metatheorem justifies our design and implementation of a certifying compiler from T-Prolog to TWAM.

Keywords

Cite

@article{arxiv.1801.00471,
  title  = {TWAM: A Certifying Abstract Machine for Logic Programs},
  author = {Rose Bohrer and Karl Crary},
  journal= {arXiv preprint arXiv:1801.00471},
  year   = {2022}
}

Comments

41 pages, under submission to ACM Transactions on Computational Logic