As of 2007[update], the POPLmark challenge is composed of three parts. Part 1 concerns solely the types of System F<: (System F with subtyping), and has problems such as:
Part 2 concerns the syntax and semantics of System F<:. It concerns proofs of
Part 3 concerns the usability of the formalisation of System F<:. In particular, the challenge asks for:
Several solutions have been proposed for parts of the POPLmark challenge, using following tools: Isabelle/HOL, Twelf, Coq, αProlog, ATS, Abella and Matita.