Twelf is based on the logical framework LF. When we write down a logical system (an object logic such as a programming language) in Twelf, we are defining the objects and judgments of our language as LF types and terms. The correctness criterion for such a representation is called adequacy. An LF representation is adequate iff it is isomorphic to the original description of the object logic. Specifically, we require a compositional bijection between the original description and the LF representations, which means that:

1. There is a bijection between object language entities and LF objects of a particular type (the "bijection" part).
2. For representations that use higher-order abstract syntax and higher-order judgments, LF's notion of substitution correctly models object-language substitution (the "compositional" part).

See the introductory article Proving metatheorems with Twelf, as well as Harper and Licata's paper [1], for example adequacy statements and proofs.

References

1. Robert Harper, Daniel R. Licata - Mechanizing Metatheory in a Logical Framework
Journal of Functional Programming ,2007
Bibtex
Author : Robert Harper, Daniel R. Licata
Title : Mechanizing Metatheory in a Logical Framework
In : Journal of Functional Programming -