Documentation

Linglib.Studies.HollidayMandelkern2024

[HM24]: Possibility-Semantics Case Studies #

[HM24]

Concrete instantiations and paper-specific theorems from H&M 2024 "The Orthologic of Epistemic Modals" (JPL 2024). The general substrate (compatibility frames, ortholattice of regular sets, modal compat frames, T/epistemic frames) lives in Linglib/Semantics/Modality/Orthologic/{Frames,Modal}.lean (plus Linglib/Core/Order/Ortholattice.lean for the abstract typeclass); this file collects the paper's worked examples and the decide-checked predictions that depend on them.

What's formalized #

Out of scope (deferred) #

Five possibilities arranged in a path: x₁—x₂—x₃—x₄—x₅. The canonical 5-possibility example used by H&M for epistemic-modal applications. Note: Example 4.12 (Figure 9) shows two distinct 4-element frames realizing the smaller non-Boolean ortholattices O₆ and MO₂ from Figure 1 — the path frame is the canonical illustrative example, not the smallest non-Boolean instance. [HM24] Example 4.11, Figure 7.

Instances For
    @[implicit_reducible]
    Equations
    Equations
    • One or more equations did not get rendered due to their size.
    Instances For
      @[implicit_reducible]
      Equations
      • One or more equations did not get rendered due to their size.
      @[implicit_reducible]
      Equations
      • One or more equations did not get rendered due to their size.

      The path compatibility frame: adjacent possibilities are compatible.

      Equations
      • One or more equations did not get rendered due to their size.
      Instances For

        Distributivity failure. The key result of possibility semantics. C ∧ (A ∨ B) ≠ (C ∧ A) ∨ (C ∧ B), where C = {x₃}, A = {x₁,x₂}, B = {x₄,x₅}. Possibility x₃ is compatible with both A and B worlds, so it makes A ∨ B true; but it doesn't commit to either disjunct, so neither C ∧ A nor C ∧ B is non-empty. [HM24] Example 4.33 (the path-frame instantiation; the algebraic version is Example 3.20, Figure 3). Figure 8 enumerates the ten ◇-regular subsets of pathFrame; the distributivity discussion appears in the prose following Proposition 4.27.

        x₁ is a world (maximal possibility).

        x₃ is NOT a world — it's a partial possibility, compatible with possibilities on both sides without being a refinement of either.

        Lifting to regular propositions (typeclass-level reasoning) #

        Pack the path-frame regular sets as pathFrame.Regular elements and demonstrate that the abstract OrthocomplementedLattice instance immediately delivers the De Morgan / excluded-middle / non-contradiction laws that are otherwise proved pointwise via decide. The set-membership theorems above remain available as the user-facing API; the …Reg versions below are the same propositions phrased in lattice notation.

        Double negation on pLeftReg from the typeclass: (pLeftReg)ᶜᶜ = pLeftReg. Replaces the pointwise doubleNeg_left proof — abstract typeclass result, no decide on Poss5.

        Excluded middle on pLeftReg from the typeclass: pLeftReg ⊔ pLeftRegᶜ = ⊤. Replaces the pointwise excludedMiddle_left proof.

        Non-contradiction on pLeftReg from the typeclass: pLeftReg ⊓ pLeftRegᶜ = ⊥. Replaces the pointwise nonContradiction_left proof.

        The orthocomplement of pLeftReg is pRightReg: (pLeftReg)ᶜ = pRightReg. Lattice-level statement of the pointwise neg_left theorem.

        The Epistemic Scale is constructed from a 2-world model W = {0, 1} with V(p) = {0}. The possibilities are pairs (A, I) where ∅ ≠ A ⊆ I ⊆ W: - x₁ = ({0}, {0}) — settled that p, knows p - x₂ = ({0}, {0,1}) — settled that p, doesn't know - x₃ = ({0,1}, {0,1}) — nothing settled (full uncertainty) - x₄ = ({1}, {0,1}) — settled that ¬p, doesn't know - x₅ = ({1}, {1}) — settled that ¬p, knows ¬p

        Compatibility: (a,i) ◇ (a',i') iff a ∩ a' ≠ ∅ ∧ a ⊆ i' ∧ a' ⊆ i.
        Accessibility: (a,i) R (a',i') iff a ⊆ a' ∧ i' ⊆ i.
        [holliday-mandelkern-2024] Definition 5.1, Example 5.3. 
        

        Epistemic accessibility for the Epistemic Scale. R(x₁) = {x₁}, R(x₂) = {x₁,x₂,x₃}, R(x₃) = {x₃}, R(x₄) = {x₃,x₄,x₅}, R(x₅) = {x₅}. Note: Figure 12 shows dotted arrows that look symmetric on adjacents, but R as encoded here is the unique relation satisfying R-regularity, Reflexivity, and Knowability on the path compatibility frame — verified operationally by every Figure-13 truth-value matching decide.

        Equations
        Instances For
          @[implicit_reducible]
          Equations
          • One or more equations did not get rendered due to their size.

          The epistemic scale frame. Compatibility is the path graph; accessibility captures epistemic access (refining information). [HM24] Example 4.30, Example 4.33.

          Equations
          • One or more equations did not get rendered due to their size.
          Instances For

            Witnessing the epistemic-frame conditions #

            epistemicScale satisfies all three conditions of HM 2024 Definition 4.26 (Reflexivity is in the structure; R-regularity and Knowability are decide-checked here). Bundled as epistemicCompatFrame, so HollidayMandelkern2024.wittgenstein_p and wittgenstein_neg_p collapse to one-line corollaries of the substrate Semantics.Modality.Orthologic.wittgensteinLaw (Proposition 4.27).

            The Epistemic Scale as an EpistemicCompatFrame — all three Definition 4.26 conditions assembled.

            Equations
            • One or more equations did not get rendered due to their size.
            Instances For
              @[implicit_reducible]
              instance HollidayMandelkern2024.propP_dec :
              DecidablePred propP
              Equations
              • One or more equations did not get rendered due to their size.

              Verification of the truth values listed in Example 4.33 / Figure 13.

              @[simp]

              □p = {x₁}: only x₁ knows p (R(x₁) = {x₁} ⊆ V(p)).

              @[simp]

              ¬p = {x₄, x₅}: the orthocomplement of V(p).

              @[simp]

              ◇p = {x₁, x₂, x₃}: p might be true at x₁, x₂, and x₃.

              @[simp]

              ◇¬p = {x₃, x₄, x₅}: ¬p might be true at x₃, x₄, and x₅.

              The motivating examples from §1–2 of the paper: epistemic possibility does not collapse to classical negation, and truth does not collapse to knowledge.

              ◇¬p does NOT entail ¬p: x₃ makes "it might not be raining" true but does not settle "it's not raining." This is the core motivation for the entire paper — in classical logic, ◇¬p → ¬p, but this fails in possibility semantics. [HM24] §1.

              p does NOT entail □p: x₂ makes p true without knowing p. "It's raining" does not mean "It must be raining." Failure of necessitation for non-logical truths. [HM24] §2.

              Wittgenstein's Law: ¬A ∩ ◇A = ∅. "It's raining and it might not be raining" is contradictory. In possibility semantics, if x settles ¬A (all compatible possibilities fail A), then x cannot also make ◇A true (which requires a compatible possibility in □¬A's complement). [HM24] Proposition 4.27.

              Both theorems below are **structural corollaries** of the substrate
              `wittgensteinLaw` on epistemic compatibility frames — no per-frame
              `decide` is needed. The Poss5-specific content was reduced (above) to
              `epistemicCompatFrame`'s `decide`-checked R-regularity + Knowability;
              the algebraic identity itself comes from substrate. 
              

              ¬p ∧ ◇p = ∅: "p is false and p might be true" is contradictory. One-line corollary of EpistemicCompatFrame.wittgensteinLaw applied to propP.

              p ∧ ◇¬p = ∅: "p is true and ¬p might be true" is contradictory. One-line corollary: take A := orthoNeg pathFrame propP in EpistemicCompatFrame.wittgensteinLaw.

              Distributivity fails across epistemic levels: (p ∨ ¬p) ∧ (◇p ∧ ◇¬p) is true at x₃, but (p ∧ ◇p ∧ ◇¬p) ∨ (¬p ∧ ◇p ∧ ◇¬p) is not. The partial possibility x₃ verifies the disjunction without committing to either disjunct — both disjuncts are empty by Wittgenstein's Law (p ∧ ◇¬p = ∅ and ¬p ∧ ◇p = ∅). [HM24] Example 3.20 (algebraic), Example 4.33 (possibility-semantic instantiation).

              Free choice disjunction: ◇(A ∨ B) entails ◇A ∧ ◇B.

              HM 2024 do not aim to predict free choice — see footnote 33 (page 890):
              "We will not try to adjudicate that complicated topic here." The closest
              paper-anchored result is the **Inheritance principle**
              (Proposition 5.12.3, page 885): `(U ∨ ◇V) ∧ □V ⊆ ◇(U ∨ V)`.
              
              On the Epistemic Scale, full free choice fails because the path frame
              is non-Boolean. The pattern derivable here is partial: it holds at x₃
              (full uncertainty, where both p and ¬p remain epistemically possible)
              but fails at x₁ (knows p, where ◇(p ∨ ¬p) is trivially true but
              ◇¬p is false).
              
              For a deontic-modal account where free choice DOES emerge — via
              pragmatic enrichment in BSML — see `Studies/Aloni2022.lean`.
              The contrast is *modal-flavor-dependent* rather than directly contradictory:
              Aloni 2022 derives FC for permission-flavored ◇, HM 2024 predicts FC failure
              for epistemic-flavored ◇. 
              

              Free choice FAILS at x₁: ◇(p ∨ ¬p) is true but ◇¬p is false. x₁ knows p, so while the disjunction is trivially possible, the individual disjunct ¬p is not epistemically accessible.

              T axiom: □A entails A (knowledge is factive). [HM24] Proposition 4.25.

              □p entails ◇p (knowledge implies epistemic possibility).

              Disjunctive syllogism ({p ∨ q, ¬q} ⊨ p) fails for epistemic modals: "Either the dog is inside or it must be outside; it's not the case that it must be outside; therefore it is inside." The tautological first premise carries no information. [HM24] §2.3.

              theorem HollidayMandelkern2024.disjSyllogism_fails :
              have mustNotP := Orthologic.box epistemicScale (Orthologic.orthoNeg pathFrame propP); have pOrMustNotP := Orthologic.disj pathFrame propP mustNotP; have notMustNotP := Orthologic.orthoNeg pathFrame mustNotP; pOrMustNotP Poss5.x3 notMustNotP Poss5.x3 ¬propP Poss5.x3

              Disjunctive syllogism fails: p ∨ □¬p and ¬□¬p both hold at x₃ (full uncertainty) but p does not.

              Orthomodularity (if φ ⊨ ψ then ψ ⊨ φ ∨ (¬φ ∧ ψ)) fails. Since p ⊨ ◇p, orthomodularity would give ◇p ⊨ p ∨ (¬p ∧ ◇p). But ¬p ∧ ◇p = ⊥ by Wittgenstein's Law, so this collapses to ◇p ⊨ p — absurd. [HM24] §2.4.

              p entails ◇p: truth implies epistemic possibility. Follows from T (T_axiom_general) + duality (per HM 2024 §2.4 p. 839, derivable in their full system).

              Orthomodularity fails: ◇p holds at x₃ but p ∨ (¬p ∧ ◇p) does not (since ¬p ∧ ◇p = ⊥ by Wittgenstein, this reduces to p).

              Pseudocomplementation (a ∧ b = 0 → b ≤ ¬a) fails. In a Boolean algebra, ¬a is the greatest element disjoint from a. In an ortholattice this need not hold: p ∧ ◇¬p = ⊥ (Wittgenstein) but ◇¬p ≰ ¬p. This is the algebraic root of why ◇¬p ≠ ¬p. [HM24] Lemma 3.6 (algebraic statement), Example 3.20 (concrete failure).

              theorem HollidayMandelkern2024.pseudocomplementation_fails :
              have negP := Orthologic.orthoNeg pathFrame propP; have diamNegP := Orthologic.diamond epistemicScale negP; (∀ (x : Poss5), ¬Orthologic.conj propP diamNegP x) diamNegP Poss5.x3 ¬negP Poss5.x3

              Pseudocomplementation fails: p ∧ ◇¬p = ⊥ but ◇¬p ≰ ¬p. x₃ witnesses ◇¬p (might not be raining) without witnessing ¬p.

              Level-wise classicality: classical reasoning is safe within an epistemic level but dangerous across levels. The subortholattice B₀ = {⊥, p, ¬p, ⊤} is a four-element Boolean algebra; B₁ (generated by applying □ and ◇ to B₀) is an eight-element Boolean algebra. Distributivity only fails when mixing levels. [HM24] §3.2.4.

              Within-level distributivity (B₁): ◇p ∧ (◇¬p ∨ ◇p) = (◇p ∧ ◇¬p) ∨ (◇p ∧ ◇p). All operands from the same epistemic level → distributivity holds.

              Cross-level failure: ◇p ∧ (p ∨ ¬p) ≠ (◇p ∧ p) ∨ (◇p ∧ ¬p). ◇p is from B₁ but p, ¬p are from B₀. At x₃ the LHS is true (◇p and excluded middle both hold) but the RHS is false (both disjuncts are empty by Wittgenstein's Law).

              Lifting construction specialized to the two-world Boolean algebra B = ℘({0, 1}) with valuation V(p) = {0}. The five possibilities are pairs (A, I) with ∅ ≠ A ⊆ I ⊆ W:

              - x₁ = ({0}, {0})     — knows p
              - x₂ = ({0}, {0,1})   — settled p, doesn't know
              - x₃ = ({0,1}, {0,1}) — full uncertainty
              - x₄ = ({1}, {0,1})   — settled ¬p, doesn't know
              - x₅ = ({1}, {1})     — knows ¬p
              
              Compatibility: (A,I) ◇ (A',I') iff A ∩ A' ≠ ∅ ∧ A ⊆ I' ∧ A' ⊆ I.
              Accessibility: (A,I) R (A',I') iff A ⊆ A' ∧ I' ⊆ I.
              
              The general lifting from an arbitrary Boolean algebra `B` (Def 5.1)
              is unformalized; this section verifies the agreement of the derived
              `liftedCompat`/`liftedAccess` with the stipulated `pathFrame`/
              `epistemicScale` for the W={0,1} case. 
              

              Compatibility derived from lifting: (A,I) ◇ (A',I') iff A ∩ A' ≠ ∅ ∧ A ⊆ I' ∧ A' ⊆ I. [HM24] Definition 5.1.2.

              Equations
              • One or more equations did not get rendered due to their size.
              Instances For

                Accessibility derived from lifting: (A,I) R (A',I') iff A ⊆ A' ∧ I' ⊆ I (refining = expanding actuality, shrinking information). [HM24] Definition 5.1.3.

                Equations
                • One or more equations did not get rendered due to their size.
                Instances For

                  The epistemic scale's compatibility matches the lifting construction.

                  The epistemic scale's accessibility matches the lifting construction.

                  [HM24] Lemma 5.4: truth at a possibility reduces to truth at worlds via the A and I sets.

                  - propP x = true  iff  world 1 ∉ A(x)  (all actual worlds satisfy p)
                  - □p x = true     iff  world 1 ∉ I(x)  (all information-accessible worlds satisfy p)
                  - ◇p x = true     iff  world 0 ∈ A(x)  (some actual world satisfies p)
                  
                  @[simp]

                  Truth from worlds: p holds at x iff the ¬p-world is not actual.

                  @[simp]

                  Box truth from worlds: □p holds at x iff the ¬p-world is not information-accessible.

                  @[simp]

                  Diamond truth from worlds: ◇p holds at x iff the p-world is actual.

                  HM 2024's formal predictions agree with the empirical patterns recorded in the prior literature. These bridges close the loop between Yalcin's embedding diagnostic, Mandelkern's distributivity-failure intuition, Klinedinst & Rothschild's disjunctive-syllogism failure, and HM's formal theorems on the Epistemic Scale.

                  Each agreement bundles **two** components: (i) the proof-bearing
                  structural witness from this file, exhibiting the prediction as a
                  Lean theorem, and (ii) the literal `:= rfl` over the sibling's Bool
                  table, serving as a drift sentry — if either side later changes, the
                  `rfl` will fail loudly. 
                  

                  HM 2024 predicts that Wittgenstein sentences are infelicitous — matching Yalcin (2007). Witnesses: wittgenstein_p (¬p ∧ ◇p = ∅) and wittgenstein_neg_p (p ∧ ◇¬p = ∅), both reducing to substrate wittgensteinLaw (Proposition 4.27).

                  HM 2024 predicts that classical contradictions are infelicitous — matching Yalcin (2007). Witness: p ∧ ¬p = ∅ on the Epistemic Scale, structurally guaranteed by the inf_compl_eq_bot ortholattice axiom on pathFrame.Regular.

                  HM 2024 predicts Mandelkern (2019)'s distributivity-failure pattern: LHS felicitous, RHS infelicitous. Witness: epistemic_distrib_failure (§8) — proves (p ∨ ¬p) ∧ (◇p ∧ ◇¬p) true at x₃ but (p ∧ ◇p ∧ ◇¬p) ∨ (¬p ∧ ◇p ∧ ◇¬p) false at x₃.

                  HM 2024 predicts Klinedinst & Rothschild (2012)'s disjunctive-syllogism failure: from p ∨ □¬p and ¬□¬p, the conclusion p does not follow. Witness: disjSyllogism_fails (§11) exhibits x₃ as the joint witness where both premises hold but the conclusion fails.

                  HM 2024's wittgenstein_p and wittgenstein_neg_p (§7) jointly say that BOTH ¬p ∧ ◇p and p ∧ ◇¬p are infelicitous on every state of the Epistemic Scale — Wittgenstein's Law is symmetric in possibility semantics.

                  Veltman 1996's update semantics predicts the opposite: order MATTERS.
                  `Semantics.Dynamic.UpdateSemantics.Basic.might_order_matters`
                  proves that `p ∧ might ¬p` collapses to ∅ but `might ¬p ∧ p` does not,
                  on any state with `Nontrivial W`.
                  
                  Both files acknowledge this divergence in prose; the theorem below
                  makes the structural contradiction Lean-checkable — a
                  cross-framework contradiction stated at theorem level.
                  Per linglib's mission: theoretical incompatibilities should be visible
                  at theorem level, not docstring level. 
                  

                  Cross-framework contradiction (HM 2024 vs Veltman 1996): HM predicts that both Wittgenstein orderings collapse to ∅ on every Poss5 state (hm_wittgenstein_symmetric), while Veltman predicts that on any Nontrivial W there is a state where p ∧ might ¬p collapses but might ¬p ∧ p survives (might_order_matters). The two frameworks disagree at the theorem level on whether Wittgenstein's Law is symmetric — instantiated at W := Bool.