Documentation

Linglib.Semantics.Modality.Kernel

Kernel Semantics for Epistemic Modals #

[vFG10]'s kernel semantics: epistemic modals carry an evidential presupposition that the prejacent is not directly settled by the kernel K — the privileged direct-information part of the modal base (Def 4: B_K = ⋂K). The presupposition makes must φ strong (it asserts B_K ⊆ ⟦φ⟧, Def 5) while still signalling indirectness: B_K can entail φ without K directly settling it.

This file provides the reusable kernel apparatus: the Kernel structure, the explicit-representation implementation of directly-settles (Implementation 1, §7.1), the presuppositional operators kernelMust/kernelMight/kernelCant, and bridges to Kratzer necessity. The paper's second, partition-based implementation (Def 7, §7.2), the non-equivalence of the two implementations, and the worked examples live in Studies/VonFintelGillies2010.lean; the can't dilemma of [vFG21] lives in Studies/VonFintelGillies2021.lean; the nandao-Q felicity conditions built on this apparatus live in Studies/Zheng2025.lean.

Main declarations #

Kernel structure ([vFG10] Def 4) #

structure Modality.Kernel (W : Type u_2) :
Type u_2

A kernel is a set of direct-information propositions, determining the modal base B_K = ⋂K ([vFG10] Def 4).

  • props : List (WProp)

    The direct-information propositions K.

Instances For
    def Modality.Kernel.base {W : Type u_1} (k : Kernel W) :
    Set W

    The modal base B_K = ⋂K determined by the kernel.

    Equations
    Instances For

      The kernel as a context-independent modal base.

      Equations
      Instances For

        K is consistent iff B_K ≠ ∅.

        Equations
        Instances For
          def Modality.Kernel.followsFrom {W : Type u_1} (k : Kernel W) (φ : WProp) :

          φ follows from K iff B_K ⊆ ⟦φ⟧.

          Equations
          Instances For
            def Modality.Kernel.compatibleWith {W : Type u_1} (k : Kernel W) (φ : WProp) :

            φ is compatible with K iff B_K ∩ ⟦φ⟧ ≠ ∅.

            Equations
            Instances For

              The EpistemicFlavor with the kernel's modal base and empty ordering.

              Equations
              Instances For
                theorem Modality.Kernel.followsFrom_iff {W : Type u_1} (k : Kernel W) (φ : WProp) :
                k.followsFrom φ wk.base, φ w
                theorem Modality.Kernel.compatibleWith_iff {W : Type u_1} (k : Kernel W) (φ : WProp) :
                k.compatibleWith φ wk.base, φ w

                Settling ([vFG10] §7.1, Implementation 1) #

                def Modality.Kernel.directlySettles {W : Type u_1} (k : Kernel W) (φ : WProp) :

                K directly settles P iff some X ∈ K entails P or is incompatible with P.

                Equations
                • One or more equations did not get rendered due to their size.
                Instances For
                  theorem Modality.explicit_implies_entailment {W : Type u_1} (k : Kernel W) (φ : WProp) (h : k.directlySettles φ) :
                  k.followsFrom φ k.followsFrom fun (w' : W) => ¬φ w'

                  If K directly settles φ then B_K ⊆ ⟦φ⟧ or B_K ⊆ ⟦¬φ⟧; the converse fails (see VonFintelGillies2010.entailment_settling_gap).

                  theorem Modality.Kernel.directlySettles_mono {W : Type u_1} (k : Kernel W) (φ : WProp) {k' : Kernel W} (hk : k.props k'.props) (h : k.directlySettles φ) :
                  @[simp]
                  theorem Modality.Kernel.base_singleton {W : Type u_1} (p : WProp) :

                  ⟦must φ⟧ presupposes that K does not directly settle φ and asserts B_K ⊆ ⟦φ⟧.

                  Equations
                  Instances For

                    ⟦might φ⟧ presupposes that K does not directly settle φ and asserts B_K ∩ ⟦φ⟧ ≠ ∅.

                    Equations
                    Instances For

                      ⟦can't φ⟧ is ⟦must ¬φ⟧.

                      Equations
                      Instances For

                        Core properties #

                        theorem Modality.must_entails_prejacent {W : Type u_1} (k : Kernel W) (φ : WProp) (w : W) (hReal : w k.base) (hTrue : (kernelMust k φ).assertion w) :
                        φ w

                        Must φ entails φ when B_K is realistic (the T axiom).

                        theorem Modality.kernel_duality {W : Type u_1} (k : Kernel W) (φ : WProp) (w : W) :
                        (kernelMight k φ).assertion w ¬(kernelMust k fun (w' : W) => ¬φ w').assertion w

                        Might φ and ¬must ¬φ have the same assertion content.

                        theorem Modality.empty_kernel_always_defined {W : Type u_1} (φ : WProp) (w : W) :
                        (kernelMust { props := [] } φ).presup w

                        The empty kernel settles nothing, so must is always defined.

                        Bridge to Kratzer necessity #

                        theorem Modality.kernelMust_iff_simpleNecessity {W : Type u_1} (k : Kernel W) (φ : WProp) (w : W) :

                        The assertion of kernel must is Kratzer simple necessity over the induced modal base.

                        The assertion of kernel must is Kratzer necessity with the empty ordering source.