Possibility Semantics #
@cite{holliday-mandelkern-2024}
Possibility semantics generalizes possible world semantics by replacing maximal possible worlds with partial possibilities ordered by refinement. A possibility can verify a disjunction without verifying either disjunct.
Key differences from possible world semantics #
- Propositions are not arbitrary sets of possibilities but only regular sets — those satisfying a closure condition.
- Negation is orthocomplement: ¬A = {x | ∀y ◇ x, y ∉ A}.
- Disjunction is weaker than union: A ∨ B = ¬(¬A ∧ ¬B).
- The resulting algebra of propositions is an ortholattice, not a Boolean algebra.
What validates and what fails #
Validated: excluded middle, non-contradiction, double negation, De Morgan, contraposition. Failed: distributivity — a possibility can verify A ∧ (B ∨ C) without verifying either A ∧ B or A ∧ C. This is the key departure from classical logic and the source of linguistic applications (epistemic contradictions, free choice disjunction).
Architecture #
Basic.lean(this file): compatibility frames, orthocomplement, regularityEpistemic.lean: epistemic modals, Wittgenstein sentences, free choice
A compatibility frame: a set of possibilities with a reflexive, symmetric compatibility relation. Two possibilities are compatible if neither settles as true anything the other settles as false. @cite{holliday-mandelkern-2024} Definition 4.1.
- compat : S → S → Bool
Instances For
Orthocomplement negation. ¬A = {x | ∀y compatible with x, y ∉ A}. A possibility x makes ¬A true iff no compatible possibility makes A true — i.e., x's information settles ¬A. @cite{holliday-mandelkern-2024} Proposition 4.8, eq. (I).
Equations
- Semantics.PossibilitySemantics.orthoNeg F A x = (List.filter (F.compat x) Core.Proposition.FiniteWorlds.worlds).all fun (y : S) => !A y
Instances For
Conjunction is intersection (same as classical).
Equations
- Semantics.PossibilitySemantics.conj A B x = (A x && B x)
Instances For
Disjunction via De Morgan: A ∨ B = ¬(¬A ∧ ¬B). Weaker than set-theoretic union. A possibility x makes A ∨ B true iff every y compatible with x is itself compatible with some z that makes A or B true. @cite{holliday-mandelkern-2024} eq. (II).
Equations
- One or more equations did not get rendered due to their size.
Instances For
A set A is ◇-regular iff: whenever x ∉ A, there exists y compatible with x such that all z compatible with y are also not in A. Regularity = "indeterminacy implies compatibility with falsity." Only regular sets count as propositions. @cite{holliday-mandelkern-2024} Definition 4.3.
Equations
- One or more equations did not get rendered due to their size.
Instances For
Refinement: y ⊑ x iff every possibility compatible with y is also compatible with x. A refinement carries at least as much information. @cite{holliday-mandelkern-2024} Lemma 4.4, condition 2.
Equations
- Semantics.PossibilitySemantics.refines F y x = Core.Proposition.FiniteWorlds.worlds.all fun (z : S) => !F.compat y z || F.compat x z
Instances For
A world is a possibility that refines everything it is compatible with — the most informative kind of possibility. @cite{holliday-mandelkern-2024} Definition 4.6.
Equations
- Semantics.PossibilitySemantics.isWorld F w = Core.Proposition.FiniteWorlds.worlds.all fun (x : S) => !F.compat w x || Semantics.PossibilitySemantics.refines F w x
Instances For
Equations
- Semantics.PossibilitySemantics.instBEqPoss5.beq x✝ y✝ = (x✝.ctorIdx == y✝.ctorIdx)
Instances For
Equations
- One or more equations did not get rendered due to their size.
Instances For
Equations
- One or more equations did not get rendered due to their size.
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
Negation: ¬{x₁,x₂} = {x₄,x₅}.
Negation: ¬{x₄,x₅} = {x₁,x₂}.
Double negation: ¬¬A = A (involutive on regular sets).
Excluded middle: A ∨ ¬A = S (every possibility verifies it).
Non-contradiction: A ∧ ¬A = ∅ (no possibility verifies it).
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. @cite{holliday-mandelkern-2024} Example 4.11, Figure 8.
The LHS of distributivity at x₃: true (x₃ makes C ∧ (A ∨ B) true).
The RHS of distributivity at x₃: false (x₃ fails (C∧A) ∨ (C∧B)).
All propositions in the ortholattice are regular.
When compatibility is identity (every possibility is a world), orthocomplement reduces to Boolean negation and the ortholattice is Boolean. This is the sense in which possible-world semantics is a special case of possibility semantics. @cite{holliday-mandelkern-2024} Remark 4.9.
The identity compatibility frame: compat x y ↔ x = y.
Equations
Instances For
In the identity frame, orthoNeg is pointwise Boolean negation.