A framework for defining logics

Robert Harper, Furio Honsell, Gordon Plotkin

Journal of the ACM · 1993 · 195 citations · 11 references

DOIFull text

Open access

Concepts

TL;DR

The Edinburgh Logical Framework (LF) provides a means to define (or present) logics, based on a general treatment of syntax, rules, and proofs via a typed λ‑calculus with dependent types, and treats syntax in a style similar to but more general than Martin‑Löf's system of arities. The treatment of rules and proofs focuses on judgments, with logics represented via the judgments‑as‑types principle that identifies each judgment with the type of its proofs, enabling a smooth treatment of discharge and variable occurrence conditions and a uniform view of rules as proofs of higher‑order judgments, reducing proof checking to type checking. This approach allows logic‑independent tools such as proof editors and proof checkers to be constructed.

Abstract

The Edinburgh Logical Framework (LF) provides a means to define (or present) logics. It is based on a general treatment of syntax, rules, and proofs by means of a typed λ-calculus with dependent types. Syntax is treated in a style similar to, but more general than, Martin-Lo¨f's system of arities. The treatment of rules and proofs focuses on his notion of a judgment . Logics are represented in LF via a new principle, the judgments as types principle, whereby each judgment is identified with the type of its proofs. This allows for a smooth treatment of discharge and variable occurence conditions and leads to a uniform treatment of rules and proofs whereby rules are viewed as proofs of higher-order judgments and proof checking is reduced to type checking. The practical benefit of our treatment of formal systems is that logic-independent tools, such as proof editors and proof checkers, can be constructed.

References

11