A variety of logical frameworks support the use of higher-order abstract syntax (HOAS) in representing formal systems given
via axioms and inference rules and reasoning about them. In such frameworks, object-level binding is encoded directly using
meta-level binding. Although these systems seem superficially the same, they differ in a variety of ways; for example, in
how they handle a context of assumptions and in what theorems about a given formal system can be expressed and proven. In
this paper, we present several case studies which highlight a variety of different aspects of reasoning using HOAS, with the
intention of providing a basis for qualitative comparison of different systems. We then carry out such a comparison among
three systems: Twelf, Beluga, and Hybrid. We also develop a general set of criteria for comparing such systems. We hope that
others will implement these challenge problems, apply these criteria, and further our understanding of the trade-offs involved
in choosing one system over another for this kind of reasoning.