English

An Introduction to Logical Relations

Programming Languages 2019-07-26 v1

Abstract

Logical relations (LR) have been around for many years, and today they are used in many formal results. However, it can be difficult to LR beginners to find a good place to start to learn. Papers often use highly specialized LRs that use the latest advances of the technique which makes it impossible to make a proper presentation within the page limit. This note is a good starting point for beginners that want to learn about LRs. Almost no prerequisite knowledge is assumed, and the note starts from the very basics. The note covers the following: LRs for proving normalization and type safety of simply typed lambda calculus, relational substitutions for reasoning about universal and existential types, step-indexing for reasoning about recursive types, and worlds for reasoning about references.

Keywords

Cite

@article{arxiv.1907.11133,
  title  = {An Introduction to Logical Relations},
  author = {Lau Skorstengaard},
  journal= {arXiv preprint arXiv:1907.11133},
  year   = {2019}
}
R2 v1 2026-06-23T10:30:55.835Z