Documentation

Linglib.Theories.Semantics.Modality.Orthologic.Frames

Compatibility Frames (Possibility Semantics for Orthologic) #

@cite{holliday-mandelkern-2024}

Possibility semantics generalizes possible-worlds 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 #

Architecture #

This file (Frames.lean) is the substrate: compatibility frames, orthonegation, regularity, refinement, worlds, and the classical-collapse theorem under identity compatibility. The modal extension (□, ◇, T-axiom) lives in Modal.lean; the abstract OrthocomplementedLattice typeclass is upstream substrate at Linglib.Core.Order.Ortholattice; the OrthocomplementedLattice instance for the regular subsets of a frame lives in RegularProp.lean.

Paper-specific instantiations of the substrate (the five-possibility path frame Poss5, the Epistemic Scale, ortholattice failures of distributivity / orthomodularity / pseudocomplementation, and the two-world lifting) live in Phenomena/Modality/Studies/HollidayMandelkern2024.lean.

Conventions #

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.

Decidability of compat is not bundled — provide a DecidableRel instance separately for each concrete frame.

  • compat : SSProp
  • compat_refl (x : S) : self.compat x x
  • compat_symm (x y : S) : self.compat x y self.compat y x
Instances For
    def Semantics.Modality.Orthologic.orthoNeg {S : Type u_1} (F : CompatFrame S) (A : Set S) :
    Set S

    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. (1).

    Equations
    Instances For
      @[simp]
      theorem Semantics.Modality.Orthologic.mem_orthoNeg {S : Type u_1} (F : CompatFrame S) (A : Set S) (x : S) :
      x orthoNeg F A ∀ (y : S), F.compat x yyA
      @[implicit_reducible]
      instance Semantics.Modality.Orthologic.instDecidableMemSetOrthoNegOfFintypeOfDecidableRelCompatOfDecidablePred {S : Type u_1} [Fintype S] (F : CompatFrame S) [DecidableRel F.compat] (A : Set S) [DecidablePred fun (x : S) => x A] (x : S) :
      Decidable (x orthoNeg F A)
      Equations
      @[implicit_reducible]
      instance Semantics.Modality.Orthologic.orthoNeg_apply_decidable {S : Type u_1} [Fintype S] (F : CompatFrame S) [DecidableRel F.compat] (A : Set S) [DecidablePred A] (x : S) :
      Decidable (orthoNeg F A x)

      Application-form alias of the membership-form Decidable instance, for goals that reduce orthoNeg F A x instead of x ∈ orthoNeg F A. Uses DecidablePred A (not DecidablePred (· ∈ A)) so it synthesises from the standard instance : DecidablePred A users define.

      Equations
      @[reducible, inline]
      abbrev Semantics.Modality.Orthologic.conj {S : Type u_1} (A B : Set S) :
      Set S

      Conjunction is intersection (transparent alias for Set.inter). Kept as a named operation for symmetry with disj in study-file theorems; conj A B = A ∩ B definitionally.

      Equations
      Instances For
        def Semantics.Modality.Orthologic.disj {S : Type u_1} (F : CompatFrame S) (A B : Set S) :
        Set S

        Disjunction via De Morgan: A ∨ B = ¬(¬A ∩ ¬B). Strictly 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 (the unpacked form, paper eq. (2)). @cite{holliday-mandelkern-2024} Proposition 4.8, eq. (2).

        Equations
        Instances For
          @[implicit_reducible]
          instance Semantics.Modality.Orthologic.instDecidableMemSetDisjOfFintypeOfDecidableRelCompatOfDecidablePred {S : Type u_1} [Fintype S] (F : CompatFrame S) [DecidableRel F.compat] (A B : Set S) [DecidablePred fun (x : S) => x A] [DecidablePred fun (x : S) => x B] (x : S) :
          Decidable (x disj F A B)
          Equations
          @[implicit_reducible]
          instance Semantics.Modality.Orthologic.disj_apply_decidable {S : Type u_1} [Fintype S] (F : CompatFrame S) [DecidableRel F.compat] (A B : Set S) [DecidablePred A] [DecidablePred B] (x : S) :
          Decidable (disj F A B x)
          Equations
          • One or more equations did not get rendered due to their size.
          @[implicit_reducible]
          instance Semantics.Modality.Orthologic.conj_apply_decidable {S : Type u_1} (A B : Set S) [DecidablePred A] [DecidablePred B] (x : S) :
          Decidable (conj A B x)
          Equations

          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
          Instances For
            @[implicit_reducible]
            instance Semantics.Modality.Orthologic.instDecidableIsRegularOfFintypeOfDecidableRelCompatOfDecidablePredMemSet {S : Type u_1} [Fintype S] (F : CompatFrame S) [DecidableRel F.compat] (A : Set S) [DecidablePred fun (x : S) => x A] :
            Decidable (isRegular F A)
            Equations
            @[implicit_reducible]
            instance Semantics.Modality.Orthologic.isRegular_apply_decidable {S : Type u_1} [Fintype S] (F : CompatFrame S) [DecidableRel F.compat] (A : Set S) [DecidablePred A] :
            Decidable (isRegular F A)

            Application-form alias for isRegular so decide finds it from [DecidablePred A] instances directly.

            Equations

            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
            Instances For
              @[implicit_reducible]
              instance Semantics.Modality.Orthologic.instDecidableRefinesOfFintypeOfDecidableRelCompat {S : Type u_1} [Fintype S] (F : CompatFrame S) [DecidableRel F.compat] (y x : S) :
              Decidable (refines F y x)
              Equations

              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
              Instances For
                @[implicit_reducible]
                instance Semantics.Modality.Orthologic.instDecidableIsWorldOfFintypeOfDecidableRelCompat {S : Type u_1} [Fintype S] (F : CompatFrame S) [DecidableRel F.compat] (w : S) :
                Decidable (isWorld F w)
                Equations
                theorem Semantics.Modality.Orthologic.orthoNeg_classical {S : Type u_1} (F : CompatFrame S) (hClassical : ∀ (x y : S), F.compat x yx = y) (A : Set S) (x : S) :
                x orthoNeg F A xA

                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 characterizes Boolean collapse as compatibility-implies-compossibility; the identity frame below is the simplest instance of that condition.

                The identity compatibility frame: compat x y ↔ x = y.

                Equations
                Instances For
                  @[implicit_reducible]
                  Equations
                  theorem Semantics.Modality.Orthologic.identityFrame_classical {S : Type u_1} [DecidableEq S] (A : Set S) (x : S) :
                  x orthoNeg identityFrame A xA

                  In the identity frame, orthoNeg is pointwise negation.

                  def Semantics.Modality.Orthologic.regularClosure {S : Type u_1} (F : CompatFrame S) :
                  ClosureOperator (Set S)

                  The c_◇ closure operator on Set S for a compatibility frame F, mapping A ↦ {x | ∀ y ◇ x, ∃ z ◇ y, z ∈ A}. The fixed points of regularClosure F are precisely the ◇-regular sets — making RegularProp F = (regularClosure F).fixedPoints a mathlib-typed closure-operator-based construction. @cite{holliday-mandelkern-2024} footnote 19 (page 858 of the published JPL version).

                  Equations
                  • One or more equations did not get rendered due to their size.
                  Instances For
                    @[simp]
                    theorem Semantics.Modality.Orthologic.mem_regularClosure {S : Type u_1} (F : CompatFrame S) (A : Set S) (x : S) :
                    x (regularClosure F) A ∀ (y : S), F.compat x y∃ (z : S), F.compat y z z A