A description of both the mathematical and the Lean details of this project can be found in my BA's thesis here.
Code was written following Blackburn 1998, present in this repository as blackburn1998.pdf.
Table of Contents
- Defined the basics of hybrid language (specifically the language L(∀) as per Blackburn 1998): Form.lean. Proved some basics facts about substitutions and boundness.
- Defined the proof system: Proof.lean.
- Defined the semantics: Truth.lean. Proved some facts about interpretation variants and also that universal binding is commutative (semantically).
- Proved soundness: (Γ ⊢ φ) → (Γ ⊨ φ).