Polymorphic Kripke Foundation #
The bare foundation for accessibility-restricted modal logic, parameterised by
{W : Type*} — no Frame, no Entity, no type system: accessibility relations,
frame conditions, and the relational box/diamond. The modal-axiom theorems
(RestrictedModality.lean) build on it.
Montague's S5 box/diamond in Intensional.Quantification is the
universal-accessibility special case (box universalR), but it lives in the
typed IL layer and is developed independently there.
Defs.lean is the foundation file in mathlib's sense: just the data and the
relationships among frame conditions. Modal axiom correspondence (K/T/D/4/B/5),
monotonicity, distribution, restriction, the Logic lattice, and the PropOp
("Gallin") hierarchy live in RestrictedModality.lean.
An accessibility relation on worlds. R w v means world v is
accessible from world w.
Equations
- Core.Logic.Modal.AccessRel W = (W → W → Prop)
Instances For
Agent-indexed accessibility relation: each agent has their own accessibility relation over worlds.
Equations
- Core.Logic.Modal.AgentAccessRel W E = (E → Core.Logic.Modal.AccessRel W)
Instances For
Universal accessibility: every world is accessible from every world.
Equations
- Core.Logic.Modal.universalR x✝¹ x✝ = True
Instances For
Empty accessibility: no world is accessible from any world.
Equations
- Core.Logic.Modal.emptyR x✝¹ x✝ = False
Instances For
Reflexive (identity) accessibility: each world accesses only itself.
Equations
- Core.Logic.Modal.identityR w v = (w = v)
Instances For
Reflexivity, symmetry, and transitivity are Std.Refl R,
Std.Symm R, IsTrans W R from Lean core + mathlib. Seriality
and Euclideanness are modal-logic-specific and defined here.
Seriality: every world accesses at least one world.
Identical as a Prop to Mathlib.Logic.Relator.LeftTotal R, but
packaged as a class with the modal-logic-canonical name.
- serial (w : W) : ∃ (v : W), R w v
Instances
Euclideanness: from any pair of R-successors of w, each is an
R-successor of the other. No mathlib analogue (modal-specific).
- eucl (w v u : W) : R w v → R w u → R v u
Instances
S5 frame: reflexive + euclidean (implies symmetric + transitive).
Instances
KD45 frame for textbook belief: serial + transitive + euclidean.
Instances
K4-Eucl frame: transitive + euclidean, NOT serial. The frame condition for commitment in [Sta84]-style discourse models, where commitment violations (no accessible compliance world) must be expressible.
Instances
KTB frame: reflexive + symmetric. The natural setting for tolerance semantics ([CERvR12]) where each predicate's similarity relation is reflexive and symmetric but possibly non-transitive.
Instances
Rb is a belief refinement of Rk: every belief-accessible world is
knowledge-accessible. The pure subset condition; whether Rk is S5
and Rb is KD45 is asserted by separate instance declarations.
- sub (w v : W) : Rb w v → Rk w v
Instances
Reflexive relations are serial.
Reflexive + Euclidean implies symmetric.
Reflexive + Euclidean implies transitive.
Symmetric + transitive implies euclidean.
Restricted necessity: □_R p at world w holds iff p v for all
v accessible from w.
⟦□_R φ⟧^w = 1 iff ⟦φ⟧^v = 1 for all v with R(w,v).
This is the Kripke generalization of DWP's Rule B.13 (box); the
Core.Logic.Modal.box operator in Quantification.lean is the
universal-accessibility special case.
Equations
- Core.Logic.Modal.box R p w = ∀ (v : W), R w v → p v
Instances For
Restricted possibility: ◇_R p at world w holds iff p v for some
v accessible from w. Dual of box.
Equations
- Core.Logic.Modal.diamond R p w = ∃ (v : W), R w v ∧ p v