Polymorphic Kripke Foundation #
@cite{kripke-1963}
The bare foundation for accessibility-restricted modal logic, parameterised
by {W : Type*} — no Frame, no Entity, no type system. This file holds the
definitions and very simple lemmas that the rest of Core.Logic.Intensional
(including Montague's S5 box/diamond in Quantification.lean and the
modal-axiom theorems in RestrictedModality.lean) builds on.
Defs.lean is the foundation file in mathlib's sense: just the data and the
relationships among frame conditions. Modal axiom correspondence theorems
(K/T/D/4/B/5), monotonicity, distribution, restriction, the Logic lattice,
and the 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.Intensional.AccessRel W = (W → W → Prop)
Instances For
Agent-indexed accessibility relation: each agent has their own accessibility relation over worlds.
Equations
Instances For
Universal accessibility: every world is accessible from every world.
Equations
- Core.Logic.Intensional.universalR x✝¹ x✝ = True
Instances For
Empty accessibility: no world is accessible from any world.
Equations
- Core.Logic.Intensional.emptyR x✝¹ x✝ = False
Instances For
Reflexive (identity) accessibility: each world accesses only itself.
Equations
- Core.Logic.Intensional.identityR w v = (w = v)
Instances For
Reflexivity: every world accesses itself.
Equations
- Core.Logic.Intensional.IsReflexive R = ∀ (w : W), R w w
Instances For
Seriality: every world accesses at least one world.
Equations
- Core.Logic.Intensional.IsSerial R = ∀ (w : W), ∃ (v : W), R w v
Instances For
Transitivity.
Equations
- Core.Logic.Intensional.IsTransitive R = ∀ (w v u : W), R w v → R v u → R w u
Instances For
Euclideanness.
Equations
- Core.Logic.Intensional.IsEuclidean R = ∀ (w v u : W), R w v → R w u → R v u
Instances For
S5 frames are equivalence relations.
S4 frames are preorders.
M implies D (reflexive implies serial).
M + 5 implies B.
M + 5 implies 4.
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.Intensional.box operator in Quantification.lean is the
universal-accessibility special case.
Equations
- Core.Logic.Intensional.boxR 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 boxR.
Equations
- Core.Logic.Intensional.diamondR R p w = ∃ (v : W), R w v ∧ p v