Tait's method (a.k.a. proof by logical relations) is a powerful proof technique frequently used for showing foundational properties of languages based on typed lambda-calculi. Historically, these proofs have been extremely difficult to formalize in proof assistants with weak meta-logics, such as Twelf, and yet they are often straightforward in proof assistants with stronger meta-logics. In this paper, we propose structural logical relations as a technique for conducting these proofs in systems with limited meta-logical strength by explicitly representing and reasoning about an auxiliary logic. In support of our claims, we give a Twelf-checked proof of the completeness of an algorithm for checking equality of simply typed lambda-terms.
|Journal||Logic in Computer Science|
|Publication status||Published - 2008|
|Event||23rd Annual IEEE Symposium on Logic in Computer Science (LICS 2008) - Pittsburgh, Pennsylvania, United States|
Duration: 24 Jun 2008 → 27 Jun 2008
Conference number: 23
|Conference||23rd Annual IEEE Symposium on Logic in Computer Science (LICS 2008)|
|Period||24/06/2008 → 27/06/2008|